Avoid silly -Lno_x_libraries (for Android, which is Linux, but without X11)
[LibreOffice.git] / Makefile.in
blob24a73b79d089f06955fd9e6e42e309d10c0acbdb
1 # @configure_input@
3 SHELL=/usr/bin/env bash
5 ifeq (@CROSS_COMPILING@,YES)
6 CROSS_TOOLSET_RULE:=cross-build-toolset
7 else
8 CROSS_TOOLSET_RULE:=
9 endif
11 ifeq ($(filter all check unitcheck,$(MAKECMDGOALS)),)
12 gb_MAKETARGET=build
13 else
14 # fail early
15 gb_MAKETARGET=all
16 endif
18 .PHONY : build dev-install all cross-build-toolset install distro-pack-install clean clean-host clean-build distclean findunusedcode
20 all: build unitcheck
21 @echo
22 @echo "LibreOffice build succesfully finished :-)"
23 @echo
24 ifeq (@CROSS_COMPILING@,YES)
25 @echo "Please consult README.cross how to install it."
26 else
27 @echo "To install, issue: @GNUMAKE@ install"
28 @echo "Developers might prefer this way: @GNUMAKE@ dev-install -o build"
29 @echo "To run smoketest, issue: @GNUMAKE@ check"
30 endif
31 @echo
33 build: Makefile dmake/dmake@EXEEXT_FOR_BUILD@ src.downloaded $(CROSS_TOOLSET_RULE)
34 @. ./Env.Host.sh && \
35 cd instsetoo_native && \
36 gb_MAKETARGET=$(gb_MAKETARGET) build.pl -P@BUILD_NCPUS@ --all -- -P@BUILD_MAX_JOBS@
38 dev-install: build
39 @. ./Env.Host.sh && \
40 cd smoketestoo_native && \
41 build.pl -P@BUILD_NCPUS@ -- -P@BUILD_MAX_JOBS@ && \
42 rm -f "@abs_builddir@"/install && \
43 ln -s "$$SOLARVER/$$INPATH"/installation/opt/ \
44 "@abs_builddir@"/install && \
45 printf '\n' && \
46 printf \
47 '\nDeveloper installation finished, you can now execute:\n\n' \
48 && \
49 if test `uname -s` = Darwin; then \
50 printf 'open %s/install/LibreOffice.app\n' "@abs_builddir@"; \
51 else \
52 printf 'cd %s/install/program\n. ./ooenv\n./soffice.bin\n' \
53 "@abs_builddir@"; \
56 check : allcheck
57 @true
59 %check:
60 @. ./Env.Host.sh && $$GNUMAKE -f "$$SRC_ROOT"/GNUmakefile.mk -r \
61 $(if @VERBOSE@,,-s) --jobs="$(if \
62 $(CHECK_PARALLELISM),$(CHECK_PARALLELISM),@GMAKE_PARALLELISM@)" \
63 $(patsubst allcheck,check,$@)
65 cross-build-toolset:
66 @. ./Env.Build.sh && \
67 cd cross_toolset && \
68 build.pl -P@BUILD_NCPUS@ --all -- -P@BUILD_MAX_JOBS@
70 install: build
71 @. ./Env.Host.sh && \
72 echo "Installing in @INSTALLDIR@..." && \
73 ooinstall "@INSTALLDIR@" && \
74 echo "" && \
75 echo "Installation finished, you can now execute:" && \
76 echo "@INSTALLDIR@/program/soffice"
78 distro-pack-install: install
79 ./bin/distro-install-clean-up
80 ./bin/distro-install-desktop-integration
81 ./bin/distro-install-sdk
82 ./bin/distro-install-file-lists
84 distclean: clean
85 ifeq (@BUILD_DMAKE@,YES)
86 -test -f dmake/Makefile && $(MAKE) -C dmake distclean
87 endif
88 rm -rf Env.Host.sh Makefile aclocal.m4 autogen.lastrun autom4te.cache \
89 bin/repo-list config.log config.status configure \
90 desktop/scripts/soffice.sh ooo.lst post_download post_download.log \
91 set_soenv set_soenv.last set_soenv.stamp src.downloaded warn
93 clean: clean-host clean-build
95 clean-host:
96 . ./Env.Host.sh && \
97 rm -rf */$$INPATH && \
98 rm -rf install
100 clean-build:
101 ifeq (@BUILD_DMAKE@,YES)
102 . ./Env.Host.sh && \
103 (if [ -f dmake/Makefile ] ; then $$GNUMAKE -C dmake clean; fi) && \
104 rm -f solenv/*/bin/dmake*
105 endif
106 ifeq (@CROSS_COMPILING@,YES)
107 . ./Env.Host.sh && \
108 rm -rf */$$INPATH_FOR_BUILD
109 endif
111 dmake/dmake@EXEEXT_FOR_BUILD@:
112 ./bootstrap
114 src.downloaded: ooo.lst download
115 ifeq (@DO_FETCH_TARBALLS@,YES)
116 @. ./Env.Host.sh && \
117 $$SRC_ROOT/download $$SRC_ROOT/ooo.lst && touch $@
118 else
119 @echo "Automatic fetching of external tarballs is disabled."
120 endif
122 fetch: src.downloaded
124 Makefile: autogen.lastrun configure.in ooo.lst.in set_soenv.in Makefile.in
125 ./autogen.sh
128 @. ./Env.Host.sh && \
129 create-ids
131 tags:
132 @. ./Env.Host.sh && \
133 create-tags
135 docs:
136 @. ./Env.Host.sh && \
137 mkdocs.sh $$SRC_ROOT/docs $$SOLARENV/inc/doxygen.cfg
139 findunusedcode:
140 # experimental callcatcher target
141 # http://www.skynet.ie/~caolan/Packages/callcatcher.html
142 @which callcatcher > /dev/null 2>&1 || \
143 (echo "callcatcher not installed" && false)
144 @. ./Env.Host.sh && \
145 mkdir -p $$SRC_ROOT/solenv/callcatcher/bin && \
146 ln -sf $$SRC_ROOT/solenv/$$INPATH/bin/dmake \
147 $$SRC_ROOT/solenv/callcatcher/bin/dmake && \
148 source <(sed -e s,$$INPATH,callcatcher,g ./Env.Host.sh) && \
149 . ./solenv/bin/callcatchEnv.Set.sh && \
150 cd instsetoo_native && \
151 build.pl -P@BUILD_NCPUS@ --all -- -P@BUILD_MAX_JOBS@
152 @. ./Env.Host.sh && \
153 source <(sed -e s,$$INPATH,callcatcher,g ./Env.Host.sh) && \
154 callanalyse \
155 $$WORKDIR/LinkTarget/*/* \
156 */$$OUTPATH/bin/* \
157 */$$OUTPATH/lib/* > unusedcode.all
158 #because non-c++ symbols could be dlsymed lets make a list of class level
159 #unused methods which don't require much effort to determine if they need
160 #to be just removed, or put behind appropiate platform or debug level ifdefs
161 @grep ::.*\( unusedcode.all | grep -v ^cppu:: > unusedcode.easy
163 #as long as we are not completely gbuildified we need to explicitly depend on the build/install
164 unitcheck: build
165 subsequentcheck: dev-install
166 allcheck : dev-install