home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OpenStep 4.2J (Developer)
/
os42jdev.iso
/
NextDeveloper
/
Makefiles
/
pb_makefiles
/
aggregate.make
next >
Wrap
Text File
|
1997-03-17
|
2KB
|
79 lines
#
# aggregate.make
#
# Variable definitions and rules for building aggregate projects. An
# aggregate is a project which does not itself contain any code or
# resources, but instead contains a number of related subprojects. For
# example, if you have a framework, a palette which palettizes the framework
# classes, and some applications which use the palette, then you would
# create an aggregate which contains all of them.
#
# PUBLIC TARGETS
# aggregate: synonymous with all
#
# IMPORTED VARIABLES
# none
#
# EXPORTED VARIABLES
# none
#
.PHONY: aggregate all
aggregate: all
PROJTYPE = AGGREGATE
include $(MAKEFILEDIR)/common.make
-include $(LOCAL_MAKEFILEDIR)/aggregate.make.preamble
#
# ensure that subprojects will have access to each other's products
#
RECURSIVE_CFLAGS += -I$(SYMROOT)/Headers -I$(SYMROOT)/PrivateHeaders -F$(SYMROOT)
RECURSIVE_LDFLAGS += -F$(SYMROOT) -L$(SYMROOT)
#
# unlike most project types, the aggregate does no processing on its
# own and simply recursively invokes the given target on all subprojects
#
all: banner-for-all $(RECURSABLE_DIRS:%=all@%)
clean: banner-for-clean $(RECURSABLE_DIRS:%=clean@%)
mostlyclean: banner-for-mostlyclean $(RECURSABLE_DIRS:%=mostlyclean@%)
prebuild: banner-for-prebuild $(RECURSABLE_DIRS:%=prebuild@%)
build: banner-for-build $(RECURSABLE_DIRS:%=build@%)
installhdrs: banner-for-installhdrs $(RECURSABLE_DIRS:%=installhdrs@%)
ifeq ($(OS)-$(REINSTALLING)-$(STRIP_ON_INSTALL), WINDOWS--YES)
install: all
$(MAKE) reinstall-stripped REINSTALLING=YES
else
install: banner-for-install $(BEFORE_INSTALL) $(RECURSABLE_DIRS:%=install@%) $(AFTER_INSTALL)
endif
$(RECURSABLE_DIRS:%=all@%): banner-for-all
$(RECURSABLE_DIRS:%=clean@%): banner-for-clean
$(RECURSABLE_DIRS:%=mostlyclean@%): banner-for-mostlyclean
$(RECURSABLE_DIRS:%=prebuild@%): banner-for-prebuild
$(RECURSABLE_DIRS:%=build@%): banner-for-build
$(RECURSABLE_DIRS:%=installhdrs@%): banner-for-installhdrs
$(RECURSABLE_DIRS:%=install@%): banner-for-install
BANNER_TARGET = $(subst banner-for-,,$@)
banner-for-%:
$(SILENT) $(ECHO) == Making $(BANNER_TARGET) for $(TARGET_ARCHS) in $(ALL_SUBPROJECTS) ==
#
# Special rules for making stripped targets on NT
# Note that this section is duplicated in install.make, and any
# changes made here must be reflected there.
#
ifeq "$(OS)" "WINDOWS"
include $(MAKEFILEDIR)/reinstall.make
endif
-include $(LOCAL_MAKEFILEDIR)/aggregate.make.postamble