NWGNUmakefile revision f2f3f241c00a7a4bd597e57a19023940e072918a
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# Declare the sub-directories to be built here
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzSUBDIRS = \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# Get the 'head' of the build environment. This includes default targets and
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# paths to tools
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzinclude $(AP_WORK)\build\NWGNUhead.inc
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# build this level's files
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# Make sure all needed macro's are defined
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# These directories will be at the beginning of the include list, followed by
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# INCDIRS
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzXINCDIRS += \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# These flags will come after CFLAGS
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzXCFLAGS += \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# These defines will come after DEFINES
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzXDEFINES += \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# These flags will be added to the link.opt file
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzXLFLAGS += \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# These values will be appended to the correct variables based on the value of
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# RELEASE
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzifeq "$(RELEASE)" "debug"
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzXINCDIRS += \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzXCFLAGS += \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzXDEFINES += \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzXLFLAGS += \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzendif
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzifeq "$(RELEASE)" "noopt"
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzXINCDIRS += \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzXCFLAGS += \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzXDEFINES += \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzXLFLAGS += \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzendif
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzifeq "$(RELEASE)" "release"
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzXINCDIRS += \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzXCFLAGS += \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzXDEFINES += \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzXLFLAGS += \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzendif
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# These are used by the link target if an NLM is being generated
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# This is used by the link 'name' directive to name the nlm. If left blank
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# TARGET_nlm (see below) will be used.
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzNLM_NAME =
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# This is used by the link '-desc ' directive.
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# If left blank, NLM_NAME will be used.
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzNLM_DESCRIPTION =
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# This is used by the '-threadname' directive. If left blank,
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# NLM_NAME Thread will be used.
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzNLM_THREAD_NAME =
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# If this is specified, it will override VERSION value in
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# $(AP_WORK)\build\NWGNUenvironment.inc
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzNLM_VERSION =
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# If this is specified, it will override the default of 64K
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzNLM_STACK_SIZE =
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# If this is specified it will be used by the link '-entry' directive
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzNLM_ENTRY_SYM =
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# If this is specified it will be used by the link '-exit' directive
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzNLM_EXIT_SYM =
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# If this is specified it will be used by the link '-check' directive
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzNLM_CHECK_SYM =
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# If these are specified it will be used by the link '-flags' directive
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzNLM_FLAGS =
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# If this is specified it will be linked in with the XDCData option in the def
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# file instead of the default of $(NWOS)/apache.xdc. XDCData can be disabled
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# by setting APACHE_UNIPROC in the environment
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzXDCDATA =
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# If there is an NLM target, put it here
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzTARGET_nlm = \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(OBJDIR)/proxy.nlm \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(OBJDIR)/proxycon.nlm \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(OBJDIR)/proxyftp.nlm \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(OBJDIR)/proxyhtp.nlm \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(OBJDIR)/proxybalancer.nlm \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(OBJDIR)/proxyajp.nlm \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# If there is an LIB target, put it here
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzTARGET_lib = \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# These are the OBJ files needed to create the NLM target above.
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# Paths must all use the '/' character
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzFILES_nlm_objs = \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# These are the LIB files needed to create the NLM target above.
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# These will be added as a library command in the link.opt file.
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzFILES_nlm_libs = \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# These are the modules that the above NLM target depends on to load.
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# These will be added as a module command in the link.opt file.
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzFILES_nlm_modules = \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# If the nlm has a msg file, put it's path here
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzFILE_nlm_msg =
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# If the nlm has a hlp file put it's path here
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzFILE_nlm_hlp =
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# If this is specified, it will override $(NWOS)\copyright.txt.
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzFILE_nlm_copyright =
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# Any additional imports go here
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzFILES_nlm_Ximports = \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# Any symbols exported to here
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzFILES_nlm_exports = \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# These are the OBJ files needed to create the LIB target above.
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# Paths must all use the '/' character
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzFILES_lib_objs = \
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz $(EOLIST)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# implement targets and dependancies (leave this section alone)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzlibs :: $(OBJDIR) $(TARGET_lib)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartznlms :: libs $(TARGET_nlm)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# Updated this target to create necessary directories and copy files to the
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzinstall :: nlms FORCE
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz copy $(OBJDIR)\*.nlm $(INSTALL)\$(BASEDIR)\modules\*.*
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# Any specialized rules here
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# Include the 'tail' makefile that has targets that depend on variables defined
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz# in this makefile
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz#
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartzinclude $(AP_WORK)\build\NWGNUtail.inc
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz
110e73f9b5ccaa10e26a8f79807001a5da72604eschwartz