blob: 17f149cadde0edfb0f5f82619afb5345eeb4c3c9 [file] [log] [blame]
#
# Obtain the global build environment
#
include $(APR_WORK)\build\NWGNUenvironment.inc
#
# Define base targets and rules
#
TARGETS = libs nlms install clobber_libs clobber_nlms clean installdev
.PHONY : $(TARGETS) default all help $(NO_LICENSE_FILE)
# Here is where we will use the NO_LICENSE_FILE variable to see if we need to
# restart the make with it defined
ifdef NO_LICENSE_FILE
default: NO_LICENSE_FILE
all: NO_LICENSE_FILE
install :: NO_LICENSE_FILE
installdev :: NO_LICENSE_FILE
NO_LICENSE_FILE :
$(MAKE) $(MAKECMDGOALS) -f NWGNUmakefile RELEASE=$(RELEASE) DEST="$(INSTALL)" LM_LICENSE_FILE="$(METROWERKS)\license.dat"
else # LM_LICENSE_FILE must be defined so use the real targets
default: $(SUBDIRS) libs nlms
all: $(SUBDIRS) libs nlms install
$(TARGETS) :: $(SUBDIRS)
endif #NO_LICENSE_FILE check
help :
@echo targets for RELEASE=$(RELEASE):
@echo (default) . . . . libs nlms
@echo all . . . . . . . does everything (libs nlms install)
@echo libs. . . . . . . builds all libs
@echo nlms. . . . . . . builds all nlms
@echo install . . . . . builds libs and nlms and copies install files to
@echo "$(INSTALL)"
@echo installdev. . . . copies headers and files needed for development to
@echo "$(INSTALL)"
@echo clean . . . . . . deletes $(OBJDIR) dirs, *.err, and *.map
@echo clobber_all . . . deletes all possible output from the make
@echo clobber_install . deletes all files in $(INSTALL)
@$(CMD) echo.
@echo Multiple targets can be used on a single nmake command line -
@echo (i.e. $(MAKE) clean all)
@$(CMD) echo.
@echo You can also specify RELEASE=debug, RELEASE=noopt, or RELEASE=optimized
@echo The default is RELEASE=optimized
clobber_all :: clean clobber_install
clobber_install ::
-$(DELTREE) $(INSTALL) 2>NUL
#
# build recursive targets
#
$(SUBDIRS) : FORCE
ifneq "$(MAKECMDGOALS)" "clean"
$(CMD) echo.
@echo Building $(CURDIR)/$@
endif
$(MAKE) -C $@ $(MAKECMDGOALS) -f NWGNUmakefile RELEASE=$(RELEASE) DEST="$(INSTALL)" LM_LICENSE_FILE="$(LM_LICENSE_FILE)"
$(CMD) echo.
FORCE:
#
# Standard targets
#
clean :: $(SUBDIRS)
@echo Cleaning up $(CURDIR)
-$(DELTREE) $(OBJDIR) 2> NUL
$(CHK) *.err $(DEL) *.err
$(CHK) *.map $(DEL) *.map
$(CHK) *.d $(DEL) *.d
$(CHK) *.tmp $(DEL) *.tmp
$(CHK) xc.bat $(DEL) xc.bat
-$(DELTREE) $(OBJDIR) 2> NUL
$(OBJDIR) ::
$(CHKNOT) $(OBJDIR)\nul mkdir $(OBJDIR)