Enable parallel building support by default. Added internal compile targets to .PHONY

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@27959 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Nicola Pero 2009-02-23 11:12:11 +00:00
parent 33d8d7f345
commit 0d761979c2
13 changed files with 66 additions and 29 deletions

View file

@ -1,3 +1,23 @@
2009-02-23 Nicola Pero <nicola.pero@meta-innovation.com>
* configure.ac (GNUSTEP_MAKE_PARALLEL_BUILDING): Enable parallel
building support by default. From now on, you only need to use
eg 'make -j 2' to build something using parallel building. Updated
documentation.
* configure: Regenerated.
* Instance/application.make (.PHONY): Added
internal-app-run-compile-submake and internal-app-compile.
* Instance/bundle.make (.PHONY): Similar change.
* Instance/ctool.make (.PHONY): Similar change.
* Instance/framework.make (.PHONY): Similar change.
* Instance/library.make (.PHONY): Similar change.
* Instance/objc.make (.PHONY): Similar change.
* Instance/palette.make (.PHONY): Same change.
* Instance/service.make (.PHONY): Same change.
* Instance/subproject.make (.PHONY): Same change.
* Instance/tool.make (.PHONY): Same change.
2009-02-16 Nicola Pero <nicola.pero@meta-innovation.com> 2009-02-16 Nicola Pero <nicola.pero@meta-innovation.com>
Extended experimental parallel building support to most project Extended experimental parallel building support to most project

View file

@ -52,7 +52,9 @@ endif
internal-app-install_ \ internal-app-install_ \
internal-app-uninstall_ \ internal-app-uninstall_ \
internal-app-copy_into_dir \ internal-app-copy_into_dir \
internal-application-build-template internal-application-build-template \
internal-app-run-compile-submake \
internal-app-compile
# #
# Determine where to install. By default, install into GNUSTEP_APPS. # Determine where to install. By default, install into GNUSTEP_APPS.

View file

@ -56,7 +56,9 @@ include $(GNUSTEP_MAKEFILES)/Instance/Shared/headers.make
internal-bundle-install_ \ internal-bundle-install_ \
internal-bundle-uninstall_ \ internal-bundle-uninstall_ \
internal-bundle-copy_into_dir \ internal-bundle-copy_into_dir \
build-bundle build-bundle \
internal-bundle-run-compile-submake \
internal-bundle-compile
# In some cases, a bundle without any object file in it is useful - to # In some cases, a bundle without any object file in it is useful - to
# just store some resources which can be loaded comfortably using the # just store some resources which can be loaded comfortably using the

View file

@ -50,7 +50,8 @@ endif
.PHONY: internal-ctool-all_ \ .PHONY: internal-ctool-all_ \
internal-ctool-install_ \ internal-ctool-install_ \
internal-ctool-uninstall_ internal-ctool-uninstall_ \
internal-ctool-compile
# Override the default with just the minimal C libs required to link # Override the default with just the minimal C libs required to link
ALL_LIBS = \ ALL_LIBS = \

View file

@ -37,7 +37,9 @@ endif
internal-framework-install_ \ internal-framework-install_ \
internal-framework-distclean \ internal-framework-distclean \
internal-framework-clean \ internal-framework-clean \
internal-framework-uninstall_ internal-framework-uninstall_ \
internal-framework-run-compile-submake \
internal-framework-compile
# The name of the framework is in the FRAMEWORK_NAME variable. # The name of the framework is in the FRAMEWORK_NAME variable.
# The list of framework resource files are in xxx_RESOURCE_FILES # The list of framework resource files are in xxx_RESOURCE_FILES

View file

@ -51,7 +51,8 @@ include $(GNUSTEP_MAKEFILES)/Instance/Shared/headers.make
internal-library-install_ \ internal-library-install_ \
internal-library-uninstall_ \ internal-library-uninstall_ \
internal-install-lib \ internal-install-lib \
internal-install-dirs internal-install-dirs \
internal-library-compile
# This is the directory where the libs get installed. This should *not* # This is the directory where the libs get installed. This should *not*
# include the target arch, os directory or library_combo. # include the target arch, os directory or library_combo.

View file

@ -32,7 +32,8 @@ endif
.PHONY: internal-objc_program-all_ \ .PHONY: internal-objc_program-all_ \
internal-objc_program-install_ \ internal-objc_program-install_ \
internal-objc_program-uninstall_ internal-objc_program-uninstall_ \
internal-objc_program-compile
# This is the directory where the objc programs get installed. If you # This is the directory where the objc programs get installed. If you
# don't specify a directory they will get installed in the Tools # don't specify a directory they will get installed in the Tools

View file

