NWGNUmakefile revision ce22ce4743d79a889dca64df4459c598e2c188c7
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder# Declare the sub-directories to be built here
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(APR_WORK) \
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# Get the 'head' of the build environment. This includes default targets and
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# paths to tools
e085c93a81592a93e14cce79aab7f7d30ebeab95Klaus Luettichinclude $(AP_WORK)\build\NWGNUhead.inc
760ae19a92dde8249679a674f93f58d26a7c5f6bChristian Maeder# build this level's files
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder# Make sure all needed macro's are defined
fdb2d618144159395f7bf8ce3327b3c112a17dd3Till Mossakowski# These directories will be at the beginning of the include list, followed by
d67a33b40578beef2e255a274f89bb9c34aaf056Christian Maeder $(APR)/include \
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder $(APRUTIL)/include \
e593b89bfd4952698dc37feced21cefe869d87a2Christian Maeder $(AP_WORK)/include \
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# These flags will come after CFLAGS
2aa5982a00fa4be1263d92c8d8d794eb1d5c4efcChristian Maeder# These defines will come after DEFINES
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# These flags will be added to the link.opt file
4e7050bcbcf0f372a5bad32ecd0282bccabf0983Klaus Luettich# These values will be appended to the correct variables based on the value of
33d042fe6a9eb27a4c48f840b80838f3e7d98e34Christian Maederifeq "$(RELEASE)" "debug"
ebe517300051f765f2ed856a789dd5613d681ab0Klaus Luettichifeq "$(RELEASE)" "noopt"
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederifeq "$(RELEASE)" "release"
96ef2e46d048c357927f2795a40e9e66f21b85fbSonja Gröning# These are used by the link target if an NLM is being generated
8659594bb40eb5f3da5439692f0908300947191eSonja Gröning# This is used by the link 'name' directive to name the nlm. If left blank
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder# TARGET_nlm (see below) will be used.
96ef2e46d048c357927f2795a40e9e66f21b85fbSonja GröningNLM_NAME = Apache2
7d09621f989f5e6dfbf603b36b2fccbacf639a3cTill Mossakowski# This is used by the link '-desc ' directive.
eeb419aa20c97b4af973e97ee6ae77a8eed29e15Till Mossakowski# If left blank, NLM_NAME will be used.
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maederifdef USE_STDSOCKETS
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix ReckersVERSION_SKT = (BSDSOCK)
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian MaederVERSION_SKT = (WINSOCK)
7d09621f989f5e6dfbf603b36b2fccbacf639a3cTill MossakowskiNLM_DESCRIPTION = Apache Web Server $(VERSION_STR) $(VERSION_SKT)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers# This is used by the '-threadname' directive. If left blank,
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# NLM_NAME Thread will be used.
fdb2d618144159395f7bf8ce3327b3c112a17dd3Till MossakowskiNLM_THREAD_NAME = Apache
b49276c9f50038e0bd499ad49f7bd6444566a834Christian Maeder# This is used by the '-screenname' directive. If left blank,
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# 'Apache for NetWare' Thread will be used.
5958fabb264ec3f5b2125ac5602121bd34814a79Klaus LuettichNLM_SCREEN_NAME = Apache $(VERSION_STR) for NetWare
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# If this is specified, it will override VERSION value in
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder# $(AP_WORK)\build\NWGNUenvironment.inc
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# If this is specified, it will override the default of 64K
b49276c9f50038e0bd499ad49f7bd6444566a834Christian MaederNLM_STACK_SIZE = 65536
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder# If this is specified it will be used by the link '-entry' directive
33d042fe6a9eb27a4c48f840b80838f3e7d98e34Christian MaederNLM_ENTRY_SYM = _LibCPrelude
fa21fba9ceb1ddf7b3efd54731a12ed8750191d8Christian Maeder# If this is specified it will be used by the link '-exit' directive
05a8b581f98b928baca6dab60cd20277659ac760Christian MaederNLM_EXIT_SYM = _LibCPostlude
b49276c9f50038e0bd499ad49f7bd6444566a834Christian Maeder# If this is specified it will be used by the link '-check' directive
b49276c9f50038e0bd499ad49f7bd6444566a834Christian MaederNLM_CHECK_SYM = _LibCCheckUnload
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# If these are specified it will be used by the link '-flags' directive
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederNLM_FLAGS = PSEUDOPREEMPTION
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# If this is specified it will be linked in with the XDCData option in the def
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# file instead of the default of $(NWOS)/apache.xdc. XDCData can be disabled
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# by setting APACHE_UNIPROC in the environment
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# If there is an NLM target, put it here
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederTARGET_nlm = \
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# If there is an LIB target, put it here
ef67402074be14deb95e4ff564737d5593144130Klaus LuettichTARGET_lib = \
5958fabb264ec3f5b2125ac5602121bd34814a79Klaus Luettich# These are the OBJ files needed to create the NLM target above.
e7e1ab2ac3f1fded8611bb92ae00e8f3b8c693fbKlaus Luettich# Paths must all use the '/' character
1323eba62fc519b068f5aaec4f9d2be05ffabea9Klaus LuettichFILES_nlm_objs = \
5b818f10e11fc79def1fdd5c8a080d64a6438d87Christian Maeder# Build in mod_nw_ssl if Winsock is being used
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederifndef USE_STDSOCKETS
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian MaederFILES_nlm_objs += $(OBJDIR)/mod_nw_ssl.o \
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers# These are the LIB files needed to create the NLM target above.
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers# These will be added as a library command in the link.opt file.
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix ReckersFILES_nlm_libs = \
5b818f10e11fc79def1fdd5c8a080d64a6438d87Christian Maeder# These are the modules that the above NLM target depends on to load.
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers# These will be added as a module command in the link.opt file.
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix ReckersFILES_nlm_modules = \
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# If the nlm has a msg file, put it's path here
b9625461755578f3eed04676d42a63fd2caebd0cChristian MaederFILE_nlm_msg =
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# If the nlm has a hlp file put it's path here
b9625461755578f3eed04676d42a63fd2caebd0cChristian MaederFILE_nlm_hlp =
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# If this is specified, it will override $(NWOS)\copyright.txt.
d67a33b40578beef2e255a274f89bb9c34aaf056Christian MaederFILE_nlm_copyright =
26f228bf3a3fea810223396e5794c217a79a8d5bChristian Maeder# Any additional imports go here
26f228bf3a3fea810223396e5794c217a79a8d5bChristian MaederFILES_nlm_Ximports = \
6ae5607d2def114f998fd49bac4eef12a2620fafChristian Maeder GetCurrentAddressSpace \
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# Don't link with Winsock if standard sockets are being used
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederifndef USE_STDSOCKETS
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederFILES_nlm_Ximports += @ws2nlm.imp \
b9625461755578f3eed04676d42a63fd2caebd0cChristian Maeder# Any symbols exported to here
75cda7e5b890d050d560d970af244a183f28328fKlaus LuettichFILES_nlm_exports = \
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# These are the OBJ files needed to create the LIB target above.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# Paths must all use the '/' character
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix ReckersFILES_lib_objs = \
ebde431fb3ce536c8bc397fcfc610ac6f92e3be4Christian Maeder# implement targets and dependancies (leave this section alone)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederlibs :: $(OBJDIR) $(TARGET_lib)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maedernlms :: libs $(TARGET_nlm)
470ca7a2797069ae4b27c34c1b71419f67be1f84Christian Maeder# Updated this target to create necessary directories and copy files to the
470ca7a2797069ae4b27c34c1b71419f67be1f84Christian Maeder# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederinstall :: nlms FORCE
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -copy $(OBJDIR)\Apache2.nlm $(INSTALL)\$(BASEDIR)\*.*
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -copy ABOUT_APACHE $(INSTALL)\$(BASEDIR)\*.*
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -copy README $(INSTALL)\$(BASEDIR)\*.*
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -copy STATUS $(INSTALL)\$(BASEDIR)\*.*
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -copy LICENSE $(INSTALL)\$(BASEDIR)\*.*
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -copy CHANGES $(INSTALL)\$(BASEDIR)\*.*
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -copy support\dbmmanage.in $(INSTALL)\$(BASEDIR)\bin\dbmmanage.pl
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -copy support\logresolve.pl.in $(INSTALL)\$(BASEDIR)\bin\logresolve.pl
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederifdef USE_STDSOCKETS
481d4fe351800ab00fd323db8974559431227305Christian Maeder -awk -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\httpd.conf.in >$(INSTALL)\$(BASEDIR)\conf\httpd.conf
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -awk -v BDIR=$(BASEDIR) -v SSL=1 -f build\mkconfnw.awk docs\conf\httpd.conf.in >$(INSTALL)\$(BASEDIR)\conf\httpd.conf
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder $(CHKNOT) $(INSTALL)\$(BASEDIR)\conf\extra\nul mkdir $(INSTALL)\$(BASEDIR)\conf\extra
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -awk -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-autoindex.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-autoindex.conf
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -awk -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-dav.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-dav.conf
481d4fe351800ab00fd323db8974559431227305Christian Maeder -awk -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-default.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-default.conf
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -awk -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-info.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-info.conf
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -awk -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-languages.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-languages.conf
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -awk -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-manual.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-manual.conf
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -awk -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-mpm.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-mpm.conf
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -awk -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-multilang-errordoc.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-multilang-errordoc.conf
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -awk -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-ssl.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-ssl.conf
327a9b9bf44b6e33f71fee7526dc1c0035251591Christian Maeder -awk -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-userdir.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-userdir.conf
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -awk -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-vhosts.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-vhosts.conf
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -copy docs\conf\magic $(INSTALL)\$(BASEDIR)\conf\magic
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -copy docs\conf\mime.types $(INSTALL)\$(BASEDIR)\conf\mime.types
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -copy docs\conf\charset.conv $(INSTALL)\$(BASEDIR)\conf\charset.conv
b49276c9f50038e0bd499ad49f7bd6444566a834Christian Maeder -copy docs\cgi-examples\printenv $(INSTALL)\$(BASEDIR)\cgi-bin\printenv.pl
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder @xcopy $(XCOPYSW) docs\error $(INSTALL)\$(BASEDIR)\error
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder @xcopy $(XCOPYSW) docs\docroot $(INSTALL)\$(BASEDIR)\htdocs
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder @xcopy $(XCOPYSW) docs\icons $(INSTALL)\$(BASEDIR)\icons
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder @xcopy $(XCOPYSW) docs\man $(INSTALL)\$(BASEDIR)\man
b49276c9f50038e0bd499ad49f7bd6444566a834Christian Maeder @xcopy $(XCOPYSW) docs\manual $(INSTALL)\$(BASEDIR)\manual
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederinstalldev :: FORCE
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -copy $(subst /,\,$(AP_WORK))\include\*.h $(INSTALL)\$(BASEDIR)\include\*.*
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers -copy $(subst /,\,$(AP_WORK))\os\netware\*.h $(INSTALL)\$(BASEDIR)\include\*.*
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers -copy $(subst /,\,$(NWOS))\*.imp $(INSTALL)\$(BASEDIR)\lib\*.*
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers -copy $(subst /,\,$(APR))\include\*.h $(INSTALL)\$(BASEDIR)\include\*.*
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers -copy $(subst /,\,$(APRUTIL))\include\*.h $(INSTALL)\$(BASEDIR)\include\*.*
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers -copy $(subst /,\,$(APR))\*.imp $(INSTALL)\$(BASEDIR)\lib\*.*
6ae5607d2def114f998fd49bac4eef12a2620fafChristian Maeder -copy $(subst /,\,$(NWOS))\*.xdc $(INSTALL)\$(BASEDIR)\lib\*.*
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettichprebuild :: FORCE
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettich $(MAKE) -C server -f NWGNUMakefile
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus Luettich $(MAKE) -C srclib/pcre -f NWGNUMakefile
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus Luettich $(CHKNOT) $(PREBUILD_INST)\nul mkdir $(PREBUILD_INST)
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus Luettich -copy $(AP_WORK)\server\$(OBJDIR)\*.nlm $(PREBUILD_INST)\*.*
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus Luettich -copy $(AP_WORK)\srclib\pcre\$(basename $(OBJDIR))\*.nlm $(PREBUILD_INST)\*.*
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# Any specialized rules here
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maedervpath %.c server:modules/arch/netware:modules/http:modules/aaa:modules/mappers
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maedervpath %.c modules/generators:modules/metadata:modules/filters:modules/loggers
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maedervpath %.c os/netware:server/mpm/netware:srclib/pcre
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# Include the 'tail' makefile that has targets that depend on variables defined
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# in this makefile
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederinclude $(AP_WORK)\build\NWGNUtail.inc