Blame build/NWGNUhead.inc

Packit 90a5c9
#
Packit 90a5c9
# Obtain the global build environment
Packit 90a5c9
#
Packit 90a5c9
Packit 90a5c9
include $(AP_WORK)/build/NWGNUenvironment.inc
Packit 90a5c9
Packit 90a5c9
#
Packit 90a5c9
# Define base targets and rules
Packit 90a5c9
# 
Packit 90a5c9
Packit 90a5c9
TARGETS = libs nlms install clobber_libs clobber_nlms clean installdev
Packit 90a5c9
Packit 90a5c9
.PHONY : $(TARGETS) default all help $(NO_LICENSE_FILE)
Packit 90a5c9
Packit 90a5c9
# Here is where we will use the NO_LICENSE_FILE variable to see if we need to
Packit 90a5c9
# restart the make with it defined
Packit 90a5c9
Packit 90a5c9
ifdef NO_LICENSE_FILE
Packit 90a5c9
Packit 90a5c9
default: NO_LICENSE_FILE
Packit 90a5c9
Packit 90a5c9
all: NO_LICENSE_FILE
Packit 90a5c9
Packit 90a5c9
install :: NO_LICENSE_FILE
Packit 90a5c9
Packit 90a5c9
installdev :: NO_LICENSE_FILE
Packit 90a5c9
Packit 90a5c9
NO_LICENSE_FILE :
Packit 90a5c9
	$(MAKE) $(MAKECMDGOALS) -f NWGNUmakefile RELEASE=$(RELEASE) DEST="$(INSTALL)" LM_LICENSE_FILE="$(METROWERKS)/license.dat"
Packit 90a5c9
Packit 90a5c9
else # LM_LICENSE_FILE must be defined so use the real targets
Packit 90a5c9
Packit 90a5c9
default: $(SUBDIRS) libs nlms
Packit 90a5c9
Packit 90a5c9
all: $(SUBDIRS) libs nlms install
Packit 90a5c9
Packit 90a5c9
$(TARGETS) :: $(SUBDIRS)
Packit 90a5c9
Packit 90a5c9
install :: nlms $(INSTDIRS)
Packit 90a5c9
Packit 90a5c9
installdev :: $(INSTDEVDIRS)
Packit 90a5c9
Packit 90a5c9
$(INSTDIRS) ::
Packit 90a5c9
	$(call MKDIR,$@)
Packit 90a5c9
Packit 90a5c9
$(INSTDEVDIRS) ::
Packit 90a5c9
	$(call MKDIR,$@)
Packit 90a5c9
Packit 90a5c9
endif #NO_LICENSE_FILE check
Packit 90a5c9
Packit 90a5c9
help :
Packit 90a5c9
	@echo $(DL)targets for RELEASE=$(RELEASE):$(DL)
Packit 90a5c9
	@echo $(DL)(default) . . . . libs nlms$(DL)
Packit 90a5c9
	@echo $(DL)all . . . . . . . does everything (libs nlms install)$(DL)
Packit 90a5c9
	@echo $(DL)libs. . . . . . . builds all libs$(DL)
Packit 90a5c9
	@echo $(DL)nlms. . . . . . . builds all nlms$(DL)
Packit 90a5c9
	@echo $(DL)install . . . . . builds libs and nlms and copies install files to$(DL)
Packit 90a5c9
	@echo $(DL)                  "$(INSTALL)"$(DL)
Packit 90a5c9
	@echo $(DL)installdev. . . . copies headers and files needed for development to$(DL)
Packit 90a5c9
	@echo $(DL)                  "$(INSTALL)"$(DL)
Packit 90a5c9
	@echo $(DL)clean . . . . . . deletes $(OBJDIR) dirs, *.err, and *.map$(DL)
Packit 90a5c9
	@echo $(DL)clobber_all . . . deletes all possible output from the make$(DL)
Packit 90a5c9
	@echo $(DL)clobber_install . deletes all files in $(INSTALL)$(DL)
Packit 90a5c9
	@$(ECHONL)
Packit 90a5c9
	@echo $(DL)Multiple targets can be used on a single nmake command line -$(DL)
Packit 90a5c9
	@echo $(DL)(i.e. $(MAKE) clean all)$(DL)
Packit 90a5c9
	@$(ECHONL)
Packit 90a5c9
	@echo $(DL)You can also specify RELEASE=debug, RELEASE=noopt, or RELEASE=optimized$(DL)
Packit 90a5c9
	@echo $(DL)The default is RELEASE=optimized$(DL)
Packit 90a5c9
Packit 90a5c9
clobber_all :: clean clobber_install clobber_prebuild
Packit 90a5c9
Packit 90a5c9
clobber_install ::
Packit 90a5c9
	$(call RMDIR,$(INSTALL))
Packit 90a5c9
        
Packit 90a5c9
clobber_prebuild ::
Packit 90a5c9
	$(call RMDIR,$(PREBUILD_INST))
Packit 90a5c9
Packit 90a5c9
#
Packit 90a5c9
# build recursive targets
Packit 90a5c9
#
Packit 90a5c9
Packit 90a5c9
$(SUBDIRS) : FORCE
Packit 90a5c9
ifneq "$(MAKECMDGOALS)" "clean"
Packit 90a5c9
ifneq "$(findstring clobber_,$(MAKECMDGOALS))" "clobber_"
Packit 90a5c9
	@$(ECHONL)
Packit 90a5c9
	@echo $(DL)Building $(CURDIR)/$@$(DL)
Packit 90a5c9
endif
Packit 90a5c9
endif
Packit 90a5c9
	$(MAKE) -C $@ $(MAKECMDGOALS) -f NWGNUmakefile RELEASE=$(RELEASE) DEST="$(INSTALL)" LM_LICENSE_FILE="$(LM_LICENSE_FILE)"
Packit 90a5c9
	@$(ECHONL)
Packit 90a5c9
Packit 90a5c9
FORCE:
Packit 90a5c9
Packit 90a5c9
#
Packit 90a5c9
# Standard targets
Packit 90a5c9
#
Packit 90a5c9
Packit 90a5c9
clean :: $(SUBDIRS)
Packit 90a5c9
	@echo $(DL)Cleaning up $(CURDIR)$(DL)
Packit 90a5c9
	$(call RMDIR,$(OBJDIR))
Packit 90a5c9
	$(call DEL,*.err)
Packit 90a5c9
	$(call DEL,*.map)
Packit 90a5c9
	$(call DEL,*.tmp)
Packit 90a5c9
#	$(call DEL,*.d)
Packit 90a5c9
Packit 90a5c9
$(OBJDIR) ::
Packit 90a5c9
	$(call MKDIR,$@)
Packit 90a5c9