@ -46,7 +46,9 @@ endif
.PHONY: internal-palette-all_ \ .PHONY: internal-palette-all_ \
internal-palette-install_ \ internal-palette-install_ \
internal-palette-uninstall_ \ internal-palette-uninstall_ \
internal-palette-copy_into_dir internal-palette-copy_into_dir \
internal-palette-run-compile-submake \
internal-palette-compile
# On windows, this is unfortunately required. # On windows, this is unfortunately required.
ifeq ($(BUILD_DLL), yes) ifeq ($(BUILD_DLL), yes)

View file

@ -37,7 +37,9 @@ endif
internal-service-install_ \ internal-service-install_ \
internal-service-uninstall_ \ internal-service-uninstall_ \
internal-service-copy_into_dir \ internal-service-copy_into_dir \
service-resource-files service-resource-files \
internal-service-run-compile-submake \
internal-service-compile
# Libraries that go before the GUI libraries # Libraries that go before the GUI libraries
ALL_SERVICE_LIBS = \ ALL_SERVICE_LIBS = \

View file

@ -26,7 +26,8 @@ endif
.PHONY: internal-subproject-all_ \ .PHONY: internal-subproject-all_ \
internal-subproject-install_ \ internal-subproject-install_ \
internal-subproject-uninstall_ internal-subproject-uninstall_ \
internal-subproject-compile
# #
# Compilation targets # Compilation targets

View file

@ -38,7 +38,8 @@ endif
.PHONY: internal-tool-all_ \ .PHONY: internal-tool-all_ \
internal-tool-install_ \ internal-tool-install_ \
internal-tool-uninstall_ \ internal-tool-uninstall_ \
internal-tool-copy_into_dir internal-tool-copy_into_dir \
internal-tool-compile
# This is the directory where the tools get installed. If you don't specify a # This is the directory where the tools get installed. If you don't specify a
# directory they will get installed in the GNUstep Local Root. # directory they will get installed in the GNUstep Local Root.

19
configure vendored
View file

@ -1430,14 +1430,15 @@ Optional Features:
gain is quite small, so you probably don't want to strip makefiles. gain is quite small, so you probably don't want to strip makefiles.
--enable-parallel-building --disable-parallel-building
Enable experimental support for parallel building. You can request Disable support for parallel building. Normally this is enabled
parallel building of a project by using the '-j N' flag for make and you can request parallel building of a project by using the '-j N'
(where N is a number, eg, '-j 4'). This is normally ignored by flag for make (where N is a number, eg, '-j 4'). If you know that
gnustep-make which by default does not support parallel building. you are never going to be using parallel building, you can disable
If you enable support for parallel building here, gnustep-make parallel building here - which will ignore all '-j N' flags, and
will parallelize the compilation step. This feature is also avoid executing a 'compile' submake invocation - resulting
experimental. Please only use it for testing it. in slightly faster non-parallel builds, but making it impossible
to do parallel builds.
Optional Packages: Optional Packages:
@ -6277,7 +6278,7 @@ echo $ECHO_N "checking if we should enable support for parallel building... $ECH
if test "${enable_parallel_building+set}" = set; then if test "${enable_parallel_building+set}" = set; then
enableval=$enable_parallel_building; ac_cv_parallel_building=$enableval enableval=$enable_parallel_building; ac_cv_parallel_building=$enableval
else else
ac_cv_parallel_building="no" ac_cv_parallel_building="yes"
fi fi

View file

@ -1531,17 +1531,18 @@ AC_SUBST(GNUSTEP_STRIP_MAKEFILES)
AC_MSG_CHECKING([if we should enable support for parallel building]) AC_MSG_CHECKING([if we should enable support for parallel building])
AC_ARG_ENABLE(parallel-building, [ AC_ARG_ENABLE(parallel-building, [
--enable-parallel-building --disable-parallel-building
Enable experimental support for parallel building. You can request Disable support for parallel building. Normally this is enabled
parallel building of a project by using the '-j N' flag for make and you can request parallel building of a project by using the '-j N'
(where N is a number, eg, '-j 4'). This is normally ignored by flag for make (where N is a number, eg, '-j 4'). If you know that
gnustep-make which by default does not support parallel building. you are never going to be using parallel building, you can disable
If you enable support for parallel building here, gnustep-make parallel building here - which will ignore all '-j N' flags, and
will parallelize the compilation step. This feature is also avoid executing a 'compile' submake invocation - resulting
experimental. Please only use it for testing it. in slightly faster non-parallel builds, but making it impossible
to do parallel builds.
], ],
ac_cv_parallel_building=$enableval, ac_cv_parallel_building=$enableval,
ac_cv_parallel_building="no") ac_cv_parallel_building="yes")
if test "$ac_cv_parallel_building" = "yes"; then if test "$ac_cv_parallel_building" = "yes"; then
AC_MSG_RESULT(yes); AC_MSG_RESULT(yes);