NWGNUmakefile revision 00d1c0c914426a97022d8205a875c48b211001c2
d1d38b5e9e4ca0810cc364e9aca7a1a8577776e6JucaBlues#
d1d38b5e9e4ca0810cc364e9aca7a1a8577776e6JucaBlues# Declare the sub-directories to be built here
d1d38b5e9e4ca0810cc364e9aca7a1a8577776e6JucaBlues#
d1d38b5e9e4ca0810cc364e9aca7a1a8577776e6JucaBlues
77db05670a2747f32fe3168a6cfe332d906f4057JucaBluesSUBDIRS = \
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues $(EOLIST)
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues#
5ef6cb9428f2e6f5457e890a1c3b37f53730c07aFelipe C. da S. Sanches# Get the 'head' of the build environment. This includes default targets and
9dc68827cbd515262ecb8d5ae8547d9e82c72e00Jon A. Cruz# paths to tools
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues#
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues
77db05670a2747f32fe3168a6cfe332d906f4057JucaBluesinclude $(AP_WORK)/build/NWGNUhead.inc
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues#
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues# build this level's files
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues#
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues# Make sure all needed macro's are defined
4175317af9dd8f619d5427af3b1887319b886df7JucaBlues#
4175317af9dd8f619d5427af3b1887319b886df7JucaBlues
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues#
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues# These directories will be at the beginning of the include list, followed by
d5c4ddf4e43797503e5a5629cdbab74e834bc549JucaBlues# INCDIRS
d5c4ddf4e43797503e5a5629cdbab74e834bc549JucaBlues#
980f39d0ea2b51d4b46d2ea552d9b8e02dbea8c2Markus EngelXINCDIRS += \
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. Cruz $(EOLIST)
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. Cruz
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. Cruz#
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. Cruz# These flags will come after CFLAGS
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. Cruz#
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. CruzXCFLAGS += \
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. Cruz $(EOLIST)
35087bff7509c736a32e0b74fd9ff0834bde7b6bMarkus Engel
2ee985b728402e20092ee821697f4c5117247290Markus Engel#
2ee985b728402e20092ee821697f4c5117247290Markus Engel# These defines will come after DEFINES
2ee985b728402e20092ee821697f4c5117247290Markus Engel#
2ee985b728402e20092ee821697f4c5117247290Markus EngelXDEFINES += \
2ee985b728402e20092ee821697f4c5117247290Markus Engel $(EOLIST)
2ee985b728402e20092ee821697f4c5117247290Markus Engel
c0b63558d39bdea91ac5c41ef0f9a88439e18888Markus Engel#
c0b63558d39bdea91ac5c41ef0f9a88439e18888Markus Engel# These flags will be added to the link.opt file
2ee985b728402e20092ee821697f4c5117247290Markus Engel#
a2e796b608034e2c62290378d713058b8b58ef8fMarkus EngelXLFLAGS += \
a2e796b608034e2c62290378d713058b8b58ef8fMarkus Engel $(EOLIST)
2ee985b728402e20092ee821697f4c5117247290Markus Engel
35087bff7509c736a32e0b74fd9ff0834bde7b6bMarkus Engel#
c0b63558d39bdea91ac5c41ef0f9a88439e18888Markus Engel# These values will be appended to the correct variables based on the value of
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel# RELEASE
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel#
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engelifeq "$(RELEASE)" "debug"
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus EngelXINCDIRS += \
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel $(EOLIST)
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus EngelXCFLAGS += \
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel $(EOLIST)
4175317af9dd8f619d5427af3b1887319b886df7JucaBlues
4175317af9dd8f619d5427af3b1887319b886df7JucaBluesXDEFINES += \
4175317af9dd8f619d5427af3b1887319b886df7JucaBlues $(EOLIST)
4175317af9dd8f619d5427af3b1887319b886df7JucaBlues
4175317af9dd8f619d5427af3b1887319b886df7JucaBluesXLFLAGS += \
2ee985b728402e20092ee821697f4c5117247290Markus Engel $(EOLIST)
35087bff7509c736a32e0b74fd9ff0834bde7b6bMarkus Engelendif
4175317af9dd8f619d5427af3b1887319b886df7JucaBlues
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engelifeq "$(RELEASE)" "noopt"
4175317af9dd8f619d5427af3b1887319b886df7JucaBluesXINCDIRS += \
4175317af9dd8f619d5427af3b1887319b886df7JucaBlues $(EOLIST)
4175317af9dd8f619d5427af3b1887319b886df7JucaBlues
4175317af9dd8f619d5427af3b1887319b886df7JucaBluesXCFLAGS += \
4175317af9dd8f619d5427af3b1887319b886df7JucaBlues $(EOLIST)
4175317af9dd8f619d5427af3b1887319b886df7JucaBlues
2ee985b728402e20092ee821697f4c5117247290Markus EngelXDEFINES += \
35087bff7509c736a32e0b74fd9ff0834bde7b6bMarkus Engel $(EOLIST)
4175317af9dd8f619d5427af3b1887319b886df7JucaBlues
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus EngelXLFLAGS += \
4175317af9dd8f619d5427af3b1887319b886df7JucaBlues $(EOLIST)
4175317af9dd8f619d5427af3b1887319b886df7JucaBluesendif
2ee985b728402e20092ee821697f4c5117247290Markus Engel
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engelifeq "$(RELEASE)" "release"
77db05670a2747f32fe3168a6cfe332d906f4057JucaBluesXINCDIRS += \
35087bff7509c736a32e0b74fd9ff0834bde7b6bMarkus Engel $(EOLIST)
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues
77db05670a2747f32fe3168a6cfe332d906f4057JucaBluesXCFLAGS += \
2ee985b728402e20092ee821697f4c5117247290Markus Engel $(EOLIST)
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. Cruz
77db05670a2747f32fe3168a6cfe332d906f4057JucaBluesXDEFINES += \
f5d57c26ee63ac2bd5417a6bcc19d90b227ae797joncruz $(EOLIST)
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. Cruz
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. CruzXLFLAGS += \
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel $(EOLIST)
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engelendif
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel#
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues# These are used by the link target if an NLM is being generated
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues# This is used by the link 'name' directive to name the nlm. If left blank
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. Cruz# TARGET_nlm (see below) will be used.
f5d57c26ee63ac2bd5417a6bcc19d90b227ae797joncruz#
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. CruzNLM_NAME =
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. Cruz
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel#
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel# This is used by the link '-desc ' directive.
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel# If left blank, NLM_NAME will be used.
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel#
77db05670a2747f32fe3168a6cfe332d906f4057JucaBluesNLM_DESCRIPTION =
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. Cruz#
f5d57c26ee63ac2bd5417a6bcc19d90b227ae797joncruz# This is used by the '-threadname' directive. If left blank,
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. Cruz# NLM_NAME Thread will be used.
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. Cruz#
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus EngelNLM_THREAD_NAME =
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel#
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel# If this is specified, it will override VERSION value in
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues# $(AP_WORK)/build/NWGNUenvironment.inc
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues#
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. CruzNLM_VERSION =
f5d57c26ee63ac2bd5417a6bcc19d90b227ae797joncruz
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. Cruz#
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. Cruz# If this is specified, it will override the default of 64K
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel#
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus EngelNLM_STACK_SIZE =
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues#
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues# If this is specified it will be used by the link '-entry' directive
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. Cruz#
f5d57c26ee63ac2bd5417a6bcc19d90b227ae797joncruzNLM_ENTRY_SYM =
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. Cruz
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. Cruz#
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel# If this is specified it will be used by the link '-exit' directive
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel#
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus EngelNLM_EXIT_SYM =
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues#
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues# If this is specified it will be used by the link '-check' directive
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. Cruz#
f5d57c26ee63ac2bd5417a6bcc19d90b227ae797joncruzNLM_CHECK_SYM =
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. Cruz
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. Cruz#
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel# If these are specified it will be used by the link '-flags' directive
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel#
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus EngelNLM_FLAGS =
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues#
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues# If this is specified it will be linked in with the XDCData option in the def
6c32bcd8f899ac2e8a7eafba446d4181c1b16d48Jon A. Cruz# file instead of the default of $(NWOS)/apache.xdc. XDCData can be disabled
f5d57c26ee63ac2bd5417a6bcc19d90b227ae797joncruz# by setting APACHE_UNIPROC in the environment
35087bff7509c736a32e0b74fd9ff0834bde7b6bMarkus Engel#
77db05670a2747f32fe3168a6cfe332d906f4057JucaBluesXDCDATA =
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues#
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues# If there is an NLM target, put it here
4175317af9dd8f619d5427af3b1887319b886df7JucaBlues#
4175317af9dd8f619d5427af3b1887319b886df7JucaBluesTARGET_nlm = \
4175317af9dd8f619d5427af3b1887319b886df7JucaBlues $(OBJDIR)/mod_asis.nlm \
2ee985b728402e20092ee821697f4c5117247290Markus Engel $(OBJDIR)/autoindex.nlm \
4175317af9dd8f619d5427af3b1887319b886df7JucaBlues $(OBJDIR)/mod_cgi.nlm \
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel $(OBJDIR)/info.nlm \
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel $(OBJDIR)/status.nlm \
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel $(EOLIST)
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel#
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel# If there is an LIB target, put it here
4175317af9dd8f619d5427af3b1887319b886df7JucaBlues#
4175317af9dd8f619d5427af3b1887319b886df7JucaBluesTARGET_lib = \
35087bff7509c736a32e0b74fd9ff0834bde7b6bMarkus Engel $(EOLIST)
4175317af9dd8f619d5427af3b1887319b886df7JucaBlues
4175317af9dd8f619d5427af3b1887319b886df7JucaBlues#
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues# These are the OBJ files needed to create the NLM target above.
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues# Paths must all use the '/' character
2ee985b728402e20092ee821697f4c5117247290Markus Engel#
77db05670a2747f32fe3168a6cfe332d906f4057JucaBluesFILES_nlm_objs = \
a36e7dcbb0538abae15967717c90049a5225ff9cJazzyNico $(EOLIST)
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues#
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel# These are the LIB files needed to create the NLM target above.
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel# These will be added as a library command in the link.opt file.
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel#
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus EngelFILES_nlm_libs = \
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel $(EOLIST)
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues#
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel# These are the modules that the above NLM target depends on to load.
9dc68827cbd515262ecb8d5ae8547d9e82c72e00Jon A. Cruz# These will be added as a module command in the link.opt file.
9dc68827cbd515262ecb8d5ae8547d9e82c72e00Jon A. Cruz#
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus EngelFILES_nlm_modules = \
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel $(EOLIST)
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel#
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel# If the nlm has a msg file, put it's path here
a2e6e13c14553c9fc1e16d8cd6ebc3b71c6bccefMarkus Engel#
77db05670a2747f32fe3168a6cfe332d906f4057JucaBluesFILE_nlm_msg =
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues
35087bff7509c736a32e0b74fd9ff0834bde7b6bMarkus Engel#
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues# If the nlm has a hlp file put it's path here
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues#
77db05670a2747f32fe3168a6cfe332d906f4057JucaBluesFILE_nlm_hlp =
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues#
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues# If this is specified, it will override $(NWOS)\copyright.txt.
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues#
77db05670a2747f32fe3168a6cfe332d906f4057JucaBluesFILE_nlm_copyright =
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues#
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues# Any additional imports go here
77db05670a2747f32fe3168a6cfe332d906f4057JucaBlues#
77db05670a2747f32fe3168a6cfe332d906f4057JucaBluesFILES_nlm_Ximports = \
$(EOLIST)
#
# Any symbols exported to here
#
FILES_nlm_exports = \
$(EOLIST)
#
# These are the OBJ files needed to create the LIB target above.
# Paths must all use the '/' character
#
FILES_lib_objs = \
$(EOLIST)
#
# implement targets and dependancies (leave this section alone)
#
libs :: $(OBJDIR) $(TARGET_lib)
nlms :: libs $(TARGET_nlm)
#
# Updated this target to create necessary directories and copy files to the
# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms FORCE
$(call COPY,$(OBJDIR)/*.nlm, $(INSTALLBASE)/modules/)
#
# Any specialized rules here
#
#
# Include the 'tail' makefile that has targets that depend on variables defined
# in this makefile
#
include $(APBUILD)/NWGNUtail.inc