split up top-level Makefile:
The top-level Makefile invokes autogen.sh (and thereby configure) in an environment which is polluted by config_host.mk; this causes at least the problem that following a "make clean", the bootstrap script will not copy dmake to its destination because BUILD_DMAKE=NO is set from config_host.mk, which is apparently due to the PATH being polluted from config_host.mk, so configure finds the dmake in the build tree. So split up top-level Makefile into Makefile, which invokes autogen.sh, and Makefile.top, which does everything else.
This commit is contained in:
parent
db6dd09720
commit
b0b92d1e5f
2 changed files with 524 additions and 508 deletions
528
Makefile
528
Makefile
|
@ -1,525 +1,37 @@
|
|||
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
|
||||
#
|
||||
# Copyright 2012 LibreOffice contributors.
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
|
||||
.PHONY : all bootstrap build check clean clean-build clean-host dev-install distclean distro-pack-install docs fetch findunusedcode id install install-strip subsequentcheck tags
|
||||
|
||||
# must not be empty so we can have a target for it
|
||||
ifeq ($(MAKECMDGOALS),)
|
||||
MAKECMDGOALS:=all
|
||||
endif
|
||||
|
||||
all: build
|
||||
|
||||
SHELL=/usr/bin/env bash
|
||||
SRCDIR:=$(patsubst %/,%,$(dir $(realpath $(firstword $(MAKEFILE_LIST)))))
|
||||
|
||||
ifeq ($(gb_Side),)
|
||||
gb_Side:=host
|
||||
endif
|
||||
.PHONY : $(filter-out $(SRCDIR)/config_host.mk,$(MAKECMDGOALS))
|
||||
|
||||
include $(SRCDIR)/config_$(gb_Side).mk
|
||||
# recursively invoke Makefile.top, which includes config_host.mk
|
||||
$(firstword $(MAKECMDGOALS)) : $(SRCDIR)/config_host.mk
|
||||
$(MAKE) -r -f $(SRCDIR)/Makefile.top $(MAKECMDGOALS)
|
||||
|
||||
ifeq ($(GMAKE_OPTIONS),)
|
||||
ifeq ($(verbose),)
|
||||
export GMAKE_OPTIONS:=-rs
|
||||
else
|
||||
export GMAKE_OPTIONS:=-r
|
||||
endif
|
||||
endif
|
||||
|
||||
gbuild_modules:= \
|
||||
MathMLDTD\
|
||||
Mesa\
|
||||
UnoControls\
|
||||
accessibility\
|
||||
animations\
|
||||
apple_remote\
|
||||
avmedia\
|
||||
basctl\
|
||||
basebmp\
|
||||
basegfx\
|
||||
basic\
|
||||
bean\
|
||||
binaryurp\
|
||||
canvas\
|
||||
chart2\
|
||||
clucene\
|
||||
codemaker\
|
||||
comphelper\
|
||||
configmgr\
|
||||
cppcanvas\
|
||||
cppu\
|
||||
cppuhelper\
|
||||
cpputools\
|
||||
cui\
|
||||
dbaccess\
|
||||
desktop\
|
||||
drawinglayer\
|
||||
dtrans\
|
||||
editeng\
|
||||
embeddedobj\
|
||||
embedserv\
|
||||
eventattacher\
|
||||
extensions\
|
||||
fileaccess\
|
||||
filter\
|
||||
forms\
|
||||
formula\
|
||||
fpicker\
|
||||
framework\
|
||||
hwpfilter\
|
||||
i18npool\
|
||||
i18nutil\
|
||||
idl\
|
||||
idlc\
|
||||
io\
|
||||
javaunohelper\
|
||||
jurt\
|
||||
jvmaccess\
|
||||
jvmfwk\
|
||||
l10ntools\
|
||||
lingucomponent\
|
||||
linguistic\
|
||||
lotuswordpro\
|
||||
nlpsolver\
|
||||
np_sdk\
|
||||
o3tl\
|
||||
offapi\
|
||||
officecfg\
|
||||
oovbaapi\
|
||||
oox\
|
||||
package\
|
||||
packimages\
|
||||
padmin\
|
||||
psprint_config\
|
||||
qadevOOo\
|
||||
regexp\
|
||||
registry\
|
||||
reportdesign\
|
||||
rdbmaker\
|
||||
ridljar\
|
||||
rsc\
|
||||
sal\
|
||||
salhelper\
|
||||
sane\
|
||||
sax\
|
||||
sc\
|
||||
scaddins\
|
||||
sccomp\
|
||||
scripting\
|
||||
sd\
|
||||
sdext\
|
||||
sfx2\
|
||||
slideshow\
|
||||
smoketest\
|
||||
sot\
|
||||
starmath\
|
||||
stoc\
|
||||
store\
|
||||
svl\
|
||||
svtools\
|
||||
svx\
|
||||
sw\
|
||||
swext\
|
||||
tail_build\
|
||||
test\
|
||||
toolkit\
|
||||
tools\
|
||||
translations\
|
||||
twain\
|
||||
ucb\
|
||||
ucbhelper\
|
||||
udkapi\
|
||||
unixODBC\
|
||||
unodevtools\
|
||||
unoil\
|
||||
unotest\
|
||||
unotools\
|
||||
unoxml\
|
||||
ure\
|
||||
uui\
|
||||
vbahelper\
|
||||
vcl\
|
||||
wizards\
|
||||
writerfilter\
|
||||
writerperfect\
|
||||
xmerge\
|
||||
xml2cmp\
|
||||
xmlhelp\
|
||||
xmloff\
|
||||
xmlreader\
|
||||
xmlscript\
|
||||
xmlsecurity\
|
||||
|
||||
dmake_modules:=\
|
||||
afms\
|
||||
apache-commons\
|
||||
autodoc\
|
||||
beanshell\
|
||||
berkeleydb\
|
||||
binfilter \
|
||||
boost\
|
||||
bridges\
|
||||
cairo\
|
||||
cli_ure\
|
||||
connectivity\
|
||||
cosv\
|
||||
cppunit\
|
||||
crashrep\
|
||||
ct2n\
|
||||
curl\
|
||||
dictionaries \
|
||||
epm\
|
||||
expat\
|
||||
external\
|
||||
extras\
|
||||
fontconfig\
|
||||
freetype\
|
||||
gdk-pixbuf\
|
||||
gettext\
|
||||
glib\
|
||||
graphite\
|
||||
helpcontent2 \
|
||||
hsqldb\
|
||||
hunspell\
|
||||
hyphen\
|
||||
icc\
|
||||
icu\
|
||||
instsetoo_native\
|
||||
jfreereport\
|
||||
jpeg\
|
||||
languagetool\
|
||||
libcdr\
|
||||
libcmis\
|
||||
libcroco\
|
||||
libexttextcat\
|
||||
libgsf\
|
||||
libpng\
|
||||
librsvg\
|
||||
libvisio\
|
||||
libwpd\
|
||||
libwpg\
|
||||
libwps\
|
||||
libxml2\
|
||||
libxmlsec\
|
||||
libxslt\
|
||||
lcms2\
|
||||
lpsolve\
|
||||
lucene\
|
||||
mdds\
|
||||
migrationanalysis\
|
||||
more_fonts\
|
||||
moz\
|
||||
mysqlc\
|
||||
mysqlcppconn\
|
||||
mythes\
|
||||
neon\
|
||||
nss\
|
||||
odk\
|
||||
openssl\
|
||||
pango\
|
||||
postgresql\
|
||||
postprocess\
|
||||
python\
|
||||
pyuno\
|
||||
readlicense_oo\
|
||||
redland\
|
||||
remotebridges\
|
||||
reportbuilder\
|
||||
rhino\
|
||||
saxon\
|
||||
scp2\
|
||||
setup_native\
|
||||
shell\
|
||||
solenv\
|
||||
soltools\
|
||||
stax\
|
||||
stlport\
|
||||
sysui\
|
||||
testtools\
|
||||
tomcat\
|
||||
udm\
|
||||
vigra\
|
||||
x11_extensions\
|
||||
xpdf\
|
||||
xsltml\
|
||||
zlib\
|
||||
|
||||
gb_TAILBUILDMODULES := $(shell make -f $(SRCDIR)/tail_build/Makefile showmodules)
|
||||
export gb_TAILBUILDTARGET=all slowcheck
|
||||
|
||||
define gbuild_module_rules
|
||||
.PHONY: $(1) $(1).all $(1).clean $(1).deliver
|
||||
|
||||
$(1): bootstrap fetch
|
||||
cd $(1) && $(GNUMAKE) -j $(GMAKE_PARALLELISM) $(GMAKE_OPTIONS) gb_PARTIALBUILD=T
|
||||
|
||||
ifeq ($(filter $(1),$(gb_TAILBUILDMODULES)),)
|
||||
$(1).all: bootstrap fetch
|
||||
cd $(1) && unset MAKEFLAGS && \
|
||||
$(SOLARENV)/bin/build.pl -P$(BUILD_NCPUS) --all -- -P$(GMAKE_PARALLELISM)
|
||||
else
|
||||
$(1).all: bootstrap fetch
|
||||
cd tail_build && unset MAKEFLAGS && \
|
||||
export gb_TAILBUILDTARGET="$(WORKDIR)/Module/$(1) $(WORKDIR)/Module/check/$(1) $(WORKDIR)/Module/slowcheck/$(1)" && \
|
||||
$(SOLARENV)/bin/build.pl -P$(BUILD_NCPUS) --all -- -P$(GMAKE_PARALLELISM)
|
||||
endif
|
||||
|
||||
$(1).clean:
|
||||
cd $(1) && $(GNUMAKE) -j $(GMAKE_PARALLELISM) $(GMAKE_OPTIONS) clean gb_PARTIALBUILD=T
|
||||
|
||||
$(1).subsequentcheck:
|
||||
cd $(1) && $(GNUMAKE) -j $(GMAKE_PARALLELISM) $(GMAKE_OPTIONS) subsequentcheck gb_PARTIALBUILD=T
|
||||
|
||||
$(1).deliver:
|
||||
@true
|
||||
|
||||
endef
|
||||
|
||||
define gbuild_modules_rules
|
||||
$(foreach m,$(1),$(call gbuild_module_rules,$(m)))
|
||||
endef
|
||||
|
||||
define dmake_module_rules
|
||||
.PHONY: $(1) $(1).all $(1).deliver $(1).clean
|
||||
|
||||
$(1): bootstrap fetch
|
||||
cd $(1) && unset MAKEFLAGS && \
|
||||
$(SOLARENV)/bin/build.pl -P$(BUILD_NCPUS) -- -P$(GMAKE_PARALLELISM)
|
||||
|
||||
$(1).all: bootstrap fetch
|
||||
cd $(1) && unset MAKEFLAGS && \
|
||||
$(SOLARENV)/bin/build.pl -P$(BUILD_NCPUS) --all -- -P$(GMAKE_PARALLELISM)
|
||||
|
||||
$(1).deliver: $(1)
|
||||
cd $(1) && $(SOLARENV)/bin/deliver.pl
|
||||
|
||||
$(1).clean:
|
||||
cd $(1) && $(SOLARENV)/bin/deliver.pl -delete
|
||||
rm -fr $(1)/$(INPATH)
|
||||
|
||||
endef
|
||||
|
||||
define dmake_modules_rules
|
||||
$(foreach m,$(1),$(call dmake_module_rules,$(m)))
|
||||
endef
|
||||
|
||||
#
|
||||
# Partial Build
|
||||
#
|
||||
$(eval $(call gbuild_modules_rules,$(gbuild_modules)))
|
||||
|
||||
$(eval $(call dmake_modules_rules,$(dmake_modules)))
|
||||
|
||||
#
|
||||
# Clean
|
||||
#
|
||||
clean: clean-host clean-build
|
||||
|
||||
clean-host:
|
||||
rm -fr $(DEVINSTALLDIR)
|
||||
rm -fr $(SOLARVER)/$(INPATH) # not necessarily below SRCDIR
|
||||
rm -fr $(SRCDIR)/*/$(INPATH)
|
||||
rm -fr install
|
||||
|
||||
clean-build:
|
||||
ifeq ($(CROSS_COMPILING),YES)
|
||||
rm -rf $(SOLARVER)/$(INPATH_FOR_BUILD) # not necessarily below SRCDIR
|
||||
rm -rf $(SRCDIR)/*/$(INPATH_FOR_BUILD)
|
||||
endif
|
||||
|
||||
#
|
||||
# Distclean
|
||||
#
|
||||
distclean : clean
|
||||
ifeq ($(BUILD_DMAKE),YES)
|
||||
(if [ -f dmake/Makefile ] ; then $(GNUMAKE) -j $(GMAKE_PARALLELISM) -C dmake distclean; fi) && \
|
||||
rm -f solenv/*/bin/dmake*
|
||||
endif
|
||||
rm -fr config_host.mk config_build.mk aclocal.m4 autom4te.cache \
|
||||
bin/repo-list config.log config.status configure \
|
||||
ooo.lst post_download post_download.log \
|
||||
config_host.mk.last set_soenv.stamp src.downloaded warn
|
||||
find $(SOLARENV)/gdb -name "*.pyc" -exec rm {} \;
|
||||
|
||||
#
|
||||
# custom command
|
||||
#
|
||||
ifneq ( $(MAKECMDGOALS),cmd)
|
||||
cmd:
|
||||
echo "custom cmd" && ( $(cmd) )
|
||||
|
||||
endif
|
||||
|
||||
ifneq ($(filter-out clean distclean,$(MAKECMDGOALS)),)
|
||||
#
|
||||
# Makefile
|
||||
#
|
||||
|
||||
# I don't like to touch stuff that are supposed to be
|
||||
# in the source tree, hence read-only
|
||||
# but I couldn't find a way to get make to
|
||||
# restart after an autogen. and we _have_ to
|
||||
# restart since autogen can have changed
|
||||
# config_host.mk which is included in this
|
||||
# Makefile
|
||||
|
||||
Makefile: $(SRCDIR)/config_host.mk
|
||||
touch $@
|
||||
|
||||
$(SRCDIR)/config_host.mk: config_host.mk.in bin/repo-list.in ooo.lst.in configure.in autogen.lastrun
|
||||
# run configure in an environment not polluted by config_host.mk
|
||||
$(SRCDIR)/config_host.mk : \
|
||||
$(SRCDIR)/config_host.mk.in \
|
||||
$(SRCDIR)/bin/repo-list.in \
|
||||
$(SRCDIR)/ooo.lst.in \
|
||||
$(SRCDIR)/configure.in \
|
||||
$(SRCDIR)/autogen.lastrun
|
||||
./autogen.sh
|
||||
|
||||
# dummy rule in case autogen.lastrun does not exist
|
||||
autogen.lastrun:
|
||||
@true
|
||||
|
||||
#
|
||||
# Fetch
|
||||
#
|
||||
fetch: src.downloaded
|
||||
|
||||
src.downloaded : Makefile ooo.lst download
|
||||
ifeq ($(DO_FETCH_TARBALLS),YES)
|
||||
@./download $(SRCDIR)/ooo.lst && touch $@
|
||||
else
|
||||
@echo "Automatic fetching of external tarballs is disabled."
|
||||
endif
|
||||
|
||||
#
|
||||
# Bootstap
|
||||
#
|
||||
bootstrap: $(WORKDIR)/bootstrap
|
||||
|
||||
$(WORKDIR)/bootstrap:
|
||||
@cd $(SRCDIR) && ./bootstrap
|
||||
@mkdir -p $(dir $@) && touch $@
|
||||
|
||||
#
|
||||
# Build
|
||||
#
|
||||
build-packimages: bootstrap fetch $(if $(filter $(INPATH),$(INPATH_FOR_BUILD)),,cross-toolset)
|
||||
ifeq ($(DISABLE_SCRIPTING),TRUE)
|
||||
# We must get the headers from vbahelper "delivered" because
|
||||
# as we don't link to any libs from there they won't otherwise be, or
|
||||
# something. And we still do include those headers always even if the
|
||||
# libs aren't built in the --disable-scripting case. (Ifdefs for
|
||||
# DISABLE_SCRIPTING will be added to the code later as necessary.)
|
||||
$(GNUMAKE) vbahelper
|
||||
endif
|
||||
ifeq ($(DISABLE_DBCONNECTIVITY),TRUE)
|
||||
# Ditto for dbconnectivity in the --disable-database-connectivity case
|
||||
cd connectivity && sed -e 's/^\(export [A-Z0-9_]*=\)\(.*\)$$/\1"\2"/' <../config_host.mk >conftmp.sh && . conftmp.sh && rm conftmp.sh && $(SOLARENV)/bin/deliver.pl
|
||||
endif
|
||||
cd packimages && unset MAKEFLAGS && \
|
||||
$(SOLARENV)/bin/build.pl -P$(BUILD_NCPUS) --all -- -P$(GMAKE_PARALLELISM) && \
|
||||
make
|
||||
|
||||
build: build-packimages
|
||||
ifeq ($(OS_FOR_BUILD),WNT)
|
||||
cd instsetoo_native && unset MAKEFLAGS && $(SOLARENV)/bin/build.pl
|
||||
else
|
||||
cd instsetoo_native && unset MAKEFLAGS && \
|
||||
$(SOLARENV)/bin/build.pl -P$(BUILD_NCPUS) -- -P$(GMAKE_PARALLELISM)
|
||||
endif
|
||||
|
||||
cross-toolset: bootstrap fetch
|
||||
cd cross_toolset && $(GNUMAKE) -j $(GMAKE_PARALLELISM) $(GMAKE_OPTIONS)
|
||||
|
||||
|
||||
#
|
||||
# Install
|
||||
#
|
||||
|
||||
install:
|
||||
echo "Installing in $(INSTALLDIR)..." && \
|
||||
ooinstall "$(INSTALLDIR)" && \
|
||||
echo "" && \
|
||||
echo "Installation finished, you can now execute:" && \
|
||||
echo "$(INSTALLDIR)/program/soffice"
|
||||
|
||||
install-strip:
|
||||
echo "Installing and stripping binaries in $(INSTALLDIR)..." && \
|
||||
ooinstall --strip "$(INSTALLDIR)" && \
|
||||
echo "" && \
|
||||
echo "Installation finished, you can now execute:" && \
|
||||
echo "$(INSTALLDIR)/program/soffice"
|
||||
|
||||
dev-install: build
|
||||
@rm -rf $(DEVINSTALLDIR)
|
||||
@mkdir $(DEVINSTALLDIR)
|
||||
ifeq ($(DISABLE_LINKOO),TRUE)
|
||||
@ooinstall $(DEVINSTALLDIR)/opt
|
||||
@install-gdb-printers -L
|
||||
else
|
||||
@ooinstall -l $(DEVINSTALLDIR)/opt
|
||||
endif
|
||||
@rm -f $(SRCDIR)/install && ln -s $(DEVINSTALLDIR)/opt/ $(SRCDIR)/install
|
||||
|
||||
distro-pack-install: install
|
||||
$(SRCDIR)/bin/distro-install-clean-up
|
||||
$(SRCDIR)/bin/distro-install-desktop-integration
|
||||
$(SRCDIR)/bin/distro-install-sdk
|
||||
$(SRCDIR)/bin/distro-install-file-lists
|
||||
|
||||
id:
|
||||
@create-ids
|
||||
|
||||
tags:
|
||||
@create-tags
|
||||
|
||||
docs:
|
||||
@mkdocs.sh $(SRCDIR)/docs $(SOLARENV)/inc/doxygen.cfg
|
||||
|
||||
findunusedcode:
|
||||
@which callcatcher > /dev/null 2>&1 || \
|
||||
(echo "callcatcher not installed" && false)
|
||||
@sed -e s,$$INPATH,callcatcher,g $(SRCDIR)/config_host.mk | sed -e s,"export OOO_JUNIT_JAR=.*","export OOO_JUNIT_JAR=",g > $(SRCDIR)/config_host_callcatcher.mk
|
||||
@mkdir -p $(SRCDIR)/solenv/callcatcher/bin && \
|
||||
ln -sf $(SRCDIR)/solenv/$(INPATH)/bin/dmake \
|
||||
$(SRCDIR)/solenv/callcatcher/bin/dmake
|
||||
@$(GNUMAKE) -f $(SOLARENV)/bin/callcatcher.Makefile findunusedcode
|
||||
@grep ::.*\( unusedcode.all \
|
||||
| grep -v ^Atom \
|
||||
| grep -v ^boost:: \
|
||||
| grep -v ^CIcc \
|
||||
| grep -v ^CLuceneError:: \
|
||||
| grep -v ^cppu:: \
|
||||
| grep -v ^Dde \
|
||||
| grep -v ^graphite2:: \
|
||||
| grep -v ^jvmaccess:: \
|
||||
| grep -v ^libcdr:: \
|
||||
| grep -v ^libcmis:: \
|
||||
| grep -v ^libvisio:: \
|
||||
| grep -v ^libwpg:: \
|
||||
| grep -v ^libwps_tools_win:: \
|
||||
| grep -v ^lucene:: \
|
||||
| grep -v ^Matrix3d:: \
|
||||
| grep -v ^salhelper:: \
|
||||
| grep -v ^WP1 \
|
||||
| grep -v ^WP3 \
|
||||
| grep -v ^WP42 \
|
||||
| grep -v ^WP6 \
|
||||
| grep -v ^WPG \
|
||||
| grep -v ^WPS \
|
||||
| grep -v WPX \
|
||||
> unusedcode.easy
|
||||
|
||||
check: dev-install subsequentcheck
|
||||
|
||||
subsequentcheck :| $(if $(filter-out subsequentcheck,$(MAKECMDGOALS)),dev-install)
|
||||
$(GNUMAKE) -j $(GMAKE_PARALLELISM) $(GMAKE_OPTIONS) -f Makefile.post $@
|
||||
|
||||
debugrun:
|
||||
$(GNUMAKE) -j $(GMAKE_PARALLELISM) $(GMAKE_OPTIONS) -f Makefile.post $@
|
||||
|
||||
endif # not clean or distclean
|
||||
|
||||
|
||||
#########################
|
||||
# help
|
||||
#
|
||||
.PHONY: help
|
||||
help:
|
||||
@cat $(SRCDIR)/solenv/gbuild/gbuild.help.txt
|
||||
@true
|
||||
|
||||
|
||||
# vim: set noet sw=4 ts=4:
|
||||
|
|
504
Makefile.top
Normal file
504
Makefile.top
Normal file
|
@ -0,0 +1,504 @@
|
|||
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
|
||||
|
||||
.PHONY : all bootstrap build check clean clean-build clean-host dev-install distclean distro-pack-install docs fetch findunusedcode id install install-strip subsequentcheck tags
|
||||
|
||||
ifeq ($(MAKECMDGOALS),)
|
||||
MAKECMDGOALS:=all
|
||||
endif
|
||||
|
||||
all: build
|
||||
|
||||
SHELL=/usr/bin/env bash
|
||||
SRCDIR:=$(patsubst %/,%,$(dir $(realpath $(firstword $(MAKEFILE_LIST)))))
|
||||
|
||||
ifeq ($(gb_Side),)
|
||||
gb_Side:=host
|
||||
endif
|
||||
|
||||
include $(SRCDIR)/config_$(gb_Side).mk
|
||||
|
||||
ifeq ($(GMAKE_OPTIONS),)
|
||||
ifeq ($(verbose),)
|
||||
export GMAKE_OPTIONS:=-rs
|
||||
else
|
||||
export GMAKE_OPTIONS:=-r
|
||||
endif
|
||||
endif
|
||||
|
||||
gbuild_modules:= \
|
||||
MathMLDTD\
|
||||
Mesa\
|
||||
UnoControls\
|
||||
accessibility\
|
||||
animations\
|
||||
apple_remote\
|
||||
avmedia\
|
||||
basctl\
|
||||
basebmp\
|
||||
basegfx\
|
||||
basic\
|
||||
bean\
|
||||
binaryurp\
|
||||
canvas\
|
||||
chart2\
|
||||
clucene\
|
||||
codemaker\
|
||||
comphelper\
|
||||
configmgr\
|
||||
cppcanvas\
|
||||
cppu\
|
||||
cppuhelper\
|
||||
cpputools\
|
||||
cui\
|
||||
dbaccess\
|
||||
desktop\
|
||||
drawinglayer\
|
||||
dtrans\
|
||||
editeng\
|
||||
embeddedobj\
|
||||
embedserv\
|
||||
eventattacher\
|
||||
extensions\
|
||||
fileaccess\
|
||||
filter\
|
||||
forms\
|
||||
formula\
|
||||
fpicker\
|
||||
framework\
|
||||
hwpfilter\
|
||||
i18npool\
|
||||
i18nutil\
|
||||
idl\
|
||||
idlc\
|
||||
io\
|
||||
javaunohelper\
|
||||
jurt\
|
||||
jvmaccess\
|
||||
jvmfwk\
|
||||
l10ntools\
|
||||
lingucomponent\
|
||||
linguistic\
|
||||
lotuswordpro\
|
||||
nlpsolver\
|
||||
np_sdk\
|
||||
o3tl\
|
||||
offapi\
|
||||
officecfg\
|
||||
oovbaapi\
|
||||
oox\
|
||||
package\
|
||||
packimages\
|
||||
padmin\
|
||||
psprint_config\
|
||||
qadevOOo\
|
||||
regexp\
|
||||
registry\
|
||||
reportdesign\
|
||||
rdbmaker\
|
||||
ridljar\
|
||||
rsc\
|
||||
sal\
|
||||
salhelper\
|
||||
sane\
|
||||
sax\
|
||||
sc\
|
||||
scaddins\
|
||||
sccomp\
|
||||
scripting\
|
||||
sd\
|
||||
sdext\
|
||||
sfx2\
|
||||
slideshow\
|
||||
smoketest\
|
||||
sot\
|
||||
starmath\
|
||||
stoc\
|
||||
store\
|
||||
svl\
|
||||
svtools\
|
||||
svx\
|
||||
sw\
|
||||
swext\
|
||||
tail_build\
|
||||
test\
|
||||
toolkit\
|
||||
tools\
|
||||
translations\
|
||||
twain\
|
||||
ucb\
|
||||
ucbhelper\
|
||||
udkapi\
|
||||
unixODBC\
|
||||
unodevtools\
|
||||
unoil\
|
||||
unotest\
|
||||
unotools\
|
||||
unoxml\
|
||||
ure\
|
||||
uui\
|
||||
vbahelper\
|
||||
vcl\
|
||||
wizards\
|
||||
writerfilter\
|
||||
writerperfect\
|
||||
xmerge\
|
||||
xml2cmp\
|
||||
xmlhelp\
|
||||
xmloff\
|
||||
xmlreader\
|
||||
xmlscript\
|
||||
xmlsecurity\
|
||||
|
||||
dmake_modules:=\
|
||||
afms\
|
||||
apache-commons\
|
||||
autodoc\
|
||||
beanshell\
|
||||
berkeleydb\
|
||||
binfilter \
|
||||
boost\
|
||||
bridges\
|
||||
cairo\
|
||||
cli_ure\
|
||||
connectivity\
|
||||
cosv\
|
||||
cppunit\
|
||||
crashrep\
|
||||
ct2n\
|
||||
curl\
|
||||
dictionaries \
|
||||
epm\
|
||||
expat\
|
||||
external\
|
||||
extras\
|
||||
fontconfig\
|
||||
freetype\
|
||||
gdk-pixbuf\
|
||||
gettext\
|
||||
glib\
|
||||
graphite\
|
||||
helpcontent2 \
|
||||
hsqldb\
|
||||
hunspell\
|
||||
hyphen\
|
||||
icc\
|
||||
icu\
|
||||
instsetoo_native\
|
||||
jfreereport\
|
||||
jpeg\
|
||||
languagetool\
|
||||
libcdr\
|
||||
libcmis\
|
||||
libcroco\
|
||||
libexttextcat\
|
||||
libgsf\
|
||||
libpng\
|
||||
librsvg\
|
||||
libvisio\
|
||||
libwpd\
|
||||
libwpg\
|
||||
libwps\
|
||||
libxml2\
|
||||
libxmlsec\
|
||||
libxslt\
|
||||
lcms2\
|
||||
lpsolve\
|
||||
lucene\
|
||||
mdds\
|
||||
migrationanalysis\
|
||||
more_fonts\
|
||||
moz\
|
||||
mysqlc\
|
||||
mysqlcppconn\
|
||||
mythes\
|
||||
neon\
|
||||
nss\
|
||||
odk\
|
||||
openssl\
|
||||
pango\
|
||||
postgresql\
|
||||
postprocess\
|
||||
python\
|
||||
pyuno\
|
||||
readlicense_oo\
|
||||
redland\
|
||||
remotebridges\
|
||||
reportbuilder\
|
||||
rhino\
|
||||
saxon\
|
||||
scp2\
|
||||
setup_native\
|
||||
shell\
|
||||
solenv\
|
||||
soltools\
|
||||
stax\
|
||||
stlport\
|
||||
sysui\
|
||||
testtools\
|
||||
tomcat\
|
||||
udm\
|
||||
vigra\
|
||||
x11_extensions\
|
||||
xpdf\
|
||||
xsltml\
|
||||
zlib\
|
||||
|
||||
gb_TAILBUILDMODULES := $(shell make -f $(SRCDIR)/tail_build/Makefile showmodules)
|
||||
export gb_TAILBUILDTARGET=all slowcheck
|
||||
|
||||
define gbuild_module_rules
|
||||
.PHONY: $(1) $(1).all $(1).clean $(1).deliver
|
||||
|
||||
$(1): bootstrap fetch
|
||||
cd $(1) && $(GNUMAKE) -j $(GMAKE_PARALLELISM) $(GMAKE_OPTIONS) gb_PARTIALBUILD=T
|
||||
|
||||
ifeq ($(filter $(1),$(gb_TAILBUILDMODULES)),)
|
||||
$(1).all: bootstrap fetch
|
||||
cd $(1) && unset MAKEFLAGS && \
|
||||
$(SOLARENV)/bin/build.pl -P$(BUILD_NCPUS) --all -- -P$(GMAKE_PARALLELISM)
|
||||
else
|
||||
$(1).all: bootstrap fetch
|
||||
cd tail_build && unset MAKEFLAGS && \
|
||||
export gb_TAILBUILDTARGET="$(WORKDIR)/Module/$(1) $(WORKDIR)/Module/check/$(1) $(WORKDIR)/Module/slowcheck/$(1)" && \
|
||||
$(SOLARENV)/bin/build.pl -P$(BUILD_NCPUS) --all -- -P$(GMAKE_PARALLELISM)
|
||||
endif
|
||||
|
||||
$(1).clean:
|
||||
cd $(1) && $(GNUMAKE) -j $(GMAKE_PARALLELISM) $(GMAKE_OPTIONS) clean gb_PARTIALBUILD=T
|
||||
|
||||
$(1).subsequentcheck:
|
||||
cd $(1) && $(GNUMAKE) -j $(GMAKE_PARALLELISM) $(GMAKE_OPTIONS) subsequentcheck gb_PARTIALBUILD=T
|
||||
|
||||
$(1).deliver:
|
||||
@true
|
||||
|
||||
endef
|
||||
|
||||
define gbuild_modules_rules
|
||||
$(foreach m,$(1),$(call gbuild_module_rules,$(m)))
|
||||
endef
|
||||
|
||||
define dmake_module_rules
|
||||
.PHONY: $(1) $(1).all $(1).deliver $(1).clean
|
||||
|
||||
$(1): bootstrap fetch
|
||||
cd $(1) && unset MAKEFLAGS && \
|
||||
$(SOLARENV)/bin/build.pl -P$(BUILD_NCPUS) -- -P$(GMAKE_PARALLELISM)
|
||||
|
||||
$(1).all: bootstrap fetch
|
||||
cd $(1) && unset MAKEFLAGS && \
|
||||
$(SOLARENV)/bin/build.pl -P$(BUILD_NCPUS) --all -- -P$(GMAKE_PARALLELISM)
|
||||
|
||||
$(1).deliver: $(1)
|
||||
cd $(1) && $(SOLARENV)/bin/deliver.pl
|
||||
|
||||
$(1).clean:
|
||||
cd $(1) && $(SOLARENV)/bin/deliver.pl -delete
|
||||
rm -fr $(1)/$(INPATH)
|
||||
|
||||
endef
|
||||
|
||||
define dmake_modules_rules
|
||||
$(foreach m,$(1),$(call dmake_module_rules,$(m)))
|
||||
endef
|
||||
|
||||
#
|
||||
# Partial Build
|
||||
#
|
||||
$(eval $(call gbuild_modules_rules,$(gbuild_modules)))
|
||||
|
||||
$(eval $(call dmake_modules_rules,$(dmake_modules)))
|
||||
|
||||
#
|
||||
# Clean
|
||||
#
|
||||
clean: clean-host clean-build
|
||||
|
||||
clean-host:
|
||||
rm -fr $(DEVINSTALLDIR)
|
||||
rm -fr $(SOLARVER)/$(INPATH) # not necessarily below SRCDIR
|
||||
rm -fr $(SRCDIR)/*/$(INPATH)
|
||||
rm -fr install
|
||||
|
||||
clean-build:
|
||||
ifeq ($(CROSS_COMPILING),YES)
|
||||
rm -rf $(SOLARVER)/$(INPATH_FOR_BUILD) # not necessarily below SRCDIR
|
||||
rm -rf $(SRCDIR)/*/$(INPATH_FOR_BUILD)
|
||||
endif
|
||||
|
||||
#
|
||||
# Distclean
|
||||
#
|
||||
distclean : clean
|
||||
ifeq ($(BUILD_DMAKE),YES)
|
||||
(if [ -f dmake/Makefile ] ; then $(GNUMAKE) -j $(GMAKE_PARALLELISM) -C dmake distclean; fi) && \
|
||||
rm -f solenv/*/bin/dmake*
|
||||
endif
|
||||
rm -fr config_host.mk config_build.mk aclocal.m4 autom4te.cache \
|
||||
bin/repo-list config.log config.status configure \
|
||||
ooo.lst post_download post_download.log \
|
||||
config_host.mk.last set_soenv.stamp src.downloaded warn
|
||||
find $(SOLARENV)/gdb -name "*.pyc" -exec rm {} \;
|
||||
|
||||
#
|
||||
# custom command
|
||||
#
|
||||
ifneq ( $(MAKECMDGOALS),cmd)
|
||||
cmd:
|
||||
echo "custom cmd" && ( $(cmd) )
|
||||
|
||||
endif
|
||||
|
||||
ifneq ($(filter-out clean distclean,$(MAKECMDGOALS)),)
|
||||
#
|
||||
# Fetch
|
||||
#
|
||||
fetch: src.downloaded
|
||||
|
||||
src.downloaded : Makefile.top ooo.lst download
|
||||
ifeq ($(DO_FETCH_TARBALLS),YES)
|
||||
@./download $(SRCDIR)/ooo.lst && touch $@
|
||||
else
|
||||
@echo "Automatic fetching of external tarballs is disabled."
|
||||
endif
|
||||
|
||||
#
|
||||
# Bootstap
|
||||
#
|
||||
bootstrap: $(WORKDIR)/bootstrap
|
||||
|
||||
$(WORKDIR)/bootstrap:
|
||||
@cd $(SRCDIR) && ./bootstrap
|
||||
@mkdir -p $(dir $@) && touch $@
|
||||
|
||||
#
|
||||
# Build
|
||||
#
|
||||
build-packimages: bootstrap fetch $(if $(filter $(INPATH),$(INPATH_FOR_BUILD)),,cross-toolset)
|
||||
ifeq ($(DISABLE_SCRIPTING),TRUE)
|
||||
# We must get the headers from vbahelper "delivered" because
|
||||
# as we don't link to any libs from there they won't otherwise be, or
|
||||
# something. And we still do include those headers always even if the
|
||||
# libs aren't built in the --disable-scripting case. (Ifdefs for
|
||||
# DISABLE_SCRIPTING will be added to the code later as necessary.)
|
||||
$(GNUMAKE) vbahelper
|
||||
endif
|
||||
ifeq ($(DISABLE_DBCONNECTIVITY),TRUE)
|
||||
# Ditto for dbconnectivity in the --disable-database-connectivity case
|
||||
cd connectivity && sed -e 's/^\(export [A-Z0-9_]*=\)\(.*\)$$/\1"\2"/' <../config_host.mk >conftmp.sh && . conftmp.sh && rm conftmp.sh && $(SOLARENV)/bin/deliver.pl
|
||||
endif
|
||||
cd packimages && unset MAKEFLAGS && \
|
||||
$(SOLARENV)/bin/build.pl -P$(BUILD_NCPUS) --all -- -P$(GMAKE_PARALLELISM) && \
|
||||
make
|
||||
|
||||
build: build-packimages
|
||||
ifeq ($(OS_FOR_BUILD),WNT)
|
||||
cd instsetoo_native && unset MAKEFLAGS && $(SOLARENV)/bin/build.pl
|
||||
else
|
||||
cd instsetoo_native && unset MAKEFLAGS && \
|
||||
$(SOLARENV)/bin/build.pl -P$(BUILD_NCPUS) -- -P$(GMAKE_PARALLELISM)
|
||||
endif
|
||||
|
||||
cross-toolset: bootstrap fetch
|
||||
cd cross_toolset && $(GNUMAKE) -j $(GMAKE_PARALLELISM) $(GMAKE_OPTIONS)
|
||||
|
||||
|
||||
#
|
||||
# Install
|
||||
#
|
||||
|
||||
install:
|
||||
echo "Installing in $(INSTALLDIR)..." && \
|
||||
ooinstall "$(INSTALLDIR)" && \
|
||||
echo "" && \
|
||||
echo "Installation finished, you can now execute:" && \
|
||||
echo "$(INSTALLDIR)/program/soffice"
|
||||
|
||||
install-strip:
|
||||
echo "Installing and stripping binaries in $(INSTALLDIR)..." && \
|
||||
ooinstall --strip "$(INSTALLDIR)" && \
|
||||
echo "" && \
|
||||
echo "Installation finished, you can now execute:" && \
|
||||
echo "$(INSTALLDIR)/program/soffice"
|
||||
|
||||
dev-install: build
|
||||
@rm -rf $(DEVINSTALLDIR)
|
||||
@mkdir $(DEVINSTALLDIR)
|
||||
ifeq ($(DISABLE_LINKOO),TRUE)
|
||||
@ooinstall $(DEVINSTALLDIR)/opt
|
||||
@install-gdb-printers -L
|
||||
else
|
||||
@ooinstall -l $(DEVINSTALLDIR)/opt
|
||||
endif
|
||||
@rm -f $(SRCDIR)/install && ln -s $(DEVINSTALLDIR)/opt/ $(SRCDIR)/install
|
||||
|
||||
distro-pack-install: install
|
||||
$(SRCDIR)/bin/distro-install-clean-up
|
||||
$(SRCDIR)/bin/distro-install-desktop-integration
|
||||
$(SRCDIR)/bin/distro-install-sdk
|
||||
$(SRCDIR)/bin/distro-install-file-lists
|
||||
|
||||
id:
|
||||
@create-ids
|
||||
|
||||
tags:
|
||||
@create-tags
|
||||
|
||||
docs:
|
||||
@mkdocs.sh $(SRCDIR)/docs $(SOLARENV)/inc/doxygen.cfg
|
||||
|
||||
findunusedcode:
|
||||
@which callcatcher > /dev/null 2>&1 || \
|
||||
(echo "callcatcher not installed" && false)
|
||||
@sed -e s,$$INPATH,callcatcher,g $(SRCDIR)/config_host.mk | sed -e s,"export OOO_JUNIT_JAR=.*","export OOO_JUNIT_JAR=",g > $(SRCDIR)/config_host_callcatcher.mk
|
||||
@mkdir -p $(SRCDIR)/solenv/callcatcher/bin && \
|
||||
ln -sf $(SRCDIR)/solenv/$(INPATH)/bin/dmake \
|
||||
$(SRCDIR)/solenv/callcatcher/bin/dmake
|
||||
@$(GNUMAKE) -f $(SOLARENV)/bin/callcatcher.Makefile findunusedcode
|
||||
@grep ::.*\( unusedcode.all \
|
||||
| grep -v ^Atom \
|
||||
| grep -v ^boost:: \
|
||||
| grep -v ^CIcc \
|
||||
| grep -v ^CLuceneError:: \
|
||||
| grep -v ^cppu:: \
|
||||
| grep -v ^Dde \
|
||||
| grep -v ^graphite2:: \
|
||||
| grep -v ^jvmaccess:: \
|
||||
| grep -v ^libcdr:: \
|
||||
| grep -v ^libcmis:: \
|
||||
| grep -v ^libvisio:: \
|
||||
| grep -v ^libwpg:: \
|
||||
| grep -v ^libwps_tools_win:: \
|
||||
| grep -v ^lucene:: \
|
||||
| grep -v ^Matrix3d:: \
|
||||
| grep -v ^salhelper:: \
|
||||
| grep -v ^WP1 \
|
||||
| grep -v ^WP3 \
|
||||
| grep -v ^WP42 \
|
||||
| grep -v ^WP6 \
|
||||
| grep -v ^WPG \
|
||||
| grep -v ^WPS \
|
||||
| grep -v WPX \
|
||||
> unusedcode.easy
|
||||
|
||||
check: dev-install subsequentcheck
|
||||
|
||||
subsequentcheck :| $(if $(filter-out subsequentcheck,$(MAKECMDGOALS)),dev-install)
|
||||
$(GNUMAKE) -j $(GMAKE_PARALLELISM) $(GMAKE_OPTIONS) -f Makefile.post $@
|
||||
|
||||
debugrun:
|
||||
$(GNUMAKE) -j $(GMAKE_PARALLELISM) $(GMAKE_OPTIONS) -f Makefile.post $@
|
||||
|
||||
endif # not clean or distclean
|
||||
|
||||
|
||||
#########################
|
||||
# help
|
||||
#
|
||||
.PHONY: help
|
||||
help:
|
||||
@cat $(SRCDIR)/solenv/gbuild/gbuild.help.txt
|
||||
@true
|
||||
|
||||
|
||||
# vim: set noet sw=4 ts=4:
|
Loading…
Reference in a new issue