NWGNUextfiltr revision 44f575c8cb19a7a5cd61664a7848be6bc197df02
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. White# Make sure all needed macro's are defined
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. White
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. White# Get the 'head' of the build environment if necessary. This includes default
b57071cb125d903a74a31406e83a966601e71403Liam P. White# targets and paths to tools
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
0e4710a023c147019cd4ec6d3432a187c4629efatavmjong-free
b57071cb125d903a74a31406e83a966601e71403Liam P. Whiteifndef EnvironmentDefined
b57071cb125d903a74a31406e83a966601e71403Liam P. Whiteinclude $(AP_WORK)/build/NWGNUhead.inc
b57071cb125d903a74a31406e83a966601e71403Liam P. Whiteendif
b57071cb125d903a74a31406e83a966601e71403Liam P. White
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
5e78797237efe836c5207a7fde0db964c09ffc5bLiam P. White# These directories will be at the beginning of the include list, followed by
b57071cb125d903a74a31406e83a966601e71403Liam P. White# INCDIRS
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. WhiteXINCDIRS += \
b57071cb125d903a74a31406e83a966601e71403Liam P. White $(APR)/include \
b57071cb125d903a74a31406e83a966601e71403Liam P. White $(APRUTIL)/include \
b57071cb125d903a74a31406e83a966601e71403Liam P. White $(SRC)/include \
b57071cb125d903a74a31406e83a966601e71403Liam P. White $(NWOS) \
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White $(EOLIST)
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White#
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White# These flags will come after CFLAGS
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White#
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. WhiteXCFLAGS += \
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White $(EOLIST)
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White#
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White# These defines will come after DEFINES
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White#
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. WhiteXDEFINES += \
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White $(EOLIST)
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White#
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White# These flags will be added to the link.opt file
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White#
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. WhiteXLFLAGS += \
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White $(EOLIST)
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White#
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White# These values will be appended to the correct variables based on the value of
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White# RELEASE
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White#
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. Whiteifeq "$(RELEASE)" "debug"
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. WhiteXINCDIRS += \
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White $(EOLIST)
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. WhiteXCFLAGS += \
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White $(EOLIST)
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. WhiteXDEFINES += \
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White $(EOLIST)
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. WhiteXLFLAGS += \
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White $(EOLIST)
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. Whiteendif
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. Whiteifeq "$(RELEASE)" "noopt"
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. WhiteXINCDIRS += \
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White $(EOLIST)
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. WhiteXCFLAGS += \
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White $(EOLIST)
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. WhiteXDEFINES += \
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White $(EOLIST)
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. WhiteXLFLAGS += \
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White $(EOLIST)
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. Whiteendif
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. Whiteifeq "$(RELEASE)" "release"
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. WhiteXINCDIRS += \
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White $(EOLIST)
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. WhiteXCFLAGS += \
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White $(EOLIST)
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. WhiteXDEFINES += \
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White $(EOLIST)
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. WhiteXLFLAGS += \
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White $(EOLIST)
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. Whiteendif
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White#
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White# These are used by the link target if an NLM is being generated
b57071cb125d903a74a31406e83a966601e71403Liam P. White# This is used by the link 'name' directive to name the nlm. If left blank
b57071cb125d903a74a31406e83a966601e71403Liam P. White# TARGET_nlm (see below) will be used.
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. WhiteNLM_NAME = extfiltr
b57071cb125d903a74a31406e83a966601e71403Liam P. White
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. White# This is used by the link '-desc ' directive.
b57071cb125d903a74a31406e83a966601e71403Liam P. White# If left blank, NLM_NAME will be used.
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. WhiteNLM_DESCRIPTION = Apache $(VERSION_STR) External Filter Module
b57071cb125d903a74a31406e83a966601e71403Liam P. White
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. White# This is used by the '-threadname' directive. If left blank,
b57071cb125d903a74a31406e83a966601e71403Liam P. White# NLM_NAME Thread will be used.
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. WhiteNLM_THREAD_NAME = ExtFilter Module
b57071cb125d903a74a31406e83a966601e71403Liam P. White
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. White# If this is specified, it will override VERSION value in
b57071cb125d903a74a31406e83a966601e71403Liam P. White# $(AP_WORK)/build/NWGNUenvironment.inc
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. WhiteNLM_VERSION =
b57071cb125d903a74a31406e83a966601e71403Liam P. White
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. White# If this is specified, it will override the default of 64K
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. WhiteNLM_STACK_SIZE = 8192
b57071cb125d903a74a31406e83a966601e71403Liam P. White
b57071cb125d903a74a31406e83a966601e71403Liam P. White
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. White# If this is specified it will be used by the link '-entry' directive
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. WhiteNLM_ENTRY_SYM =
b57071cb125d903a74a31406e83a966601e71403Liam P. White
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. White# If this is specified it will be used by the link '-exit' directive
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. WhiteNLM_EXIT_SYM =
b57071cb125d903a74a31406e83a966601e71403Liam P. White
5e78797237efe836c5207a7fde0db964c09ffc5bLiam P. White#
5e78797237efe836c5207a7fde0db964c09ffc5bLiam P. White# If this is specified it will be used by the link '-check' directive
5e78797237efe836c5207a7fde0db964c09ffc5bLiam P. White#
5e78797237efe836c5207a7fde0db964c09ffc5bLiam P. WhiteNLM_CHECK_SYM =
5e78797237efe836c5207a7fde0db964c09ffc5bLiam P. White
5e78797237efe836c5207a7fde0db964c09ffc5bLiam P. White#
5e78797237efe836c5207a7fde0db964c09ffc5bLiam P. White# If these are specified it will be used by the link '-flags' directive
5e78797237efe836c5207a7fde0db964c09ffc5bLiam P. White#
5e78797237efe836c5207a7fde0db964c09ffc5bLiam P. WhiteNLM_FLAGS =
5e78797237efe836c5207a7fde0db964c09ffc5bLiam P. White
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. White# If this is specified it will be linked in with the XDCData option in the def
b57071cb125d903a74a31406e83a966601e71403Liam P. White# file instead of the default of $(NWOS)/apache.xdc. XDCData can be disabled
b57071cb125d903a74a31406e83a966601e71403Liam P. White# by setting APACHE_UNIPROC in the environment
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
5e78797237efe836c5207a7fde0db964c09ffc5bLiam P. WhiteXDCDATA =
b57071cb125d903a74a31406e83a966601e71403Liam P. White
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. White# If there is an NLM target, put it here
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
1815a4d4820ecff7774ed2ecfc5f499d20fc56b5Liam P. WhiteTARGET_nlm = \
5e78797237efe836c5207a7fde0db964c09ffc5bLiam P. White $(OBJDIR)/extfiltr.nlm \
b57071cb125d903a74a31406e83a966601e71403Liam P. White $(EOLIST)
b57071cb125d903a74a31406e83a966601e71403Liam P. White
0e4710a023c147019cd4ec6d3432a187c4629efatavmjong-free#
b57071cb125d903a74a31406e83a966601e71403Liam P. White# If there is an LIB target, put it here
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. WhiteTARGET_lib = \
b57071cb125d903a74a31406e83a966601e71403Liam P. White $(EOLIST)
b57071cb125d903a74a31406e83a966601e71403Liam P. White
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White#
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White# These are the OBJ files needed to create the NLM target above.
e1dd061987b969a8257d94d7e83f8989ae2a11a0Liam P. White# Paths must all use the '/' character
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. WhiteFILES_nlm_objs = \
b57071cb125d903a74a31406e83a966601e71403Liam P. White $(OBJDIR)/mod_ext_filter.o \
0e4710a023c147019cd4ec6d3432a187c4629efatavmjong-free $(EOLIST)
0e4710a023c147019cd4ec6d3432a187c4629efatavmjong-free
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. White# These are the LIB files needed to create the NLM target above.
e1dd061987b969a8257d94d7e83f8989ae2a11a0Liam P. White# These will be added as a library command in the link.opt file.
5e78797237efe836c5207a7fde0db964c09ffc5bLiam P. White#
5e78797237efe836c5207a7fde0db964c09ffc5bLiam P. WhiteFILES_nlm_libs = \
b57071cb125d903a74a31406e83a966601e71403Liam P. White $(PRELUDE) \
5e78797237efe836c5207a7fde0db964c09ffc5bLiam P. White $(EOLIST)
0e4710a023c147019cd4ec6d3432a187c4629efatavmjong-free
0e4710a023c147019cd4ec6d3432a187c4629efatavmjong-free#
e1dd061987b969a8257d94d7e83f8989ae2a11a0Liam P. White# These are the modules that the above NLM target depends on to load.
e1dd061987b969a8257d94d7e83f8989ae2a11a0Liam P. White# These will be added as a module command in the link.opt file.
0e4710a023c147019cd4ec6d3432a187c4629efatavmjong-free#
e1dd061987b969a8257d94d7e83f8989ae2a11a0Liam P. WhiteFILES_nlm_modules = \
e1dd061987b969a8257d94d7e83f8989ae2a11a0Liam P. White aprlib \
0e4710a023c147019cd4ec6d3432a187c4629efatavmjong-free libc \
e1dd061987b969a8257d94d7e83f8989ae2a11a0Liam P. White $(EOLIST)
0e4710a023c147019cd4ec6d3432a187c4629efatavmjong-free
0e4710a023c147019cd4ec6d3432a187c4629efatavmjong-free#
0e4710a023c147019cd4ec6d3432a187c4629efatavmjong-free# If the nlm has a msg file, put it's path here
0e4710a023c147019cd4ec6d3432a187c4629efatavmjong-free#
0e4710a023c147019cd4ec6d3432a187c4629efatavmjong-freeFILE_nlm_msg =
b57071cb125d903a74a31406e83a966601e71403Liam P. White
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
5e78797237efe836c5207a7fde0db964c09ffc5bLiam P. White# If the nlm has a hlp file put it's path here
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
5e78797237efe836c5207a7fde0db964c09ffc5bLiam P. WhiteFILE_nlm_hlp =
5e78797237efe836c5207a7fde0db964c09ffc5bLiam P. White
e1dd061987b969a8257d94d7e83f8989ae2a11a0Liam P. White#
5e78797237efe836c5207a7fde0db964c09ffc5bLiam P. White# If this is specified, it will override $(NWOS)\copyright.txt.
e1dd061987b969a8257d94d7e83f8989ae2a11a0Liam P. White#
5e78797237efe836c5207a7fde0db964c09ffc5bLiam P. WhiteFILE_nlm_copyright =
5e78797237efe836c5207a7fde0db964c09ffc5bLiam P. White
5e78797237efe836c5207a7fde0db964c09ffc5bLiam P. White#
5e78797237efe836c5207a7fde0db964c09ffc5bLiam P. White# Any additional imports go here
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. WhiteFILES_nlm_Ximports = \
0e4710a023c147019cd4ec6d3432a187c4629efatavmjong-free @aprlib.imp \
0e4710a023c147019cd4ec6d3432a187c4629efatavmjong-free @httpd.imp \
0e4710a023c147019cd4ec6d3432a187c4629efatavmjong-free @libc.imp \
0e4710a023c147019cd4ec6d3432a187c4629efatavmjong-free $(EOLIST)
0e4710a023c147019cd4ec6d3432a187c4629efatavmjong-free
0e4710a023c147019cd4ec6d3432a187c4629efatavmjong-free#
0e4710a023c147019cd4ec6d3432a187c4629efatavmjong-free# Any symbols exported to here
0e4710a023c147019cd4ec6d3432a187c4629efatavmjong-free#
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. WhiteFILES_nlm_exports = \
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White ext_filter_module \
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White $(EOLIST)
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White#
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White# These are the OBJ files needed to create the LIB target above.
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White# Paths must all use the '/' character
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White#
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. WhiteFILES_lib_objs = \
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White $(EOLIST)
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White#
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White# implement targets and dependancies (leave this section alone)
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White#
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. Whitelibs :: $(OBJDIR) $(TARGET_lib)
b57071cb125d903a74a31406e83a966601e71403Liam P. White
b57071cb125d903a74a31406e83a966601e71403Liam P. Whitenlms :: libs $(TARGET_nlm)
b57071cb125d903a74a31406e83a966601e71403Liam P. White
b57071cb125d903a74a31406e83a966601e71403Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. White# Updated this target to create necessary directories and copy files to the
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White#
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. Whiteinstall :: nlms FORCE
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White#
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White# Any specialized rules here
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. White
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White#
b57071cb125d903a74a31406e83a966601e71403Liam P. White# Include the 'tail' makefile that has targets that depend on variables defined
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White# in this makefile
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White#
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White
b57071cb125d903a74a31406e83a966601e71403Liam P. Whiteinclude $(APBUILD)/NWGNUtail.inc
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White
f7536eb42ca05143b4527445a3f0798e1fda4418Liam P. White