NWGNUmod_cgi revision 16b55a35cff91315d261d1baa776138af465c4e4
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Make sure all needed macro's are defined
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Get the 'head' of the build environment if necessary. This includes default
080575042aba2197b425ebfd52061dea061a9aa1xy# targets and paths to tools
080575042aba2197b425ebfd52061dea061a9aa1xy#
47b7744cbea59975a6b583125b7ed1ff2ac45313yy
080575042aba2197b425ebfd52061dea061a9aa1xyifndef EnvironmentDefined
080575042aba2197b425ebfd52061dea061a9aa1xyinclude $(AP_WORK)\build\NWGNUhead.inc
080575042aba2197b425ebfd52061dea061a9aa1xyendif
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# These directories will be at the beginning of the include list, followed by
080575042aba2197b425ebfd52061dea061a9aa1xy# INCDIRS
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyXINCDIRS += \
080575042aba2197b425ebfd52061dea061a9aa1xy $(APR)/include \
080575042aba2197b425ebfd52061dea061a9aa1xy $(APRUTIL)/include \
47b7744cbea59975a6b583125b7ed1ff2ac45313yy $(AP_WORK)/include \
080575042aba2197b425ebfd52061dea061a9aa1xy $(AP_WORK)/modules/http \
080575042aba2197b425ebfd52061dea061a9aa1xy $(AP_WORK)/modules/filters \
080575042aba2197b425ebfd52061dea061a9aa1xy $(NWOS) \
080575042aba2197b425ebfd52061dea061a9aa1xy $(EOLIST)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# These flags will come after CFLAGS
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyXCFLAGS += \
080575042aba2197b425ebfd52061dea061a9aa1xy $(EOLIST)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# These defines will come after DEFINES
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyXDEFINES += \
080575042aba2197b425ebfd52061dea061a9aa1xy $(EOLIST)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# These flags will be added to the link.opt file
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyXLFLAGS += \
080575042aba2197b425ebfd52061dea061a9aa1xy $(EOLIST)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# These values will be appended to the correct variables based on the value of
080575042aba2197b425ebfd52061dea061a9aa1xy# RELEASE
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyifeq "$(RELEASE)" "debug"
080575042aba2197b425ebfd52061dea061a9aa1xyXINCDIRS += \
080575042aba2197b425ebfd52061dea061a9aa1xy $(EOLIST)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyXCFLAGS += \
080575042aba2197b425ebfd52061dea061a9aa1xy $(EOLIST)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyXDEFINES += \
080575042aba2197b425ebfd52061dea061a9aa1xy $(EOLIST)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyXLFLAGS += \
080575042aba2197b425ebfd52061dea061a9aa1xy $(EOLIST)
080575042aba2197b425ebfd52061dea061a9aa1xyendif
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyifeq "$(RELEASE)" "noopt"
080575042aba2197b425ebfd52061dea061a9aa1xyXINCDIRS += \
080575042aba2197b425ebfd52061dea061a9aa1xy $(EOLIST)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyXCFLAGS += \
080575042aba2197b425ebfd52061dea061a9aa1xy $(EOLIST)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyXDEFINES += \
080575042aba2197b425ebfd52061dea061a9aa1xy $(EOLIST)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyXLFLAGS += \
080575042aba2197b425ebfd52061dea061a9aa1xy $(EOLIST)
080575042aba2197b425ebfd52061dea061a9aa1xyendif
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyifeq "$(RELEASE)" "release"
080575042aba2197b425ebfd52061dea061a9aa1xyXINCDIRS += \
080575042aba2197b425ebfd52061dea061a9aa1xy $(EOLIST)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyXCFLAGS += \
080575042aba2197b425ebfd52061dea061a9aa1xy $(EOLIST)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyXDEFINES += \
080575042aba2197b425ebfd52061dea061a9aa1xy $(EOLIST)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyXLFLAGS += \
080575042aba2197b425ebfd52061dea061a9aa1xy $(EOLIST)
080575042aba2197b425ebfd52061dea061a9aa1xyendif
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# These are used by the link target if an NLM is being generated
080575042aba2197b425ebfd52061dea061a9aa1xy# This is used by the link 'name' directive to name the nlm. If left blank
080575042aba2197b425ebfd52061dea061a9aa1xy# TARGET_nlm (see below) will be used.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyNLM_NAME = mod_cgi
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# This is used by the link '-desc ' directive.
080575042aba2197b425ebfd52061dea061a9aa1xy# If left blank, NLM_NAME will be used.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyNLM_DESCRIPTION = Apache $(VERSION_STR) CGI Module
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# This is used by the '-threadname' directive. If left blank,
080575042aba2197b425ebfd52061dea061a9aa1xy# NLM_NAME Thread will be used.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyNLM_THREAD_NAME = Mod_cgi Module
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# If this is specified, it will override VERSION value in
080575042aba2197b425ebfd52061dea061a9aa1xy# $(AP_WORK)\build\NWGNUenvironment.inc
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyNLM_VERSION =
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# If this is specified, it will override the default of 64K
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyNLM_STACK_SIZE = 8192
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# If this is specified it will be used by the link '-entry' directive
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyNLM_ENTRY_SYM = _LibCPrelude
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# If this is specified it will be used by the link '-exit' directive
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyNLM_EXIT_SYM = _LibCPostlude
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# If this is specified it will be used by the link '-check' directive
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyNLM_CHECK_SYM =
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# If these are specified it will be used by the link '-flags' directive
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyNLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# If this is specified it will be linked in with the XDCData option in the def
080575042aba2197b425ebfd52061dea061a9aa1xy# file instead of the default of $(NWOS)/apache.xdc. XDCData can be disabled
080575042aba2197b425ebfd52061dea061a9aa1xy# by setting APACHE_UNIPROC in the environment
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyXDCDATA =
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# If there is an NLM target, put it here
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyTARGET_nlm = \
080575042aba2197b425ebfd52061dea061a9aa1xy $(OBJDIR)/mod_cgi.nlm \
080575042aba2197b425ebfd52061dea061a9aa1xy $(EOLIST)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# If there is an LIB target, put it here
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyTARGET_lib = \
080575042aba2197b425ebfd52061dea061a9aa1xy $(EOLIST)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# These are the OBJ files needed to create the NLM target above.
080575042aba2197b425ebfd52061dea061a9aa1xy# Paths must all use the '/' character
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyFILES_nlm_objs = \
080575042aba2197b425ebfd52061dea061a9aa1xy $(OBJDIR)/mod_cgi.o \
080575042aba2197b425ebfd52061dea061a9aa1xy $(EOLIST)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# These are the LIB files needed to create the NLM target above.
080575042aba2197b425ebfd52061dea061a9aa1xy# These will be added as a library command in the link.opt file.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyFILES_nlm_libs = \
080575042aba2197b425ebfd52061dea061a9aa1xy libcpre.o \
080575042aba2197b425ebfd52061dea061a9aa1xy $(EOLIST)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# These are the modules that the above NLM target depends on to load.
080575042aba2197b425ebfd52061dea061a9aa1xy# These will be added as a module command in the link.opt file.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyFILES_nlm_modules = \
080575042aba2197b425ebfd52061dea061a9aa1xy aprlib \
080575042aba2197b425ebfd52061dea061a9aa1xy libc \
080575042aba2197b425ebfd52061dea061a9aa1xy $(EOLIST)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# If the nlm has a msg file, put it's path here
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyFILE_nlm_msg =
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# If the nlm has a hlp file put it's path here
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyFILE_nlm_hlp =
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# If this is specified, it will override $(NWOS)\copyright.txt.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyFILE_nlm_copyright =
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Any additional imports go here
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyFILES_nlm_Ximports = \
080575042aba2197b425ebfd52061dea061a9aa1xy @$(APR)/aprlib.imp \
080575042aba2197b425ebfd52061dea061a9aa1xy @$(NWOS)/httpd.imp \
080575042aba2197b425ebfd52061dea061a9aa1xy @libc.imp \
080575042aba2197b425ebfd52061dea061a9aa1xy $(EOLIST)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Any symbols exported to here
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyFILES_nlm_exports = \
080575042aba2197b425ebfd52061dea061a9aa1xy cgi_module \
080575042aba2197b425ebfd52061dea061a9aa1xy $(EOLIST)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# These are the OBJ files needed to create the LIB target above.
080575042aba2197b425ebfd52061dea061a9aa1xy# Paths must all use the '/' character
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyFILES_lib_objs = \
080575042aba2197b425ebfd52061dea061a9aa1xy $(EOLIST)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# implement targets and dependancies (leave this section alone)
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xylibs :: $(OBJDIR) $(TARGET_lib)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xynlms :: libs $(TARGET_nlm)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Updated this target to create necessary directories and copy files to the
080575042aba2197b425ebfd52061dea061a9aa1xy# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyinstall :: nlms FORCE
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Any specialized rules here
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Include the 'tail' makefile that has targets that depend on variables defined
080575042aba2197b425ebfd52061dea061a9aa1xy# in this makefile
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyinclude $(AP_WORK)\build\NWGNUtail.inc
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy