Makefile.in | 165 +++++++----------------- solenv/gbuild/Module.mk | 48 +++++- solenv/gbuild/extensions/post_AuxTargets.mk | 77 +++++++++++ solenv/gbuild/extensions/post_BuildplTargets.mk | 76 +++++++++++ solenv/gbuild/extensions/post_SpeedUpTargets.mk | 38 +++++ solenv/gbuild/gbuild.mk | 2 tail_build/Makefile | 2 7 files changed, 281 insertions(+), 127 deletions(-)
New commits: commit ce33bdce9d3499b7419b9210a2b5117ccda7ea32 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Mon Nov 28 17:56:11 2011 +0100 targets must be postextension SRCDIR is empty otherwise diff --git a/solenv/gbuild/extensions/post_AuxTargets.mk b/solenv/gbuild/extensions/post_AuxTargets.mk new file mode 100644 index 0000000..fff1c10 --- /dev/null +++ b/solenv/gbuild/extensions/post_AuxTargets.mk @@ -0,0 +1,77 @@ +# -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +# +# Version: MPL 1.1 / GPLv3+ / LGPLv3+ +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License or as specified alternatively below. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# Major Contributor(s): +# [ Copyright (C) 2011 Bjoern Michaelsen <bjoern.michael...@canonical.com> (initial developer) ] +# +# All Rights Reserved. +# +# For minor contributions see the git repository. +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 3 or later (the "GPLv3+"), or +# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), +# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable +# instead of those above. + +.PHONY: id tags docs distro-pack-install fetch clean-host clean-build bootstrap + +id: + @create-ids + +tags: + @create-tags + +docs: + @mkdocs.sh $(SRCDIR)/docs $(SOLARENV)/inc/doxygen.cfg + +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 + +$(SRCDIR)/src.downloaded: $(SRCDIR)/ooo.lst $(SRCDIR)/download + @$(SRCDIR)/download $(SRCDIR)/ooo.lst && touch $@ + +fetch: $(SRCDIR)/src.downloaded + +$(WORKDIR)/bootstrap: + @cd $(SRCDIR) && ./bootstrap + @mkdir -p $(dir $@) && touch $@ + +bootstrap: $(WORKDIR)/bootstrap + +ifeq ($(strip $(gb_PARTIALBUILD)),) + +clean-host: + rm -rf $(SRCDIR)/*/$(INPATH) + rm -rf install + +clean-build: + if [ -f $(SRCDIR)/dmake/Makefile ] ; then $(GNUMAKE) -C $(SRCDIR)/dmake clean; fi + rm -f solenv/*/bin/dmake* + rm -rf $(SRCDIR)*/$(INPATH_FOR_BUILD) + +distclean: clean + if [ -f $(SRCDIR)/dmake/Makefile ] ; then $(GNUMAKE) -C $(SRCDIR)/dmake clean; fi + cd $(SRCDIR) && 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 + +endif + + +# vim:set shiftwidth=4 softtabstop=4 noexpandtab: diff --git a/solenv/gbuild/extensions/post_BuildplTargets.mk b/solenv/gbuild/extensions/post_BuildplTargets.mk index 6c62649..1fa6a2b 100644 --- a/solenv/gbuild/extensions/post_BuildplTargets.mk +++ b/solenv/gbuild/extensions/post_BuildplTargets.mk @@ -42,7 +42,34 @@ unitcheck: dev-install @$(MAKE) -f $(realpath $(firstword $(MAKEFILE_LIST))) $@ gb_PARTIALBUILD= all: - + +ifeq ($(filter-out build,$(MAKECMDGOALS)),) +gb_MAKETARGET=build +else +gb_MAKETARGET=all +endif + +define gb_BuildplTarget_command +cd $(SRCDIR)/$(1) && unset MAKEFLAGS && $(SOLARENV)/bin/build.pl --all gb_MAKETARGET=$(gb_MAKETARGET) +endef + +.PHONY: smoketestoo_native instsetoo_native cross-build-toolset dev-install all build + +smoketestoo_native: $(WORKDIR)/bootstrap $(SRCDIR)/src.downloaded $(if $(filter $(INPATH),$(INPATH_FOR_BUILD)),,cross-build-toolset) + $(call gb_BuildplTarget_command,$@) + +instsetoo_native: $(WORKDIR)/bootstrap $(SRCDIR)/src.downloaded $(if $(filter $(INPATH),$(INPATH_FOR_BUILD)),,cross-build-toolset) + $(call gb_BuildplTarget_command,$@) + +cross-build-toolset: $(WORKDIR)/bootstrap $(SRCDIR)/src.downloaded + $(call gb_BuildplTarget_command,$@) + +dev-install: smoketestoo_native + +all: instsetoo_native + +build: instsetoo_native + endif # gb_PARTIALBUILD # vim:set shiftwidth=4 softtabstop=4 noexpandtab: diff --git a/solenv/gbuild/extensions/pre_AuxTargets.mk b/solenv/gbuild/extensions/pre_AuxTargets.mk deleted file mode 100644 index fff1c10..0000000 --- a/solenv/gbuild/extensions/pre_AuxTargets.mk +++ /dev/null @@ -1,77 +0,0 @@ -# -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -# -# Version: MPL 1.1 / GPLv3+ / LGPLv3+ -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License or as specified alternatively below. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# Major Contributor(s): -# [ Copyright (C) 2011 Bjoern Michaelsen <bjoern.michael...@canonical.com> (initial developer) ] -# -# All Rights Reserved. -# -# For minor contributions see the git repository. -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 3 or later (the "GPLv3+"), or -# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), -# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable -# instead of those above. - -.PHONY: id tags docs distro-pack-install fetch clean-host clean-build bootstrap - -id: - @create-ids - -tags: - @create-tags - -docs: - @mkdocs.sh $(SRCDIR)/docs $(SOLARENV)/inc/doxygen.cfg - -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 - -$(SRCDIR)/src.downloaded: $(SRCDIR)/ooo.lst $(SRCDIR)/download - @$(SRCDIR)/download $(SRCDIR)/ooo.lst && touch $@ - -fetch: $(SRCDIR)/src.downloaded - -$(WORKDIR)/bootstrap: - @cd $(SRCDIR) && ./bootstrap - @mkdir -p $(dir $@) && touch $@ - -bootstrap: $(WORKDIR)/bootstrap - -ifeq ($(strip $(gb_PARTIALBUILD)),) - -clean-host: - rm -rf $(SRCDIR)/*/$(INPATH) - rm -rf install - -clean-build: - if [ -f $(SRCDIR)/dmake/Makefile ] ; then $(GNUMAKE) -C $(SRCDIR)/dmake clean; fi - rm -f solenv/*/bin/dmake* - rm -rf $(SRCDIR)*/$(INPATH_FOR_BUILD) - -distclean: clean - if [ -f $(SRCDIR)/dmake/Makefile ] ; then $(GNUMAKE) -C $(SRCDIR)/dmake clean; fi - cd $(SRCDIR) && 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 - -endif - - -# vim:set shiftwidth=4 softtabstop=4 noexpandtab: diff --git a/solenv/gbuild/extensions/pre_BuildplTargets.mk b/solenv/gbuild/extensions/pre_BuildplTargets.mk deleted file mode 100644 index cbe36e3..0000000 --- a/solenv/gbuild/extensions/pre_BuildplTargets.mk +++ /dev/null @@ -1,60 +0,0 @@ -# -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -# -# Version: MPL 1.1 / GPLv3+ / LGPLv3+ -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License or as specified alternatively below. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# Major Contributor(s): -# [ Copyright (C) 2011 Bjoern Michaelsen <bjoern.michael...@canonical.com> (initial developer) ] -# -# All Rights Reserved. -# -# For minor contributions see the git repository. -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 3 or later (the "GPLv3+"), or -# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), -# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable -# instead of those above. - -ifeq ($(strip $(gb_PARTIALBUILD)),) - -ifeq ($(filter-out build,$(MAKECMDSEQUENCE)),) -gb_MAKETARGET=build -else -gb_MAKETARGET=all -endif - -define gb_BuildplTarget_command -cd $(SRCDIR)/$(1) && unset MAKEFLAGS && $(SOLARENV)/bin/build.pl --all gb_MAKETARGET=$(gb_MAKETARGET) -endef - -.PHONY: smoketestoo_native instsetoo_native cross-build-toolset dev-install all build - -smoketestoo_native: $(WORKDIR)/bootstrap $(SRCDIR)/src.downloaded $(if $(filter $(INPATH),$(INPATH_FOR_BUILD)),,cross-build-toolset) - $(call gb_BuildplTarget_command,$@) - -instsetoo_native: $(WORKDIR)/bootstrap $(SRCDIR)/src.downloaded $(if $(filter $(INPATH),$(INPATH_FOR_BUILD)),,cross-build-toolset) - $(call gb_BuildplTarget_command,$@) - -cross-build-toolset: $(WORKDIR)/bootstrap $(SRCDIR)/src.downloaded - $(call gb_BuildplTarget_command,$@) - -dev-install: smoketestoo_native - -all: instsetoo_native - -build: instsetoo_native - -endif # gb_PARTIALBUILD - -# vim:set shiftwidth=4 softtabstop=4 noexpandtab: - commit 807d70df1d61fc399fe58294679c21296db23af6 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Mon Nov 28 01:15:22 2011 +0100 post_BuilplTargets.mk -> ost_BuildplTargets.mk diff --git a/solenv/gbuild/extensions/post_BuildplTargets.mk b/solenv/gbuild/extensions/post_BuildplTargets.mk new file mode 100644 index 0000000..6c62649 --- /dev/null +++ b/solenv/gbuild/extensions/post_BuildplTargets.mk @@ -0,0 +1,49 @@ +# -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +# +# Version: MPL 1.1 / GPLv3+ / LGPLv3+ +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License or as specified alternatively below. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# Major Contributor(s): +# [ Copyright (C) 2011 Bjoern Michaelsen <bjoern.michael...@canonical.com> (initial developer) ] +# +# All Rights Reserved. +# +# For minor contributions see the git repository. +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 3 or later (the "GPLv3+"), or +# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), +# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable +# instead of those above. + +ifeq ($(strip $(gb_PARTIALBUILD)),) + +gb_Module_add_target= +gb_Module_add_moduledir= +gb_Module_add_check_target= +gb_Module_add_subsequentcheck_target= +gb_FULLDEPS= + +clean: clean-host clean-build + +subsequentcheck: dev-install + @$(MAKE) -f $(realpath $(firstword $(MAKEFILE_LIST))) $@ gb_PARTIALBUILD= + +unitcheck: dev-install + @$(MAKE) -f $(realpath $(firstword $(MAKEFILE_LIST))) $@ gb_PARTIALBUILD= + +all: + +endif # gb_PARTIALBUILD + +# vim:set shiftwidth=4 softtabstop=4 noexpandtab: + diff --git a/solenv/gbuild/extensions/post_BuilplTargets.mk b/solenv/gbuild/extensions/post_BuilplTargets.mk deleted file mode 100644 index 6c62649..0000000 --- a/solenv/gbuild/extensions/post_BuilplTargets.mk +++ /dev/null @@ -1,49 +0,0 @@ -# -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -# -# Version: MPL 1.1 / GPLv3+ / LGPLv3+ -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License or as specified alternatively below. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# Major Contributor(s): -# [ Copyright (C) 2011 Bjoern Michaelsen <bjoern.michael...@canonical.com> (initial developer) ] -# -# All Rights Reserved. -# -# For minor contributions see the git repository. -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 3 or later (the "GPLv3+"), or -# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), -# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable -# instead of those above. - -ifeq ($(strip $(gb_PARTIALBUILD)),) - -gb_Module_add_target= -gb_Module_add_moduledir= -gb_Module_add_check_target= -gb_Module_add_subsequentcheck_target= -gb_FULLDEPS= - -clean: clean-host clean-build - -subsequentcheck: dev-install - @$(MAKE) -f $(realpath $(firstword $(MAKEFILE_LIST))) $@ gb_PARTIALBUILD= - -unitcheck: dev-install - @$(MAKE) -f $(realpath $(firstword $(MAKEFILE_LIST))) $@ gb_PARTIALBUILD= - -all: - -endif # gb_PARTIALBUILD - -# vim:set shiftwidth=4 softtabstop=4 noexpandtab: - commit 9a3b9add92747578db704431ed7a2617d16ba515 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Mon Nov 28 01:14:23 2011 +0100 more targets moved to gbuild diff --git a/Makefile.in b/Makefile.in index 19e4814..b6d06e6 100644 --- a/Makefile.in +++ b/Makefile.in @@ -14,64 +14,17 @@ define forward_to_gbuild @GNUMAKE@ -f $(dir $(realpath $(firstword $(MAKEFILE_LIST))))/GNUmakefile.mk \ $(if @VERBOSE@,,-s) \ --jobs="@GMAKE_PARALLELISM@" \ - $(patsubst allcheck,check,$(1)) + $(1) endef -all: build unitcheck - -check : allcheck - @true - -install: build - @. ./Env.Host.sh && \ - echo "Installing in @INSTALLDIR@..." && \ - ooinstall "@INSTALLDIR@" && \ - echo "" && \ - echo "Installation finished, you can now execute:" && \ - echo "@INSTALLDIR@/program/soffice" - -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 - -ifeq (@DO_FETCH_TARBALLS@,YES) -fetch: src.downloaded - $(call forward_to_gbuild,$@) -else -fetch: - @echo "Automatic fetching of external tarballs is disabled." -endif +all: + @$(call forward_to_gbuild,$@) -ifeq ($(filter clean distclean,$(MAKECMDGOALS)),) -Makefile: autogen.lastrun configure.in ooo.lst.in set_soenv.in Makefile.in - ./autogen.sh -endif +check: + @$(call forward_to_gbuild,$@) bootstrap: - $(call forward_to_gbuild,$@) + @$(call forward_to_gbuild,$@) debugrun: @$(call forward_to_gbuild,$@) @@ -91,14 +44,45 @@ tags: docs: @$(call forward_to_gbuild,$@) -build: Makefile bootstrap src.downloaded $(CROSS_TOOLSET_RULE) +build: Makefile @$(call forward_to_gbuild,$@) -dev-install: Makefile bootstrap src.downloaded $(CROSS_TOOLSET_RULE) - $(call forward_to_gbuild,$@) +dev-install: Makefile + @$(call forward_to_gbuild,$@) cross-build-toolset: - $(call forward_to_gbuild,$@) + @$(call forward_to_gbuild,$@) + +clean: + @$(call forward_to_gbuild,$@) + +clean-host: + @$(call forward_to_gbuild,$@) + +clean-build: + @$(call forward_to_gbuild,$@) + +distclean: + @$(call forward_to_gbuild,$@) + +fetch: + @$(call forward_to_gbuild,$@) + +unitcheck: + @$(call forward_to_gbuild,$@) + +install: build + @. ./Env.Host.sh && \ + echo "Installing in @INSTALLDIR@..." && \ + ooinstall "@INSTALLDIR@" && \ + echo "" && \ + echo "Installation finished, you can now execute:" && \ + echo "@INSTALLDIR@/program/soffice" + +ifeq ($(filter clean distclean,$(MAKECMDGOALS)),) +Makefile: autogen.lastrun configure.in ooo.lst.in set_soenv.in Makefile.in + ./autogen.sh +endif findunusedcode: # experimental callcatcher target diff --git a/solenv/gbuild/extensions/post_BuilplTargets.mk b/solenv/gbuild/extensions/post_BuilplTargets.mk index b93774c..6c62649 100644 --- a/solenv/gbuild/extensions/post_BuilplTargets.mk +++ b/solenv/gbuild/extensions/post_BuilplTargets.mk @@ -28,10 +28,21 @@ ifeq ($(strip $(gb_PARTIALBUILD)),) gb_Module_add_target= +gb_Module_add_moduledir= gb_Module_add_check_target= gb_Module_add_subsequentcheck_target= gb_FULLDEPS= +clean: clean-host clean-build + +subsequentcheck: dev-install + @$(MAKE) -f $(realpath $(firstword $(MAKEFILE_LIST))) $@ gb_PARTIALBUILD= + +unitcheck: dev-install + @$(MAKE) -f $(realpath $(firstword $(MAKEFILE_LIST))) $@ gb_PARTIALBUILD= + +all: + endif # gb_PARTIALBUILD # vim:set shiftwidth=4 softtabstop=4 noexpandtab: diff --git a/solenv/gbuild/extensions/pre_AuxTargets.mk b/solenv/gbuild/extensions/pre_AuxTargets.mk index 78f3bef..fff1c10 100644 --- a/solenv/gbuild/extensions/pre_AuxTargets.mk +++ b/solenv/gbuild/extensions/pre_AuxTargets.mk @@ -25,7 +25,7 @@ # in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable # instead of those above. -.PHONY: id tags docs distro-pack-install fetch +.PHONY: id tags docs distro-pack-install fetch clean-host clean-build bootstrap id: @create-ids @@ -53,5 +53,25 @@ $(WORKDIR)/bootstrap: bootstrap: $(WORKDIR)/bootstrap -# vim:set shiftwidth=4 softtabstop=4 noexpandtab: +ifeq ($(strip $(gb_PARTIALBUILD)),) + +clean-host: + rm -rf $(SRCDIR)/*/$(INPATH) + rm -rf install + +clean-build: + if [ -f $(SRCDIR)/dmake/Makefile ] ; then $(GNUMAKE) -C $(SRCDIR)/dmake clean; fi + rm -f solenv/*/bin/dmake* + rm -rf $(SRCDIR)*/$(INPATH_FOR_BUILD) + +distclean: clean + if [ -f $(SRCDIR)/dmake/Makefile ] ; then $(GNUMAKE) -C $(SRCDIR)/dmake clean; fi + cd $(SRCDIR) && 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 +endif + + +# vim:set shiftwidth=4 softtabstop=4 noexpandtab: diff --git a/solenv/gbuild/extensions/pre_BuildplTargets.mk b/solenv/gbuild/extensions/pre_BuildplTargets.mk index 86abd23..cbe36e3 100644 --- a/solenv/gbuild/extensions/pre_BuildplTargets.mk +++ b/solenv/gbuild/extensions/pre_BuildplTargets.mk @@ -39,17 +39,17 @@ endef .PHONY: smoketestoo_native instsetoo_native cross-build-toolset dev-install all build -smoketestoo_native: +smoketestoo_native: $(WORKDIR)/bootstrap $(SRCDIR)/src.downloaded $(if $(filter $(INPATH),$(INPATH_FOR_BUILD)),,cross-build-toolset) $(call gb_BuildplTarget_command,$@) -instsetoo_native: +instsetoo_native: $(WORKDIR)/bootstrap $(SRCDIR)/src.downloaded $(if $(filter $(INPATH),$(INPATH_FOR_BUILD)),,cross-build-toolset) $(call gb_BuildplTarget_command,$@) -cross-build-toolset: +cross-build-toolset: $(WORKDIR)/bootstrap $(SRCDIR)/src.downloaded $(call gb_BuildplTarget_command,$@) dev-install: smoketestoo_native - + all: instsetoo_native build: instsetoo_native commit 910a452fed76e2cdadc6d401edb80623d34e926e Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Sun Nov 27 20:23:39 2011 +0100 move build dev-install cross-build-toolset to gbuild diff --git a/Makefile.in b/Makefile.in index cecd769..19e4814 100644 --- a/Makefile.in +++ b/Makefile.in @@ -8,13 +8,6 @@ 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 bootstrap define forward_to_gbuild @@ -24,63 +17,11 @@ define forward_to_gbuild $(patsubst allcheck,check,$(1)) endef -define forward_to_buildpl -. ./Env.Host.sh && cd $(1) && gb_MAKETARGET=$(gb_MAKETARGET) build.pl -P@BUILD_NCPUS@ -- -P@BUILD_MAX_JOBS@ -endef - -ifeq (@CROSS_COMPILING@,YES) -define all_install -To install, issue: @GNUMAKE@ install -Developers might prefer this way: @GNUMAKE@ dev-install -o build -To run smoketest, issue: @GNUMAKE@ check -endef -else -allinstall=For crosscompiles, please consult README.cross how to install it. -endif - -UNAMESYSTEM=$(shell uname -s) - -ifeq ($(UNAMESYSTEM),Linux) -devinstall_run=make debugrun -else -ifeq ($(UNAMESYSTEM),Linux) -devinstall_run=open @abs_builddir@/install/LibreOffice.app -else -define devinstall_run -cd @abs_builddir@/install/program -. ./ooenv -./soffice.bin -endef -endif -endif - all: build unitcheck - $(info) - $(info LibreOffice build succesfully finished.) - $(info) - $(info $(all_install)) - $(info) - -build: Makefile bootstrap src.downloaded $(CROSS_TOOLSET_RULE) - @$(call forward_to_buildpl,instsetoo_native) - -smoketest: Makefile bootstrap src.downloaded $(CROSS_TOOLSET_RULE) - @$(call forward_to_buildpl,smoketestoo_native) && \ - rm -f "@abs_builddir@"/install && \ - ln -s "$$SOLARVER/$$INPATH"/installation/opt/ "@abs_builddir@"/install - -dev-install: smoketest - $(info) - $(info Developer installation finished, you can now execute:) - $(info) - $(info $(devinstall_run)) check : allcheck @true -cross-build-toolset: - $(call forward_to_buildpl,cross_toolset) - install: build @. ./Env.Host.sh && \ echo "Installing in @INSTALLDIR@..." && \ @@ -150,6 +91,15 @@ tags: docs: @$(call forward_to_gbuild,$@) +build: Makefile bootstrap src.downloaded $(CROSS_TOOLSET_RULE) + @$(call forward_to_gbuild,$@) + +dev-install: Makefile bootstrap src.downloaded $(CROSS_TOOLSET_RULE) + $(call forward_to_gbuild,$@) + +cross-build-toolset: + $(call forward_to_gbuild,$@) + findunusedcode: # experimental callcatcher target # http://www.skynet.ie/~caolan/Packages/callcatcher.html diff --git a/solenv/gbuild/Module.mk b/solenv/gbuild/Module.mk index a92b393..02e76ea 100644 --- a/solenv/gbuild/Module.mk +++ b/solenv/gbuild/Module.mk @@ -79,16 +79,46 @@ $(call gb_Module_get_target,%) : mkdir -p $(dir $@) && \ touch $@) -.PHONY : build all clean unitcheck subsequentcheck +.PHONY : build all clean unitcheck subsequentcheck dev-install .DEFAULT_GOAL := all +ifeq ($(strip $(gb_PARTIALBUILD)),) +check : subsequentcheck + +define gb_Module_BUILDHINT + +LibreOffice build succesfully finished. + +To install, issue: $(MAKE) install +Developers might prefer this way: $(MAKE) dev-install -o build +To run smoketest, issue: $(MAKE) check +For crosscompiles, please consult README.cross how to install it. + +endef + +define gb_Module_DEVINSTALLHINT + +Developer installation finished, you can now execute: + +make debugrun # on Linux +dopen $(SRCDIR)/install/LibreOffice.app # on OSX + +endef +else +gb_Module_BUILDHINT= +gb_Module_DEVINSTALLHINT= + +endif + all : build unitcheck + $(info $(gb_Module_BUILDHINT)) build : $(call gb_Output_announce,top level modules: $(foreach module,$(filter-out deliverlog,$^),$(notdir $(module))),$(true),ALL,6) $(call gb_Output_announce,loaded modules: $(sort $(gb_Module_ALLMODULES)),$(true),ALL,6) $(call gb_Output_announce_title,build done.) $(call gb_Output_announce_bell) + $(info $(gb_Module_BUILDHINT)) unitcheck : $(call gb_Output_announce,loaded modules: $(sort $(gb_Module_ALLMODULES)),$(true),CHK,6) @@ -115,12 +145,10 @@ check : unitcheck debugrun : build $(call gb_Module_DEBUGRUNCOMMAND) - - -ifeq ($(strip $(gb_PARTIALBUILD)),) -check : subsequentcheck -endif - +dev-install : + @rm -f $(SRCDIR)/install && \ + ln -s $(OUTDIR)/installation/opt/ $(SRCDIR)/install + $(info $(gb_Module_DEVINSTALLHINT)) define gb_Module_Module gb_Module_ALLMODULES += $(1) diff --git a/solenv/gbuild/extensions/post_BuilplTargets.mk b/solenv/gbuild/extensions/post_BuilplTargets.mk new file mode 100644 index 0000000..b93774c --- /dev/null +++ b/solenv/gbuild/extensions/post_BuilplTargets.mk @@ -0,0 +1,38 @@ +# -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +# +# Version: MPL 1.1 / GPLv3+ / LGPLv3+ +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License or as specified alternatively below. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# Major Contributor(s): +# [ Copyright (C) 2011 Bjoern Michaelsen <bjoern.michael...@canonical.com> (initial developer) ] +# +# All Rights Reserved. +# +# For minor contributions see the git repository. +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 3 or later (the "GPLv3+"), or +# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), +# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable +# instead of those above. + +ifeq ($(strip $(gb_PARTIALBUILD)),) + +gb_Module_add_target= +gb_Module_add_check_target= +gb_Module_add_subsequentcheck_target= +gb_FULLDEPS= + +endif # gb_PARTIALBUILD + +# vim:set shiftwidth=4 softtabstop=4 noexpandtab: + diff --git a/solenv/gbuild/extensions/pre_AuxTargets.mk b/solenv/gbuild/extensions/pre_AuxTargets.mk index 3fa0994..78f3bef 100644 --- a/solenv/gbuild/extensions/pre_AuxTargets.mk +++ b/solenv/gbuild/extensions/pre_AuxTargets.mk @@ -49,7 +49,7 @@ fetch: $(SRCDIR)/src.downloaded $(WORKDIR)/bootstrap: @cd $(SRCDIR) && ./bootstrap - @touch $@ + @mkdir -p $(dir $@) && touch $@ bootstrap: $(WORKDIR)/bootstrap diff --git a/solenv/gbuild/extensions/pre_BuildplTargets.mk b/solenv/gbuild/extensions/pre_BuildplTargets.mk new file mode 100644 index 0000000..86abd23 --- /dev/null +++ b/solenv/gbuild/extensions/pre_BuildplTargets.mk @@ -0,0 +1,60 @@ +# -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +# +# Version: MPL 1.1 / GPLv3+ / LGPLv3+ +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License or as specified alternatively below. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# Major Contributor(s): +# [ Copyright (C) 2011 Bjoern Michaelsen <bjoern.michael...@canonical.com> (initial developer) ] +# +# All Rights Reserved. +# +# For minor contributions see the git repository. +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 3 or later (the "GPLv3+"), or +# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), +# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable +# instead of those above. + +ifeq ($(strip $(gb_PARTIALBUILD)),) + +ifeq ($(filter-out build,$(MAKECMDSEQUENCE)),) +gb_MAKETARGET=build +else +gb_MAKETARGET=all +endif + +define gb_BuildplTarget_command +cd $(SRCDIR)/$(1) && unset MAKEFLAGS && $(SOLARENV)/bin/build.pl --all gb_MAKETARGET=$(gb_MAKETARGET) +endef + +.PHONY: smoketestoo_native instsetoo_native cross-build-toolset dev-install all build + +smoketestoo_native: + $(call gb_BuildplTarget_command,$@) + +instsetoo_native: + $(call gb_BuildplTarget_command,$@) + +cross-build-toolset: + $(call gb_BuildplTarget_command,$@) + +dev-install: smoketestoo_native + +all: instsetoo_native + +build: instsetoo_native + +endif # gb_PARTIALBUILD + +# vim:set shiftwidth=4 softtabstop=4 noexpandtab: + commit 8a310e3521db1f9a15a7ec32b3171c4969c461be Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Sun Nov 27 02:52:17 2011 +0100 moved some more targets to gbuild diff --git a/Makefile.in b/Makefile.in index 8ea483d..cecd769 100644 --- a/Makefile.in +++ b/Makefile.in @@ -15,62 +15,71 @@ else gb_MAKETARGET=all endif -.PHONY : build dev-install all cross-build-toolset install distro-pack-install clean clean-host clean-build distclean findunusedcode +.PHONY : build dev-install all cross-build-toolset install distro-pack-install clean clean-host clean-build distclean findunusedcode bootstrap + +define forward_to_gbuild +@GNUMAKE@ -f $(dir $(realpath $(firstword $(MAKEFILE_LIST))))/GNUmakefile.mk \ + $(if @VERBOSE@,,-s) \ + --jobs="@GMAKE_PARALLELISM@" \ + $(patsubst allcheck,check,$(1)) +endef + +define forward_to_buildpl +. ./Env.Host.sh && cd $(1) && gb_MAKETARGET=$(gb_MAKETARGET) build.pl -P@BUILD_NCPUS@ -- -P@BUILD_MAX_JOBS@ +endef -all: build unitcheck - @echo - @echo "LibreOffice build succesfully finished :-)" - @echo ifeq (@CROSS_COMPILING@,YES) - @echo "Please consult README.cross how to install it." +define all_install +To install, issue: @GNUMAKE@ install +Developers might prefer this way: @GNUMAKE@ dev-install -o build +To run smoketest, issue: @GNUMAKE@ check +endef 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" +allinstall=For crosscompiles, please consult README.cross how to install it. 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@ +UNAMESYSTEM=$(shell uname -s) -dev-install: build - @. ./Env.Host.sh && \ - cd smoketestoo_native && \ - build.pl -P@BUILD_NCPUS@ -- -P@BUILD_MAX_JOBS@ && \ +ifeq ($(UNAMESYSTEM),Linux) +devinstall_run=make debugrun +else +ifeq ($(UNAMESYSTEM),Linux) +devinstall_run=open @abs_builddir@/install/LibreOffice.app +else +define devinstall_run +cd @abs_builddir@/install/program +. ./ooenv +./soffice.bin +endef +endif +endif + +all: build unitcheck + $(info) + $(info LibreOffice build succesfully finished.) + $(info) + $(info $(all_install)) + $(info) + +build: Makefile bootstrap src.downloaded $(CROSS_TOOLSET_RULE) + @$(call forward_to_buildpl,instsetoo_native) + +smoketest: Makefile bootstrap src.downloaded $(CROSS_TOOLSET_RULE) + @$(call forward_to_buildpl,smoketestoo_native) && \ 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` = Linux; then \ - printf 'make debugrun\n'; \ - elif 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 + ln -s "$$SOLARVER/$$INPATH"/installation/opt/ "@abs_builddir@"/install -debugrun: - @ @GNUMAKE@ -f $(dir $(realpath $(firstword $(MAKEFILE_LIST))))/GNUmakefile.mk debugrun +dev-install: smoketest + $(info) + $(info Developer installation finished, you can now execute:) + $(info) + $(info $(devinstall_run)) check : allcheck @true -%check: - @ @GNUMAKE@ -f $(dir $(realpath $(firstword $(MAKEFILE_LIST))))/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@ + $(call forward_to_buildpl,cross_toolset) install: build @. ./Env.Host.sh && \ @@ -80,12 +89,6 @@ install: build 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 @@ -113,37 +116,39 @@ ifeq (@CROSS_COMPILING@,YES) 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 $@ +fetch: src.downloaded + $(call forward_to_gbuild,$@) else +fetch: @echo "Automatic fetching of external tarballs is disabled." endif -fetch: src.downloaded - -ifneq ($(MAKECMDGOALS),clean) -ifneq ($(MAKECMDGOALS),distclean) +ifeq ($(filter clean distclean,$(MAKECMDGOALS)),) Makefile: autogen.lastrun configure.in ooo.lst.in set_soenv.in Makefile.in ./autogen.sh endif -endif + +bootstrap: + $(call forward_to_gbuild,$@) + +debugrun: + @$(call forward_to_gbuild,$@) + +%check: + @$(call forward_to_gbuild,$@) + +distro-pack-install: install + @$(call forward_to_gbuild,$@) id: - @. ./Env.Host.sh && \ - create-ids + @$(call forward_to_gbuild,$@) tags: - @. ./Env.Host.sh && \ - create-tags + @$(call forward_to_gbuild,$@) docs: - @. ./Env.Host.sh && \ - mkdocs.sh $$SRC_ROOT/docs $$SOLARENV/inc/doxygen.cfg + @$(call forward_to_gbuild,$@) findunusedcode: # experimental callcatcher target diff --git a/solenv/gbuild/Module.mk b/solenv/gbuild/Module.mk index 582d960..a92b393 100644 --- a/solenv/gbuild/Module.mk +++ b/solenv/gbuild/Module.mk @@ -153,10 +153,6 @@ endif endef -# Dont recurse in subdirs for help an debugrun - -ifeq ($(filter help debugrun,$(MAKECMDGOALS)),) - define gb_Module_add_target $(call gb_Module__read_targetfile,$(1),$(2),target) @@ -195,8 +191,6 @@ $(call gb_Module_get_clean_target,$(1)) : $$(gb_Module_CURRENTCLEANTARGET) endef -endif - define gb_Module_add_moduledir include $(patsubst $(1):%,%,$(filter $(1):%,$(gb_Module_MODULELOCATIONS)))/$(2)/Module_$(2).mk $(call gb_Module_get_target,$(1)) : $$(firstword $$(gb_Module_TARGETSTACK)) diff --git a/solenv/gbuild/extensions/post_SpeedUpTargets.mk b/solenv/gbuild/extensions/post_SpeedUpTargets.mk new file mode 100644 index 0000000..1ac06ee --- /dev/null +++ b/solenv/gbuild/extensions/post_SpeedUpTargets.mk @@ -0,0 +1,38 @@ +# -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +# +# Version: MPL 1.1 / GPLv3+ / LGPLv3+ +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License or as specified alternatively below. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# Major Contributor(s): +# [ Copyright (C) 2011 Bjoern Michaelsen <bjoern.michael...@canonical.com> (initial developer) ] +# +# All Rights Reserved. +# +# For minor contributions see the git repository. +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 3 or later (the "GPLv3+"), or +# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), +# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable +# instead of those above. + + +# speed up if no target need to parse all modules +ifeq ($(filter-out id tags docs distro-pack-install fetch help debugrun,$(MAKECMDGOALS)),) +gb_Module_add_target= +gb_Module_add_check_target= +gb_Module_add_subsequentcheck_target= +gb_FULLDEPS= +endif + +# vim:set shiftwidth=4 softtabstop=4 noexpandtab: + diff --git a/solenv/gbuild/extensions/pre_AuxTargets.mk b/solenv/gbuild/extensions/pre_AuxTargets.mk new file mode 100644 index 0000000..3fa0994 --- /dev/null +++ b/solenv/gbuild/extensions/pre_AuxTargets.mk @@ -0,0 +1,57 @@ +# -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +# +# Version: MPL 1.1 / GPLv3+ / LGPLv3+ +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License or as specified alternatively below. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# Major Contributor(s): +# [ Copyright (C) 2011 Bjoern Michaelsen <bjoern.michael...@canonical.com> (initial developer) ] +# +# All Rights Reserved. +# +# For minor contributions see the git repository. +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 3 or later (the "GPLv3+"), or +# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), +# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable +# instead of those above. + +.PHONY: id tags docs distro-pack-install fetch + +id: + @create-ids + +tags: + @create-tags + +docs: + @mkdocs.sh $(SRCDIR)/docs $(SOLARENV)/inc/doxygen.cfg + +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 + +$(SRCDIR)/src.downloaded: $(SRCDIR)/ooo.lst $(SRCDIR)/download + @$(SRCDIR)/download $(SRCDIR)/ooo.lst && touch $@ + +fetch: $(SRCDIR)/src.downloaded + +$(WORKDIR)/bootstrap: + @cd $(SRCDIR) && ./bootstrap + @touch $@ + +bootstrap: $(WORKDIR)/bootstrap + +# vim:set shiftwidth=4 softtabstop=4 noexpandtab: + diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk index 03f395a..c3d1308 100644 --- a/solenv/gbuild/gbuild.mk +++ b/solenv/gbuild/gbuild.mk @@ -403,7 +403,7 @@ INTERACTIVE VARIABLES: endef .PHONY: help -help : +help: $(info $(gb_HelpMessage)) @true diff --git a/tail_build/Makefile b/tail_build/Makefile index 625b0cb..59fd1c7 100644 --- a/tail_build/Makefile +++ b/tail_build/Makefile @@ -30,6 +30,8 @@ ifeq ($(strip $(SOLARENV)),) include $(dir $(realpath $(firstword $(MAKEFILE_LIST))))/../solenv/gbuild/source_and_rerun.mk else +gb_PARTIALBUILD=T + include $(SOLARENV)/gbuild/gbuild.mk $(eval $(call gb_Module_make_global_targets,$(SRCDIR)/Module_tail_build.mk)) _______________________________________________ Libreoffice-commits mailing list Libreoffice-commits@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits