# @configure_input@
SHELL=/usr/bin/env bash
ifeq (@CROSS_COMPILING@,YES)
CROSS_TOOLSET_RULE:=cross-build-toolset
else
CROSS_TOOLSET_RULE:=
endif
ifeq ($(filter all check unitcheck,$(MAKECMDGOALS)),)
gb_MAKETARGET=build
else
# fail early
gb_MAKETARGET=all
endif
.PHONY : build dev-install all cross-build-toolset install distro-pack-install clean clean-host clean-build distclean findunusedcode
all: build unitcheck
@echo
@echo "LibreOffice build succesfully finished :-)"
@echo
ifeq (@CROSS_COMPILING@,YES)
@echo "Please consult README.cross how to install it."
else
@echo "To install, issue: @GNUMAKE@ install"
@echo "Developers might prefer this way: @GNUMAKE@ dev-install -o build"
@echo "To run smoketest, issue: @GNUMAKE@ check"
endif
@echo
build: Makefile dmake/dmake@EXEEXT_FOR_BUILD@ src.downloaded $(CROSS_TOOLSET_RULE)
@. ./Env.Host.sh && \
cd instsetoo_native && \
gb_MAKETARGET=$(gb_MAKETARGET) build.pl -P@BUILD_NCPUS@ --all -- -P@BUILD_MAX_JOBS@
dev-install: build
@. ./Env.Host.sh && \
cd smoketestoo_native && \
build.pl -P@BUILD_NCPUS@ -- -P@BUILD_MAX_JOBS@ && \
rm -f "@abs_builddir@"/install && \
ln -s "$$SOLARVER/$$INPATH"/installation/opt/ \
"@abs_builddir@"/install && \
printf '\n' && \
printf \
'\nDeveloper installation finished, you can now execute:\n\n' \
&& \
if test `uname -s` = Darwin; then \
printf 'open %s/install/LibreOffice.app\n' "@abs_builddir@"; \
else \
printf 'cd %s/install/program\n. ./ooenv\n./soffice.bin\n' \
"@abs_builddir@"; \
fi
check : allcheck
@true
%check:
@. ./Env.Host.sh && $$GNUMAKE -f "$$SRC_ROOT"/GNUmakefile.mk -r \
$(if @VERBOSE@,,-s) --jobs="$(if \
$(CHECK_PARALLELISM),$(CHECK_PARALLELISM),@GMAKE_PARALLELISM@)" \
$(patsubst allcheck,check,$@)
cross-build-toolset:
@. ./Env.Build.sh && \
cd cross_toolset && \
build.pl -P@BUILD_NCPUS@ --all -- -P@BUILD_MAX_JOBS@
install: build
@. ./Env.Host.sh && \
echo "Installing in @INSTALLDIR@..." && \
ooinstall "@INSTALLDIR@" && \
echo "" && \
echo "Installation finished, you can now execute:" && \
echo "@INSTALLDIR@/program/soffice"
distro-pack-install: install
./bin/distro-install-clean-up
./bin/distro-install-desktop-integration
./bin/distro-install-sdk
./bin/distro-install-file-lists
distclean: clean
ifeq (@BUILD_DMAKE@,YES)
-test -f dmake/Makefile && $(MAKE) -C dmake distclean
endif
rm -rf Env.Host.sh Makefile aclocal.m4 autogen.lastrun autom4te.cache \
bin/repo-list build_env config.log config.status configure \
desktop/scripts/soffice.sh ooo.lst post_download post_download.log \
set_soenv set_soenv.last set_soenv.stamp src.downloaded warn
clean: clean-host clean-build
clean-host:
. ./Env.Host.sh && \
rm -rf */$$INPATH && \
rm -rf install
clean-build:
ifeq (@BUILD_DMAKE@,YES)
. ./Env.Host.sh && \
(if [ -f dmake/Makefile ] ; then $$GNUMAKE -C dmake clean; fi) && \
rm -f solenv/*/bin/dmake*
endif
ifeq (@CROSS_COMPILING@,YES)
. ./Env.Host.sh && \
rm -rf */$$INPATH_FOR_BUILD
endif
dmake/dmake@EXEEXT_FOR_BUILD@:
./bootstrap
src.downloaded: ooo.lst download
ifeq (@DO_FETCH_TARBALLS@,YES)
@. ./Env.Host.sh && \
$$SRC_ROOT/download $$SRC_ROOT/ooo.lst && touch $@
else
@echo "Automatic fetching of external tarballs is disabled."
endif
fetch: src.downloaded
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),distclean)
Makefile: autogen.lastrun configure.in ooo.lst.in set_soenv.in Makefile.in
./autogen.sh
endif
endif
id:
@. ./Env.Host.sh && \
create-ids
tags:
@. ./Env.Host.sh && \
create-tags
docs:
@. ./Env.Host.sh && \
mkdocs.sh $$SRC_ROOT/docs $$SOLARENV/inc/doxygen.cfg
findunusedcode:
# experimental callcatcher target
# http://www.skynet.ie/~caolan/Packages/callcatcher.html
@which callcatcher > /dev/null 2>&1 || \
(echo "callcatcher not installed" && false)
@. ./Env.Host.sh && \
mkdir -p $$SRC_ROOT/solenv/callcatcher/bin && \
ln -sf $$SRC_ROOT/solenv/$$INPATH/bin/dmake \
$$SRC_ROOT/solenv/callcatcher/bin/dmake && \
source <(sed -e s,$$INPATH,callcatcher,g ./Env.Host.sh) && \
. ./solenv/bin/callcatchEnv.Set.sh && \
cd instsetoo_native && \
build.pl -P@BUILD_NCPUS@ --all -- -P@BUILD_MAX_JOBS@
@. ./Env.Host.sh && \
source <(sed -e s,$$INPATH,callcatcher,g ./Env.Host.sh) && \
callanalyse \
$$WORKDIR/LinkTarget/*/* \
*/$$OUTPATH/bin/* \
*/$$OUTPATH/lib/* > unusedcode.all
#because non-c++ symbols could be dlsymed lets make a list of class level
#unused methods which don't require much effort to determine if they need
#to be just removed, or put behind appropiate platform or debug level ifdefs
@grep ::.*\( unusedcode.all | grep -v ^cppu:: > unusedcode.easy
#as long as we are not completely gbuildified we need to explicitly depend on the build/install
unitcheck: build
subsequentcheck: dev-install
allcheck : dev-install
/collabora/lov-6.1
LibreOffice 核心代码仓库 | 文档基金会 |