NWGNUmakefile revision 0bdac9ea0219bd0b7fedbc42fb7a2fe24262b07b
6f912b4ad14f622aa8d57f887c8c745e13ff6dbfjerenkrantz# Declare the sub-directories to be built here
45613d36b9466a48def0498cffa07f48980720f8jerenkrantz $(APR_WORK) \
1abe6003aeb198cc97263503bceed457a6c2cb4aaaron# Get the 'head' of the build environment. This includes default targets and
cbd8d35ca8d9780f1081f30ebfe4abda44cab7ebianh# paths to tools
cbd8d35ca8d9780f1081f30ebfe4abda44cab7ebianhinclude $(AP_WORK)\build\NWGNUhead.inc
0dc14774d2c21baf6123fcafdb853af5be1d97edwrowe# build this level's files
3ad5a1fa75e728431fa7b8e3d8a74bcadcd79d4dlars# Make sure all needed macro's are defined
75eee56d2eaac9c27d32fc46b90bb6b1eac85359trawick# These directories will be at the beginning of the include list, followed by
0dc14774d2c21baf6123fcafdb853af5be1d97edwroweXINCDIRS += \
741a54303329728b27fe347447a362e1c576135etrawick $(APR)/include \
0dc14774d2c21baf6123fcafdb853af5be1d97edwrowe $(APRUTIL)/include \
9f62694a8b4e2b88994a14555d144b3836b311cfstoddard $(AP_WORK)/include \
ea512a4af20e6b6e6931de4929d54d93f03a0139ianh $(PCRESDK) \
eadb64379834961679105b7fd4178253fbb9f95dtrawick# These flags will come after CFLAGS
eadb64379834961679105b7fd4178253fbb9f95dtrawickXCFLAGS += \
c7e917aa56886c47bfe061c5e9f603a5aaef0d87trawick# These defines will come after DEFINES
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoarXDEFINES += \
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoar# These flags will be added to the link.opt file
6b6083e6518007139257ee449c2af3032d2437d0trawickXLFLAGS += \
88dd056b9863502bba82c2889a0c4cde9fc0ba93trawick# These values will be appended to the correct variables based on the value of
7ef3a1797818c6d25efe8c5fadb5eec3b965a6fabrianpifeq "$(RELEASE)" "debug"
7ef3a1797818c6d25efe8c5fadb5eec3b965a6fabrianpXINCDIRS += \
1e83c8de3aa48b316b28057d53995272baf1260cwroweXCFLAGS += \
1e83c8de3aa48b316b28057d53995272baf1260cwroweXDEFINES += \
1e83c8de3aa48b316b28057d53995272baf1260cwroweXLFLAGS += \
7f683bb300df767164724ebc664f339ac396b434dougmifeq "$(RELEASE)" "noopt"
7f683bb300df767164724ebc664f339ac396b434dougmXINCDIRS += \
7f683bb300df767164724ebc664f339ac396b434dougmXCFLAGS += \
26dfa083a1662d57ba7cc410eec4e0696b9be469wroweXDEFINES += \
4760aa1f19600972cf531ad7da73c1ee5a0225cedougmXLFLAGS += \
e93d563852e1fa7a8c73af3b807916b41942d2f6dreidifeq "$(RELEASE)" "release"
e93d563852e1fa7a8c73af3b807916b41942d2f6dreidXINCDIRS += \
e93d563852e1fa7a8c73af3b807916b41942d2f6dreidXCFLAGS += \
525508562a53864b78cf8da91ac13be9c072bba7jerenkrantzXDEFINES += \
f1fe10268cdadb775eef841aa4fa7305291d35fdtrawickXLFLAGS += \
65a1588701f9e5d0f62261d0da85733a23edc92ftrawick# These are used by the link target if an NLM is being generated
65a1588701f9e5d0f62261d0da85733a23edc92ftrawick# This is used by the link 'name' directive to name the nlm. If left blank
65a1588701f9e5d0f62261d0da85733a23edc92ftrawick# TARGET_nlm (see below) will be used.
65a1588701f9e5d0f62261d0da85733a23edc92ftrawickNLM_NAME = Apache2
d5d164b22a2004abed640cb52fc275f00ed92f69jerenkrantz# This is used by the link '-desc ' directive.
360a9d933a8c25f5975e0ddc883607a5d37e408estoddard# If left blank, NLM_NAME will be used.
360a9d933a8c25f5975e0ddc883607a5d37e408estoddardNLM_DESCRIPTION = Apache Web Server $(VERSION_STR) $(VERSION_SKT)
9b8afc47122e9b0eabb860b6ba2cf9c061c6060fstoddard# This is used by the '-threadname' directive. If left blank,
9b8afc47122e9b0eabb860b6ba2cf9c061c6060fstoddard# NLM_NAME Thread will be used.
a21148678a1459064627d917a66669e7e8d140e6stoddardNLM_THREAD_NAME = Apache
c6a9d49433c9ba5b18b26c3d764f1bbcb9746090wrowe# This is used by the '-screenname' directive. If left blank,
c6a9d49433c9ba5b18b26c3d764f1bbcb9746090wrowe# 'Apache for NetWare' Thread will be used.
51be7fc538641ed7cb22e959eb31629f7183f70fianhNLM_SCREEN_NAME = Apache $(VERSION_STR) for NetWare
bb6a7fc0427d0d197c50de34b94a0d23e5732696wrowe# If this is specified, it will override VERSION value in
bb6a7fc0427d0d197c50de34b94a0d23e5732696wrowe# $(AP_WORK)\build\NWGNUenvironment.inc
decd0c23bb26f6662f4b963cf86ee569613bffeagregamesNLM_VERSION =
e1753aabf5df187b5b04e72a958af4b65b1a125daaron# If this is specified, it will override the default of 64K
e1753aabf5df187b5b04e72a958af4b65b1a125daaronNLM_STACK_SIZE = 65536
e57f991fe2b9a4c080cd50ca913a2a5693b096b5aaron# If this is specified it will be used by the link '-entry' directive
e57f991fe2b9a4c080cd50ca913a2a5693b096b5aaronNLM_ENTRY_SYM = _LibCPrelude
910df8b3f50a0515b430b999d4750de94c509f2atrawick# If this is specified it will be used by the link '-exit' directive
910df8b3f50a0515b430b999d4750de94c509f2atrawickNLM_EXIT_SYM = _LibCPostlude
0d628dd174dd6de13463b10d2599f6cac24e9fe8brianp# If this is specified it will be used by the link '-check' directive
2fee4fe267fa3577fd71d8c314fe9b527e2b90c0brianpNLM_CHECK_SYM = _LibCCheckUnload
2fee4fe267fa3577fd71d8c314fe9b527e2b90c0brianp# If these are specified it will be used by the link '-flags' directive
7bf77d70b6830636bc36e6b76a228c301be23ff7brianpNLM_FLAGS = PSEUDOPREEMPTION
6ef713e25735887d4a59a879b97a68bd575ecb92trawick# If this is specified it will be linked in with the XDCData option in the def
cef5cb47e2ea4c174c01762d4430613db0f41e5cstoddard# file instead of the default of $(NWOS)/apache.xdc. XDCData can be disabled
cef5cb47e2ea4c174c01762d4430613db0f41e5cstoddard# by setting APACHE_UNIPROC in the environment
ca47a2b6bcea23e8af185c68f256dcbbfd2a0f9dtrawick# If there is an NLM target, put it here
6ef713e25735887d4a59a879b97a68bd575ecb92trawickTARGET_nlm = \
26d590c0e5338f66ca1aad6f925374843fac5121stoddard# If there is an LIB target, put it here
26d590c0e5338f66ca1aad6f925374843fac5121stoddardTARGET_lib = \
d472f67198d6b15dd1270136f180cca9c9263243trawick# These are the OBJ files needed to create the NLM target above.
d472f67198d6b15dd1270136f180cca9c9263243trawick# Paths must all use the '/' character
d472f67198d6b15dd1270136f180cca9c9263243trawickFILES_nlm_objs = \
a3bb95a3600153c7f09f62749e32093658943c32brianp $(OBJDIR)/core.o \
a222035458f89e2db231450ba6d5fae8052da5f5aaron $(OBJDIR)/vhost.o \
4a872628ca5bf20847f442a625c255b643120db0wrowe# Build in mod_nw_ssl if Winsock is being used
74528257888620220641cd28366731539a37e1f3ianhifndef USE_STDSOCKETS
74528257888620220641cd28366731539a37e1f3ianhFILES_nlm_objs += $(OBJDIR)/mod_nw_ssl.o \
f2afeedf074acc1a698a9527154eacd138e6c5a1trawick# These are the LIB files needed to create the NLM target above.
855e263a93fde2e30d10a48a9ffc047039bfc9d9brianp# These will be added as a library command in the link.opt file.
855e263a93fde2e30d10a48a9ffc047039bfc9d9brianpFILES_nlm_libs = \
54b3b7946d22324cea615d7c8a4ff0c9eadd1f8crbb# These are the modules that the above NLM target depends on to load.
54b3b7946d22324cea615d7c8a4ff0c9eadd1f8crbb# These will be added as a module command in the link.opt file.
e28c02dc08247d3fcb71e81791cac2311a248dfdrbbFILES_nlm_modules = \
f9f506f0686ad065b4c6fe14dd962cdd478350dbianh# If the nlm has a msg file, put it's path here
f9f506f0686ad065b4c6fe14dd962cdd478350dbianhFILE_nlm_msg =
9d0665da83d1e22c0ea0e5f6f940f70f75bf5237ianh# If the nlm has a hlp file put it's path here
9d0665da83d1e22c0ea0e5f6f940f70f75bf5237ianhFILE_nlm_hlp =
47c2fb4c1f155ddb6954e46e7f6d125eef78b3bbaaron# If this is specified, it will override $(NWOS)\copyright.txt.
9ca934cec0a1cc3c425fde5dc51956bce6cd3183brianpFILE_nlm_copyright =
0cdca1e056a05a09fe16fe736abcf79969c9767ejerenkrantz# Any additional imports go here
0cdca1e056a05a09fe16fe736abcf79969c9767ejerenkrantzFILES_nlm_Ximports = \
0a2d57d962bef3a8898723925b3fb02d2e836994dougm GetCurrentAddressSpace \
06461d67f387ea068187e6dfa036875a8205c04cjerenkrantz# Don't link with Winsock if standard sockets are being used
06461d67f387ea068187e6dfa036875a8205c04cjerenkrantzifndef USE_STDSOCKETS
900127764fb985c340ee4979cac97146a330c694trawickFILES_nlm_Ximports += @ws2nlm.imp \
6f4c27ba6e152792f3729069e8d8313ebc87cc60jwoolley# Any symbols exported to here
6f4c27ba6e152792f3729069e8d8313ebc87cc60jwoolleyFILES_nlm_exports = \
23ce412bd50a47accab4dd26019b78810bbf46ebtrawick (AP$(VERSION_MAJMIN)) ap_hook_watchdog_exit \
23ce412bd50a47accab4dd26019b78810bbf46ebtrawick (AP$(VERSION_MAJMIN)) ap_hook_watchdog_init \
6865813dee5d3c1ebf12dd810368171792a0190atrawick (AP$(VERSION_MAJMIN)) ap_hook_watchdog_need \
6865813dee5d3c1ebf12dd810368171792a0190atrawick (AP$(VERSION_MAJMIN)) ap_hook_watchdog_step \
6865813dee5d3c1ebf12dd810368171792a0190atrawick (AP$(VERSION_MAJMIN)) ap_watchdog_get_instance \
97719ad970d779ac48af9364ab0ea9fdcc27470ajwoolley (AP$(VERSION_MAJMIN)) ap_watchdog_register_callback \
5ad238c42b1e159ee8f164515e0c4ee6c727c2fdtrawick# These are the OBJ files needed to create the LIB target above.
5ad238c42b1e159ee8f164515e0c4ee6c727c2fdtrawick# Paths must all use the '/' character
ba00c3b7c20f00ce631b89ae3b1cd3bae8d1b165rbbFILES_lib_objs = \
ba00c3b7c20f00ce631b89ae3b1cd3bae8d1b165rbb# implement targets and dependancies (leave this section alone)
6e954603b02f2b7d4ad80af17d9b3cc6f0bacf69rbblibs :: $(OBJDIR) $(TARGET_lib)
6e954603b02f2b7d4ad80af17d9b3cc6f0bacf69rbbnlms :: libs $(TARGET_nlm)
6e954603b02f2b7d4ad80af17d9b3cc6f0bacf69rbb# Updated this target to create necessary directories and copy files to the
fa449f5bc87c5d87c4c60e778c9c882e7254de7ejwoolley# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
fa449f5bc87c5d87c4c60e778c9c882e7254de7ejwoolleyinstall :: nlms instscripts FORCE
fa449f5bc87c5d87c4c60e778c9c882e7254de7ejwoolley -copy $(OBJDIR)\Apache2.nlm $(INSTALL)\$(BASEDIR)\*.*
fa449f5bc87c5d87c4c60e778c9c882e7254de7ejwoolley -copy ABOUT_APACHE $(INSTALL)\$(BASEDIR)\*.*
1c0b7c3bdace07946457fa7ba04b7f97b6599792rbb -copy README $(INSTALL)\$(BASEDIR)\*.*
227d23a7db41dd89f52391c9356dbb1adcd675e0jwoolley -copy STATUS $(INSTALL)\$(BASEDIR)\*.*
227d23a7db41dd89f52391c9356dbb1adcd675e0jwoolley -copy LICENSE $(INSTALL)\$(BASEDIR)\*.*
227d23a7db41dd89f52391c9356dbb1adcd675e0jwoolley -copy CHANGES $(INSTALL)\$(BASEDIR)\*.*
227d23a7db41dd89f52391c9356dbb1adcd675e0jwoolley -copy VERSIONING $(INSTALL)\$(BASEDIR)\*.*
227d23a7db41dd89f52391c9356dbb1adcd675e0jwoolley -copy support\dbmmanage.in $(INSTALL)\$(BASEDIR)\bin\dbmmanage.pl
227d23a7db41dd89f52391c9356dbb1adcd675e0jwoolley -copy support\logresolve.pl.in $(INSTALL)\$(BASEDIR)\bin\logresolve.pl
1c0b7c3bdace07946457fa7ba04b7f97b6599792rbb -copy support\split-logfile.in $(INSTALL)\$(BASEDIR)\bin\split-logfile.pl
17bc0e8f2e3816e25bc8fd3fadf39357340aebd0jerenkrantz -$(AWK) -v BDIR=$(BASEDIR) -v PORT=$(PORT) -v SSLPORT=$(SSLPORT) -v MODSSL=$(WITH_MOD_SSL) -v BSDSKT=$(USE_STDSOCKETS) -f build\mkconfnw.awk docs\conf\httpd.conf.in >$(INSTALL)\$(BASEDIR)\conf\httpd.conf
17bc0e8f2e3816e25bc8fd3fadf39357340aebd0jerenkrantz $(CHKNOT) $(INSTALL)\$(BASEDIR)\conf\extra\nul mkdir $(INSTALL)\$(BASEDIR)\conf\extra
17bc0e8f2e3816e25bc8fd3fadf39357340aebd0jerenkrantz -$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-autoindex.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-autoindex.conf
17bc0e8f2e3816e25bc8fd3fadf39357340aebd0jerenkrantz -$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-dav.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-dav.conf
17bc0e8f2e3816e25bc8fd3fadf39357340aebd0jerenkrantz -$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-default.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-default.conf
e6cc28a5eb3371ba0c38e941855e71ff0054f50erbb -$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-info.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-info.conf
e6cc28a5eb3371ba0c38e941855e71ff0054f50erbb -$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-languages.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-languages.conf
e6cc28a5eb3371ba0c38e941855e71ff0054f50erbb -$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-manual.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-manual.conf
e6cc28a5eb3371ba0c38e941855e71ff0054f50erbb -$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-mpm.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-mpm.conf
e6cc28a5eb3371ba0c38e941855e71ff0054f50erbb -$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-multilang-errordoc.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-multilang-errordoc.conf
e6cc28a5eb3371ba0c38e941855e71ff0054f50erbb -$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-userdir.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-userdir.conf
e6cc28a5eb3371ba0c38e941855e71ff0054f50erbb -$(AWK) -v BDIR=$(BASEDIR) -v PORT=$(PORT) -f build\mkconfnw.awk docs\conf\extra\httpd-vhosts.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-vhosts.conf
e6cc28a5eb3371ba0c38e941855e71ff0054f50erbb -$(AWK) -v BDIR=$(BASEDIR) -v SSLPORT=$(SSLPORT) -f build\mkconfnw.awk docs\conf\extra\httpd-ssl.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-ssl.conf
cf233fb4b439415a2bf7bab7e622afd994e0bebftrawick -copy docs\conf\magic $(INSTALL)\$(BASEDIR)\conf\magic
cf233fb4b439415a2bf7bab7e622afd994e0bebftrawick -copy docs\conf\mime.types $(INSTALL)\$(BASEDIR)\conf\mime.types
cf233fb4b439415a2bf7bab7e622afd994e0bebftrawick -copy docs\conf\charset.conv $(INSTALL)\$(BASEDIR)\conf\charset.conv
cf233fb4b439415a2bf7bab7e622afd994e0bebftrawick -copy docs\cgi-examples\printenv $(INSTALL)\$(BASEDIR)\cgi-bin\printenv.pl
ae64f3e7385f21ca9d4f30cc7f8702a9ac1034b6trawick @xcopy $(XCOPYSW) docs\error $(INSTALL)\$(BASEDIR)\error
2a20a2f8432a15b530e0a6b0998c32f40aef82a8gregames @xcopy $(XCOPYSW) docs\docroot $(INSTALL)\$(BASEDIR)\htdocs
2a20a2f8432a15b530e0a6b0998c32f40aef82a8gregames @xcopy $(XCOPYSW) docs\icons $(INSTALL)\$(BASEDIR)\icons
2a20a2f8432a15b530e0a6b0998c32f40aef82a8gregames @xcopy $(XCOPYSW) docs\man $(INSTALL)\$(BASEDIR)\man
2a20a2f8432a15b530e0a6b0998c32f40aef82a8gregames @xcopy $(XCOPYSW) docs\manual $(INSTALL)\$(BASEDIR)\manual
2a20a2f8432a15b530e0a6b0998c32f40aef82a8gregamesinstalldev :: FORCE
2a20a2f8432a15b530e0a6b0998c32f40aef82a8gregames -copy $(subst /,\,$(AP_WORK))\include\*.h $(INSTALL)\$(BASEDIR)\include\*.*
2a20a2f8432a15b530e0a6b0998c32f40aef82a8gregames -copy $(subst /,\,$(AP_WORK))\os\netware\*.h $(INSTALL)\$(BASEDIR)\include\*.*
2a20a2f8432a15b530e0a6b0998c32f40aef82a8gregames -copy $(subst /,\,$(NWOS))\*.imp $(INSTALL)\$(BASEDIR)\lib\*.*
2a20a2f8432a15b530e0a6b0998c32f40aef82a8gregames -copy $(subst /,\,$(APR))\include\*.h $(INSTALL)\$(BASEDIR)\include\*.*
2a20a2f8432a15b530e0a6b0998c32f40aef82a8gregames -copy $(subst /,\,$(APRUTIL))\include\*.h $(INSTALL)\$(BASEDIR)\include\*.*
8d49090fd56a8ce06c7f7135f19e5ff8e24b5ff3gregames -copy $(subst /,\,$(APR))\*.imp $(INSTALL)\$(BASEDIR)\lib\*.*
f99bffd6087564cf9c05cc29d1c6b38d94e0ed30gregames -copy $(subst /,\,$(NWOS))\*.xdc $(INSTALL)\$(BASEDIR)\lib\*.*
270609308f247c5e934b400b5f1691c2cca16c61jerenkrantzprebuild :: FORCE
270609308f247c5e934b400b5f1691c2cca16c61jerenkrantz $(MAKE) -C server -f NWGNUMakefile
8458877c9ba0af86acd590eea531476adde3d02dmartin $(MAKE) -C $(PCRESDK) -f NWGNUMakefile
8458877c9ba0af86acd590eea531476adde3d02dmartin $(CHKNOT) $(PREBUILD_INST)\nul mkdir $(PREBUILD_INST)
8458877c9ba0af86acd590eea531476adde3d02dmartin -copy $(AP_WORK)\server\$(OBJDIR)\*.nlm $(PREBUILD_INST)\*.*
8458877c9ba0af86acd590eea531476adde3d02dmartin -copy $(PCRESDK)\$(basename $(OBJDIR))\*.nlm $(PREBUILD_INST)\*.*
644be6f54749d2d9950d2c4d2ac448f7af016d26martin# Any specialized rules here
8458877c9ba0af86acd590eea531476adde3d02dmartinvpath %.c server:modules/arch/netware:modules/http:modules/aaa:modules/mappers
b30b04f639d479b96cc08c43ffa34c92ba275676ianhvpath %.c modules/generators:modules/metadata:modules/filters:modules/loggers
b30b04f639d479b96cc08c43ffa34c92ba275676ianhvpath %.c modules/core:os/netware:server/mpm/netware:$(PCRESDK)
c4fbc4018fd2b6716673a38ee27eeb36cba41c5djwoolley# Include the 'tail' makefile that has targets that depend on variables defined
c4fbc4018fd2b6716673a38ee27eeb36cba41c5djwoolley# in this makefile
f4e4643c309e5b5da60e13f9a25984d54b307caawroweinclude $(AP_WORK)\build\NWGNUtail.inc
2548497d480c4f3e9b3fe14711bd510aa2157434gregamesinclude $(AP_WORK)\build\NWGNUscripts.inc