mirror of
https://github.com/gnustep/tools-make.git
synced 2025-04-23 22:33:28 +00:00
Implemented parallel building of multiple instances of apps, bundles, libraries, ctools, clibraries, test-tools, test-apps, test-libraries, services, palettes, gswbundles, gswapps
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@29577 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
83912a349a
commit
40f2775b7a
23 changed files with 289 additions and 50 deletions
36
ChangeLog
36
ChangeLog
|
@ -1,3 +1,39 @@
|
|||
2010-02-12 Nicola Pero <nicola.pero@meta-innovation.com>
|
||||
|
||||
Implemented parallelizing builds of multiple instances of
|
||||
everything, except for frameworks, documentation, resource sets
|
||||
and java.
|
||||
* rules (GNUSTEP_BUILD_DIR, GNUSTEP_OBJ_DIR): Removed rules to
|
||||
create these directories.
|
||||
* Master/rules.make (GNUSTEP_BUILD_DIR, GNUSTEP_OBJ_DIR): Moved
|
||||
here the rule to create these directories.
|
||||
* Master/rules.make: Updated all rules to pass
|
||||
_GNUSTEP_MAKE_PARALLEL=no to submakes.
|
||||
|
||||
* Master/application.make (internal-all): Support parallel
|
||||
building. Depend on GNUSTEP_OBJ_DIR. (APP_NAME): Depend on
|
||||
GNUSTEP_OBJ_DIR.
|
||||
* Master/bundle.make: Same changes.
|
||||
* Master/clibrary.make: Same changes.
|
||||
* Master/ctool.make: Same changes.
|
||||
* Master/gswapp.make: Same changes.
|
||||
* Master/gsbundle.make: Same changes.
|
||||
* Master/library.make: Same changes.
|
||||
* Master/objc.make: Same changes.
|
||||
* Master/palette.make: Same changes.
|
||||
* Master/service.make: Same changes.
|
||||
* Master/test-application.make: Same changes.
|
||||
* Master/test-library.make: Same changes.
|
||||
* Master/test-tool.make: Same changes.
|
||||
|
||||
* Master/tool.make (internal-all): Depend on GNUSTEP_OBJ_DIR.
|
||||
(TOOL_NAME): Depend on GNUSTEP_OBJ_DIR.
|
||||
* Master/framework.make: Same changes.
|
||||
* Master/subproject.make: Same changes.
|
||||
|
||||
* Master/tool.name (TOOL_NAME): Set after including rules.make for
|
||||
consistency with other make fragments.
|
||||
|
||||
2010-02-12 Nicola Pero <nicola.pero@meta-innovation.com>
|
||||
|
||||
* Documentation/releasenotes.texi: Updated.
|
||||
|
|
|
@ -27,7 +27,22 @@ endif
|
|||
|
||||
APP_NAME := $(strip $(APP_NAME))
|
||||
|
||||
internal-all:: $(APP_NAME:=.all.app.variables)
|
||||
ifeq ($(GNUSTEP_MAKE_PARALLEL_BUILDING), no)
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR) $(APP_NAME:=.all.app.variables)
|
||||
|
||||
else
|
||||
|
||||
# See tool.make for an explanation of the parallel building.
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR)
|
||||
$(ECHO_NOTHING)$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory --no-keep-going \
|
||||
internal-master-app-all \
|
||||
GNUSTEP_BUILD_DIR="$(GNUSTEP_BUILD_DIR)" \
|
||||
_GNUSTEP_MAKE_PARALLEL=yes$(END_ECHO)
|
||||
|
||||
internal-master-app-all: $(APP_NAME:=.all.app.variables)
|
||||
|
||||
endif
|
||||
|
||||
internal-install:: $(APP_NAME:=.install.app.variables)
|
||||
|
||||
|
@ -55,7 +70,7 @@ ifeq ($(GNUSTEP_IS_FLATTENED), no)
|
|||
(cd $(GNUSTEP_BUILD_DIR); rm -rf *.$(APP_EXTENSION))
|
||||
endif
|
||||
|
||||
# The following make trick extracts all tools in APP_NAME for which
|
||||
# The following make trick extracts all apps in APP_NAME for which
|
||||
# the xxx_SUBPROJECTS variable is set to something non-empty.
|
||||
# For those apps (and only for them), we need to run 'clean' and
|
||||
# 'distclean' in subprojects too.
|
||||
|
@ -75,5 +90,5 @@ internal-strings:: $(APP_NAME:=.strings.app.variables)
|
|||
|
||||
# FIXME - GNUSTEP_BUILD_DIR here. Btw should we remove this or
|
||||
# provide a better more general way of doing it ?
|
||||
$(APP_NAME):
|
||||
$(APP_NAME): $(GNUSTEP_OBJ_DIR)
|
||||
@$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory $@.all.app.variables
|
||||
|
|
|
@ -27,7 +27,21 @@ endif
|
|||
|
||||
BUNDLE_NAME := $(strip $(BUNDLE_NAME))
|
||||
|
||||
internal-all:: $(BUNDLE_NAME:=.all.bundle.variables)
|
||||
ifeq ($(GNUSTEP_MAKE_PARALLEL_BUILDING), no)
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR) $(BUNDLE_NAME:=.all.bundle.variables)
|
||||
|
||||
else
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR)
|
||||
$(ECHO_NOTHING)$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory --no-keep-going \
|
||||
internal-master-bundle-all \
|
||||
GNUSTEP_BUILD_DIR="$(GNUSTEP_BUILD_DIR)" \
|
||||
_GNUSTEP_MAKE_PARALLEL=yes$(END_ECHO)
|
||||
|
||||
internal-master-bundle-all: $(BUNDLE_NAME:=.all.bundle.variables)
|
||||
|
||||
endif
|
||||
|
||||
internal-install:: $(BUNDLE_NAME:=.install.bundle.variables)
|
||||
|
||||
|
@ -51,6 +65,6 @@ endif
|
|||
|
||||
internal-strings:: $(BUNDLE_NAME:=.strings.bundle.variables)
|
||||
|
||||
$(BUNDLE_NAME):
|
||||
$(BUNDLE_NAME): $(GNUSTEP_OBJ_DIR)
|
||||
@$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory \
|
||||
$@.all.bundle.variables
|
||||
|
|
|
@ -27,7 +27,21 @@ endif
|
|||
|
||||
CLIBRARY_NAME := $(strip $(CLIBRARY_NAME))
|
||||
|
||||
internal-all:: $(CLIBRARY_NAME:=.all.clibrary.variables)
|
||||
ifeq ($(GNUSTEP_MAKE_PARALLEL_BUILDING), no)
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR) $(CLIBRARY_NAME:=.all.clibrary.variables)
|
||||
|
||||
else
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR)
|
||||
$(ECHO_NOTHING)$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory --no-keep-going \
|
||||
internal-master-clibrary-all \
|
||||
GNUSTEP_BUILD_DIR="$(GNUSTEP_BUILD_DIR)" \
|
||||
_GNUSTEP_MAKE_PARALLEL=yes$(END_ECHO)
|
||||
|
||||
internal-master-clibrary-all: $(CLIBRARY_NAME:=.all.clibrary.variables)
|
||||
|
||||
endif
|
||||
|
||||
internal-install:: $(CLIBRARY_NAME:=.install.clibrary.variables)
|
||||
|
||||
|
@ -52,6 +66,6 @@ endif
|
|||
|
||||
internal-strings:: $(CLIBRARY_NAME:=.strings.clibrary.variables)
|
||||
|
||||
$(CLIBRARY_NAME):
|
||||
$(CLIBRARY_NAME): $(GNUSTEP_OBJ_DIR)
|
||||
@$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory \
|
||||
$@.all.clibrary.variables
|
||||
|
|
|
@ -26,7 +26,21 @@ endif
|
|||
|
||||
CTOOL_NAME := $(strip $(CTOOL_NAME))
|
||||
|
||||
internal-all:: $(CTOOL_NAME:=.all.ctool.variables)
|
||||
ifeq ($(GNUSTEP_MAKE_PARALLEL_BUILDING), no)
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR) $(CTOOL_NAME:=.all.ctool.variables)
|
||||
|
||||
else
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR)
|
||||
$(ECHO_NOTHING)$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory --no-keep-going \
|
||||
internal-master-ctool-all \
|
||||
GNUSTEP_BUILD_DIR="$(GNUSTEP_BUILD_DIR)" \
|
||||
_GNUSTEP_MAKE_PARALLEL=yes$(END_ECHO)
|
||||
|
||||
internal-master-ctool-all: $(CTOOL_NAME:=.all.ctool.variables)
|
||||
|
||||
endif
|
||||
|
||||
internal-install:: $(CTOOL_NAME:=.install.ctool.variables)
|
||||
|
||||
|
@ -44,6 +58,6 @@ endif
|
|||
|
||||
internal-strings:: $(CTOOL_NAME:=.strings.ctool.variables)
|
||||
|
||||
$(CTOOL_NAME):
|
||||
$(CTOOL_NAME): $(GNUSTEP_OBJ_DIR)
|
||||
@$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory \
|
||||
$@.all.ctool.variables
|
||||
|
|
|
@ -27,6 +27,7 @@ endif
|
|||
DOCUMENT_NAME := $(strip $(DOCUMENT_NAME))
|
||||
DOCUMENT_TEXT_NAME := $(strip $(DOCUMENT_TEXT_NAME))
|
||||
|
||||
# FIXME/TODO: Parallel build of documentation
|
||||
internal-all:: $(DOCUMENT_NAME:=.all.doc.variables) \
|
||||
$(DOCUMENT_TEXT_NAME:=.all.textdoc.variables)
|
||||
|
||||
|
|
|
@ -36,7 +36,9 @@ build-headers:: before-build-headers $(FRAMEWORK_NAME:=.build-headers.framework.
|
|||
|
||||
before-all:: build-headers
|
||||
|
||||
internal-all:: $(FRAMEWORK_NAME:=.all.framework.variables)
|
||||
# TODO: Parallel building
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR) $(FRAMEWORK_NAME:=.all.framework.variables)
|
||||
|
||||
$(FRAMEWORK_NAME:=.all.framework.variables): $(FRAMEWORK_NAME:=.build-headers.framework.variables)
|
||||
|
||||
internal-install:: $(FRAMEWORK_NAME:=.install.framework.variables)
|
||||
|
@ -49,6 +51,6 @@ internal-distclean:: $(FRAMEWORK_NAME:=.distclean.framework.variables)
|
|||
|
||||
internal-strings:: $(FRAMEWORK_NAME:=.strings.framework.variables)
|
||||
|
||||
$(FRAMEWORK_NAME):
|
||||
$(FRAMEWORK_NAME): $(GNUSTEP_OBJ_DIR)
|
||||
@$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory --no-keep-going \
|
||||
$@.all.framework.variables
|
||||
|
|
|
@ -31,7 +31,21 @@ GSWAPP_EXTENSION=gswa
|
|||
|
||||
GSWAPP_NAME := $(strip $(GSWAPP_NAME))
|
||||
|
||||
internal-all:: $(GSWAPP_NAME:=.all.gswapp.variables)
|
||||
ifeq ($(GNUSTEP_MAKE_PARALLEL_BUILDING), no)
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR) $(GSWAPP_NAME:=.all.gswapp.variables)
|
||||
|
||||
else
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR)
|
||||
$(ECHO_NOTHING)$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory --no-keep-going \
|
||||
internal-master-gswapp-all \
|
||||
GNUSTEP_BUILD_DIR="$(GNUSTEP_BUILD_DIR)" \
|
||||
_GNUSTEP_MAKE_PARALLEL=yes$(END_ECHO)
|
||||
|
||||
internal-master-gswapp-all: $(GSWAPP_NAME:=.all.gswapp.variables)
|
||||
|
||||
endif
|
||||
|
||||
internal-install:: $(GSWAPP_NAME:=.install.gswapp.variables)
|
||||
|
||||
|
@ -60,6 +74,6 @@ endif
|
|||
|
||||
internal-strings:: $(GSWAPP_NAME:=.strings.gswapp.variables)
|
||||
|
||||
$(GSWAPP_NAME):
|
||||
$(GSWAPP_NAME): $(GNUSTEP_OBJ_DIR)
|
||||
@$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory \
|
||||
$@.all.gswapp.variables
|
||||
|
|
|
@ -31,7 +31,21 @@ endif
|
|||
|
||||
GSWBUNDLE_NAME := $(strip $(GSWBUNDLE_NAME))
|
||||
|
||||
internal-all:: $(GSWBUNDLE_NAME:=.all.gswbundle.variables)
|
||||
ifeq ($(GNUSTEP_MAKE_PARALLEL_BUILDING), no)
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR) $(GSWBUNDLE_NAME:=.all.gswbundle.variables)
|
||||
|
||||
else
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR)
|
||||
$(ECHO_NOTHING)$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory --no-keep-going \
|
||||
internal-master-gswbundle-all \
|
||||
GNUSTEP_BUILD_DIR="$(GNUSTEP_BUILD_DIR)" \
|
||||
_GNUSTEP_MAKE_PARALLEL=yes$(END_ECHO)
|
||||
|
||||
internal-master-gswbundle-all: $(GSWBUNDLE_NAME:=.all.gswbundle.variables)
|
||||
|
||||
endif
|
||||
|
||||
internal-install:: $(GSWBUNDLE_NAME:=.install.gswbundle.variables)
|
||||
|
||||
|
@ -51,6 +65,6 @@ endif
|
|||
|
||||
internal-all:: $(GSWBUNDLE_NAME:=.all.gswbundle.variables)
|
||||
|
||||
$(GSWBUNDLE_NAME):
|
||||
$(GSWBUNDLE_NAME): $(GNUSTEP_OBJ_DIR)
|
||||
@$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory \
|
||||
$@.all.gswbundle.variables
|
||||
|
|
|
@ -34,6 +34,7 @@ ifeq ($(RULES_MAKE_LOADED),)
|
|||
include $(GNUSTEP_MAKEFILES)/rules.make
|
||||
endif
|
||||
|
||||
# TODO: Parallel building.
|
||||
internal-all:: $(JAVA_TOOL_NAME:=.all.java_tool.variables)
|
||||
|
||||
internal-install:: $(JAVA_TOOL_NAME:=.install.java_tool.variables)
|
||||
|
|
|
@ -26,6 +26,9 @@ endif
|
|||
|
||||
JAVA_PACKAGE_NAME := $(strip $(JAVA_PACKAGE_NAME))
|
||||
|
||||
# Parallel building here is probably of little help since most
|
||||
# GNUmakefiles will have a single java package. There is no point in
|
||||
# having more than one.
|
||||
internal-all:: $(JAVA_PACKAGE_NAME:=.all.java-package.variables)
|
||||
|
||||
internal-install:: $(JAVA_PACKAGE_NAME:=.install.java-package.variables)
|
||||
|
|
|
@ -27,7 +27,21 @@ endif
|
|||
|
||||
LIBRARY_NAME := $(strip $(LIBRARY_NAME))
|
||||
|
||||
internal-all:: $(LIBRARY_NAME:=.all.library.variables)
|
||||
ifeq ($(GNUSTEP_MAKE_PARALLEL_BUILDING), no)
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR) $(LIBRARY_NAME:=.all.library.variables)
|
||||
|
||||
else
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR)
|
||||
$(ECHO_NOTHING)$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory --no-keep-going \
|
||||
internal-master-library-all \
|
||||
GNUSTEP_BUILD_DIR="$(GNUSTEP_BUILD_DIR)" \
|
||||
_GNUSTEP_MAKE_PARALLEL=yes$(END_ECHO)
|
||||
|
||||
internal-master-library-all: $(LIBRARY_NAME:=.all.library.variables)
|
||||
|
||||
endif
|
||||
|
||||
internal-install:: $(LIBRARY_NAME:=.install.library.variables)
|
||||
|
||||
|
@ -52,6 +66,6 @@ endif
|
|||
|
||||
internal-strings:: $(LIBRARY_NAME:=.strings.library.variables)
|
||||
|
||||
$(LIBRARY_NAME):
|
||||
$(LIBRARY_NAME): $(GNUSTEP_OBJ_DIR)
|
||||
@$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory \
|
||||
$@.all.library.variables
|
||||
|
|
|
@ -26,7 +26,21 @@ ifeq ($(RULES_MAKE_LOADED),)
|
|||
include $(GNUSTEP_MAKEFILES)/rules.make
|
||||
endif
|
||||
|
||||
internal-all:: $(OBJC_PROGRAM_NAME:=.all.objc-program.variables)
|
||||
ifeq ($(GNUSTEP_MAKE_PARALLEL_BUILDING), no)
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR) $(OBJC_PROGRAM_NAME:=.all.objc-program.variables)
|
||||
|
||||
else
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR)
|
||||
$(ECHO_NOTHING)$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory --no-keep-going \
|
||||
internal-master-objc-program-all \
|
||||
GNUSTEP_BUILD_DIR="$(GNUSTEP_BUILD_DIR)" \
|
||||
_GNUSTEP_MAKE_PARALLEL=yes$(END_ECHO)
|
||||
|
||||
internal-master-objc-program-all: $(OBJC_PROGRAM_NAME:=.all.objc-program.variables)
|
||||
|
||||
endif
|
||||
|
||||
internal-install:: $(OBJC_PROGRAM_NAME:=.install.objc-program.variables)
|
||||
|
||||
|
@ -44,6 +58,6 @@ endif
|
|||
|
||||
internal-strings:: $(OBJC_PROGRAM_NAME:=.strings.objc-program.variables)
|
||||
|
||||
$(OBJC_PROGRAM_NAME):
|
||||
$(OBJC_PROGRAM_NAME): $(GNUSTEP_OBJ_DIR)
|
||||
@$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory \
|
||||
$@.all.objc-program.variables
|
||||
|
|
|
@ -28,7 +28,21 @@ endif
|
|||
|
||||
PALETTE_NAME:=$(strip $(PALETTE_NAME))
|
||||
|
||||
internal-all:: $(PALETTE_NAME:=.all.palette.variables)
|
||||
ifeq ($(GNUSTEP_MAKE_PARALLEL_BUILDING), no)
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR) $(PALETTE_NAME:=.all.palette.variables)
|
||||
|
||||
else
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR)
|
||||
$(ECHO_NOTHING)$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory --no-keep-going \
|
||||
internal-master-palette-all \
|
||||
GNUSTEP_BUILD_DIR="$(GNUSTEP_BUILD_DIR)" \
|
||||
_GNUSTEP_MAKE_PARALLEL=yes$(END_ECHO)
|
||||
|
||||
internal-master-palette-all: $(PALETTE_NAME:=.all.palette.variables)
|
||||
|
||||
endif
|
||||
|
||||
internal-install:: $(PALETTE_NAME:=.install.palette.variables)
|
||||
|
||||
|
@ -58,6 +72,6 @@ endif
|
|||
|
||||
internal-strings:: $(PALETTE_NAME:=.strings.palette.variables)
|
||||
|
||||
$(PALETTE_NAME):
|
||||
$(PALETTE_NAME): $(GNUSTEP_OBJ_DIR)
|
||||
@$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory \
|
||||
$@.all.palette.variables
|
||||
|
|
|
@ -52,8 +52,18 @@ ifeq ($(GNUSTEP_BUILD_DIR),.)
|
|||
all:: before-all internal-all after-all
|
||||
else
|
||||
all:: $(GNUSTEP_BUILD_DIR) before-all internal-all after-all
|
||||
|
||||
$(GNUSTEP_BUILD_DIR):
|
||||
$(ECHO_CREATING)$(MKDIRS) $(GNUSTEP_BUILD_DIR)$(END_ECHO)
|
||||
endif
|
||||
|
||||
# The rule to create the objects file directory. This should be done
|
||||
# in the Master invocation before any parallel stuff is started (to
|
||||
# avoid race conditions in trying to create it).
|
||||
$(GNUSTEP_OBJ_DIR):
|
||||
$(ECHO_NOTHING)cd $(GNUSTEP_BUILD_DIR); \
|
||||
$(MKDIRS) ./$(GNUSTEP_OBJ_DIR_NAME)$(END_ECHO)
|
||||
|
||||
# internal-after-install is used by packaging to get the list of files
|
||||
# installed (see rpm.make); it must come after *all* the installation
|
||||
# rules have been executed.
|
||||
|
@ -329,6 +339,7 @@ if [ "$($(basename $(basename $*))_SUBPROJECTS)" != "" ]; then \
|
|||
OWNING_PROJECT_HEADER_DIR_NAME="$${owning_project_header_dir}" \
|
||||
DERIVED_SOURCES="../$(DERIVED_SOURCES)" \
|
||||
GNUSTEP_BUILD_DIR="$$gsbuild" \
|
||||
_GNUSTEP_MAKE_PARALLEL=no \
|
||||
; then \
|
||||
:; \
|
||||
else exit $$?; \
|
||||
|
@ -342,7 +353,8 @@ $(MAKE) -f $(MAKEFILE_NAME) --no-print-directory --no-keep-going \
|
|||
GNUSTEP_TYPE=$$type \
|
||||
GNUSTEP_INSTANCE=$$instance \
|
||||
GNUSTEP_OPERATION=$$operation \
|
||||
GNUSTEP_BUILD_DIR="$${abs_build_dir}"
|
||||
GNUSTEP_BUILD_DIR="$${abs_build_dir}" \
|
||||
_GNUSTEP_MAKE_PARALLEL=no \
|
||||
|
||||
#
|
||||
# This rule provides exactly the same code as the %.variables one with
|
||||
|
@ -404,6 +416,7 @@ if [ "$($(basename $(basename $*))_SUBPROJECTS)" != "" ]; then \
|
|||
OWNING_PROJECT_HEADER_DIR_NAME="$${owning_project_header_dir}" \
|
||||
DERIVED_SOURCES="../$(DERIVED_SOURCES)" \
|
||||
GNUSTEP_BUILD_DIR="$$gsbuild" \
|
||||
_GNUSTEP_MAKE_PARALLEL=no \
|
||||
; then \
|
||||
:; \
|
||||
else exit $$?; \
|
||||
|
|
|
@ -27,7 +27,21 @@ endif
|
|||
|
||||
SERVICE_NAME := $(strip $(SERVICE_NAME))
|
||||
|
||||
internal-all:: $(SERVICE_NAME:=.all.service.variables)
|
||||
ifeq ($(GNUSTEP_MAKE_PARALLEL_BUILDING), no)
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR) $(SERVICE_NAME:=.all.service.variables)
|
||||
|
||||
else
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR)
|
||||
$(ECHO_NOTHING)$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory --no-keep-going \
|
||||
internal-master-service-all \
|
||||
GNUSTEP_BUILD_DIR="$(GNUSTEP_BUILD_DIR)" \
|
||||
_GNUSTEP_MAKE_PARALLEL=yes$(END_ECHO)
|
||||
|
||||
internal-master-service-all: $(SERVICE_NAME:=.all.service.variables)
|
||||
|
||||
endif
|
||||
|
||||
internal-install:: $(SERVICE_NAME:=.install.service.variables)
|
||||
|
||||
|
@ -58,6 +72,6 @@ endif
|
|||
|
||||
internal-strings:: $(SERVICE_NAME:=.strings.service.variables)
|
||||
|
||||
$(SERVICE_NAME):
|
||||
$(SERVICE_NAME): $(GNUSTEP_OBJ_DIR)
|
||||
@$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory \
|
||||
$@.all.service.variables
|
||||
|
|
|
@ -41,7 +41,10 @@ endif
|
|||
|
||||
build-headers:: $(SUBPROJECT_NAME:=.build-headers.subproject.variables)
|
||||
|
||||
internal-all:: $(SUBPROJECT_NAME:=.all.subproject.variables)
|
||||
# No need for parallel building, since we are guaranteed to always
|
||||
# have only one subproject. Avoid the parallel building submake for
|
||||
# efficiency in that case.
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR) $(SUBPROJECT_NAME:=.all.subproject.variables)
|
||||
|
||||
internal-install:: $(SUBPROJECT_NAME:=.install.subproject.variables)
|
||||
|
||||
|
@ -66,6 +69,6 @@ endif
|
|||
|
||||
internal-strings:: $(SUBPROJECT_NAME:=.strings.subproject.variables)
|
||||
|
||||
$(SUBPROJECT_NAME):
|
||||
$(SUBPROJECT_NAME): $(GNUSTEP_OBJ_DIR)
|
||||
@$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory \
|
||||
$@.all.subproject.variables
|
||||
|
|
|
@ -27,7 +27,21 @@ endif
|
|||
# Building of test applications works as in application.make, except
|
||||
# you can't install them!
|
||||
|
||||
internal-all:: $(TEST_APP_NAME:=.all.test-app.variables)
|
||||
ifeq ($(GNUSTEP_MAKE_PARALLEL_BUILDING), no)
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR) $(TEST_APP_NAME:=.all.test-app.variables)
|
||||
|
||||
else
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR)
|
||||
$(ECHO_NOTHING)$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory --no-keep-going \
|
||||
internal-master-test-app-all \
|
||||
GNUSTEP_BUILD_DIR="$(GNUSTEP_BUILD_DIR)" \
|
||||
_GNUSTEP_MAKE_PARALLEL=yes$(END_ECHO)
|
||||
|
||||
internal-master-test-app-all: $(TEST_APP_NAME:=.all.test-app.variables)
|
||||
|
||||
endif
|
||||
|
||||
_PSWRAP_C_FILES = $(foreach app,$(TEST_APP_NAME),$($(app)_PSWRAP_FILES:.psw=.c))
|
||||
_PSWRAP_H_FILES = $(foreach app,$(TEST_APP_NAME),$($(app)_PSWRAP_FILES:.psw=.h))
|
||||
|
@ -54,7 +68,8 @@ endif
|
|||
|
||||
internal-strings:: $(TEST_APP_NAME:=.strings.test-app.variables)
|
||||
|
||||
$(TEST_APP_NAME)::
|
||||
# FIXME: Shouldn't this be a : rule ?
|
||||
$(TEST_APP_NAME):: $(GNUSTEP_OBJ_DIR)
|
||||
@$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory \
|
||||
$@.all.test-app.variables
|
||||
|
||||
|
|
|
@ -27,7 +27,21 @@ ifeq ($(RULES_MAKE_LOADED),)
|
|||
include $(GNUSTEP_MAKEFILES)/rules.make
|
||||
endif
|
||||
|
||||
internal-all:: $(TEST_LIBRARY_NAME:=.all.test-lib.variables)
|
||||
ifeq ($(GNUSTEP_MAKE_PARALLEL_BUILDING), no)
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR) $(TEST_LIBRARY_NAME:=.all.test-lib.variables)
|
||||
|
||||
else
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR)
|
||||
$(ECHO_NOTHING)$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory --no-keep-going \
|
||||
internal-master-test-lib-all \
|
||||
GNUSTEP_BUILD_DIR="$(GNUSTEP_BUILD_DIR)" \
|
||||
_GNUSTEP_MAKE_PARALLEL=yes$(END_ECHO)
|
||||
|
||||
internal-master-test-lib-all: $(TEST_LIBRARY_NAME:=.all.test-lib.variables)
|
||||
|
||||
endif
|
||||
|
||||
internal-install:: $(TEST_LIBRARY_NAME:=.install.test-lib.variables)
|
||||
|
||||
|
@ -54,6 +68,6 @@ internal-check:: $(TEST_LIBRARY_NAME:=.check.test-lib.variables)
|
|||
|
||||
internal-strings:: $(TEST_LIBRARY_NAME:=.strings.test-lib.variables)
|
||||
|
||||
$(TEST_LIBRARY_NAME)::
|
||||
$(TEST_LIBRARY_NAME):: $(GNUSTEP_OBJ_DIR)
|
||||
@$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory \
|
||||
$@.all.test-lib.variables
|
||||
|
|
|
@ -26,7 +26,21 @@ endif
|
|||
|
||||
# Building of test tools works as in tool.make, except we don't install them.
|
||||
|
||||
internal-all:: $(TEST_TOOL_NAME:=.all.test-tool.variables)
|
||||
ifeq ($(GNUSTEP_MAKE_PARALLEL_BUILDING), no)
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR) $(TEST_TOOL_NAME:=.all.test-tool.variables)
|
||||
|
||||
else
|
||||
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR)
|
||||
$(ECHO_NOTHING)$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory --no-keep-going \
|
||||
internal-master-test-tool-all \
|
||||
GNUSTEP_BUILD_DIR="$(GNUSTEP_BUILD_DIR)" \
|
||||
_GNUSTEP_MAKE_PARALLEL=yes$(END_ECHO)
|
||||
|
||||
internal-master-test-tool-all: $(TEST_TOOL_NAME:=.all.test-tool.variables)
|
||||
|
||||
endif
|
||||
|
||||
internal-clean::
|
||||
|
||||
|
@ -40,7 +54,7 @@ endif
|
|||
|
||||
internal-strings:: $(TEST_TOOL_NAME:=.strings.test-tool.variables)
|
||||
|
||||
$(TEST_TOOL_NAME)::
|
||||
$(TEST_TOOL_NAME):: $(GNUSTEP_OBJ_DIR)
|
||||
@$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory \
|
||||
$@.all.test-tool.variables
|
||||
|
||||
|
|
|
@ -20,16 +20,16 @@
|
|||
# If not, write to the Free Software Foundation,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
TOOL_NAME := $(strip $(TOOL_NAME))
|
||||
|
||||
ifeq ($(RULES_MAKE_LOADED),)
|
||||
include $(GNUSTEP_MAKEFILES)/rules.make
|
||||
endif
|
||||
|
||||
TOOL_NAME := $(strip $(TOOL_NAME))
|
||||
|
||||
ifeq ($(GNUSTEP_MAKE_PARALLEL_BUILDING), no)
|
||||
|
||||
# Standard building
|
||||
internal-all:: $(TOOL_NAME:=.all.tool.variables)
|
||||
internal-all:: $(GNUSTEP_OBJ_DIR) $(TOOL_NAME:=.all.tool.variables)
|
||||
|
||||
else
|
||||
|
||||
|
@ -92,6 +92,6 @@ endif
|
|||
# but it's worth checking to make sure we're not breaking anything.
|
||||
internal-strings:: $(TOOL_NAME:=.strings.tool.variables)
|
||||
|
||||
$(TOOL_NAME):
|
||||
$(TOOL_NAME): $(GNUSTEP_OBJ_DIR)
|
||||
@$(MAKE) -f $(MAKEFILE_NAME) --no-print-directory --no-keep-going \
|
||||
$@.all.tool.variables
|
||||
|
|
10
common.make
10
common.make
|
@ -42,6 +42,16 @@ SHELL = /bin/sh
|
|||
# from having to recompute it!
|
||||
export GNUSTEP_MAKEFILES
|
||||
|
||||
# The fact that this make invocation is building its targets in
|
||||
# parallel does not mean that submakes should do it too. We control
|
||||
# exactly which make invocation runs in parallel, and which does not.
|
||||
# So, we do not want to export _GNUSTEP_MAKE_PARALLEL to submakes,
|
||||
# unless passed on the command line. FIXME: This does not work, so as
|
||||
# a quick hack I added _GNUSTEP_MAKE_PARALLEL=no to all submake
|
||||
# invocations. That works fine, but might be troublesome for custom
|
||||
# GNUmakefiles that run submakes. Need to think.
|
||||
#unexport _GNUSTEP_MAKE_PARALLEL
|
||||
|
||||
#
|
||||
# Get the global config information. This includes
|
||||
# GNUSTEP_SYSTEM_ROOT, GNUSTEP_MAKE_VERSION, GNUSTEP_IS_FLATTENED,
|
||||
|
|
14
rules.make
14
rules.make
|
@ -690,20 +690,6 @@ $(GNUSTEP_HOME)/$(GNUSTEP_USER_CONFIG_FILE): ;
|
|||
endif
|
||||
endif
|
||||
|
||||
# The rule to create the GNUSTEP_BUILD_DIR if any. (TODO: Move this
|
||||
# into Master/rules.make with the following one.)
|
||||
ifneq ($(GNUSTEP_BUILD_DIR),.)
|
||||
$(GNUSTEP_BUILD_DIR):
|
||||
$(ECHO_CREATING)$(MKDIRS) $(GNUSTEP_BUILD_DIR)$(END_ECHO)
|
||||
endif
|
||||
|
||||
# The rule to create the objects file directory. This should be done
|
||||
# in the Master invocation. TODO: Move this rule into
|
||||
# Master/rules.make once no more makefiles in Instance/ depdend on it.
|
||||
$(GNUSTEP_OBJ_DIR):
|
||||
$(ECHO_NOTHING)cd $(GNUSTEP_BUILD_DIR); \
|
||||
$(MKDIRS) ./$(GNUSTEP_OBJ_DIR_NAME)$(END_ECHO)
|
||||
|
||||
# Now the print targets.
|
||||
.PHONY: print-gnustep-make-help \
|
||||
print-gnustep-make-objc-flags \
|
||||
|
|
Loading…
Reference in a new issue