NWGNUmakefile revision 75fe25eba99372393d3fad0ee243300a9ecf0a08
d7759bdad133e1e92fe41aab75dd8c1584eda38cjim# Define our required macro's if not already done.
f3a5934ca0fb0f0f813bd9d9d06af8937e3f401fjimifndef AP_WORK
f3a5934ca0fb0f0f813bd9d9d06af8937e3f401fjimexport AP_WORK = $(CURDIR)
d7759bdad133e1e92fe41aab75dd8c1584eda38cjimifndef APR_WORK
d7759bdad133e1e92fe41aab75dd8c1584eda38cjimifeq "$(wildcard $(AP_WORK)/srclib/apr)" "$(AP_WORK)/srclib/apr"
b3155b9e3b06b20030ec6c16d98f8dabf12ead9cianhexport APR_WORK = $(AP_WORK)/srclib/apr
b3155b9e3b06b20030ec6c16d98f8dabf12ead9cianhifneq "$(wildcard $(APR_WORK)/include/apr_version.h)" "$(APR_WORK)/include/apr_version.h"
b3155b9e3b06b20030ec6c16d98f8dabf12ead9cianh$(error APR_WORK does not point to a valid APR source tree)
b3155b9e3b06b20030ec6c16d98f8dabf12ead9cianhifndef APU_WORK
ff1234e45aca1b8171d711ecb87f58b9d9100a99ianhifeq "$(wildcard $(AP_WORK)/srclib/apr-util)" "$(AP_WORK)/srclib/apr-util"
ff1234e45aca1b8171d711ecb87f58b9d9100a99ianhexport APU_WORK = $(AP_WORK)/srclib/apr-util
ff1234e45aca1b8171d711ecb87f58b9d9100a99ianhifndef APU_WORK
ff1234e45aca1b8171d711ecb87f58b9d9100a99ianhifeq "$(wildcard $(APR_WORK)/include/apu_version.h)" "$(APR_WORK)/include/apu_version.h"
ff1234e45aca1b8171d711ecb87f58b9d9100a99ianhexport APU_WORK = $(APR_WORK)
2ceedfca3a2fdfdb5ff60ca17f030ce91f6331cbwroweifneq "$(wildcard $(APU_WORK)/include/apu_version.h)" "$(APU_WORK)/include/apu_version.h"
2ceedfca3a2fdfdb5ff60ca17f030ce91f6331cbwrowe$(error APU_WORK does not point to a valid APU source tree)
2ceedfca3a2fdfdb5ff60ca17f030ce91f6331cbwrowe# Declare the sub-directories to be built here
b999f6ba2a266bf9a92687f31bb7e76021ac5891ianhSUBDIRS = \
2ceedfca3a2fdfdb5ff60ca17f030ce91f6331cbwrowe $(APR_WORK) \
1f3a44f2fd7f9fee00b80c7ddcf1028ea145f91drbb# Get the 'head' of the build environment. This includes default targets and
1f3a44f2fd7f9fee00b80c7ddcf1028ea145f91drbb# paths to tools
1f3a44f2fd7f9fee00b80c7ddcf1028ea145f91drbbinclude $(AP_WORK)/build/NWGNUhead.inc
43ea154f46345c9722c2b25b2b9f5086ec79eaeeorlikowski# build this level's files
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck# Make sure all needed macro's are defined
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck# These directories will be at the beginning of the include list, followed by
0c233c76f21b358f4a0d81e0f956339ca727c14cchuckXINCDIRS += \
53c2eb831bfe47860e3f5ec9190b15cb92f15181chuck $(APR)/include \
c1635d9f723f28fed4b95e5d9693e554a79e8d77orlikowski $(APRUTIL)/include \
c1635d9f723f28fed4b95e5d9693e554a79e8d77orlikowski $(SRC)/include \
c1635d9f723f28fed4b95e5d9693e554a79e8d77orlikowski $(STDMOD)/core \
c1635d9f723f28fed4b95e5d9693e554a79e8d77orlikowski $(STDMOD)/filters \
c1635d9f723f28fed4b95e5d9693e554a79e8d77orlikowski $(STDMOD)/generators \
c1635d9f723f28fed4b95e5d9693e554a79e8d77orlikowski $(STDMOD)/proxy \
4f7dd0949d92462a8adc31eee8aff266eea55204chuck# These flags will come after CFLAGS
75b3ed55173b29dbdf9e2fb6ec5462bfceee21aechuckXCFLAGS += \
75b3ed55173b29dbdf9e2fb6ec5462bfceee21aechuck -DHAVE_CONFIG_H \
0c233c76f21b358f4a0d81e0f956339ca727c14cchuck# These defines will come after DEFINES
68bcde9c52e9e749482df2800dbdff09559115e0chuckXDEFINES += \
68bcde9c52e9e749482df2800dbdff09559115e0chuck# These flags will be added to the link.opt file
68bcde9c52e9e749482df2800dbdff09559115e0chuckXLFLAGS += \
68bcde9c52e9e749482df2800dbdff09559115e0chuck# These values will be appended to the correct variables based on the value of
68bcde9c52e9e749482df2800dbdff09559115e0chuckifeq "$(RELEASE)" "debug"
68bcde9c52e9e749482df2800dbdff09559115e0chuckXINCDIRS += \
68bcde9c52e9e749482df2800dbdff09559115e0chuckXCFLAGS += \
68bcde9c52e9e749482df2800dbdff09559115e0chuckXDEFINES += \
68bcde9c52e9e749482df2800dbdff09559115e0chuckXLFLAGS += \
68bcde9c52e9e749482df2800dbdff09559115e0chuckifeq "$(RELEASE)" "noopt"
68bcde9c52e9e749482df2800dbdff09559115e0chuckXINCDIRS += \
0c233c76f21b358f4a0d81e0f956339ca727c14cchuckXCFLAGS += \
68bcde9c52e9e749482df2800dbdff09559115e0chuckXDEFINES += \
68bcde9c52e9e749482df2800dbdff09559115e0chuckXLFLAGS += \
68bcde9c52e9e749482df2800dbdff09559115e0chuckifeq "$(RELEASE)" "release"
68bcde9c52e9e749482df2800dbdff09559115e0chuckXINCDIRS += \
68bcde9c52e9e749482df2800dbdff09559115e0chuckXCFLAGS += \
68bcde9c52e9e749482df2800dbdff09559115e0chuckXDEFINES += \
68bcde9c52e9e749482df2800dbdff09559115e0chuckXLFLAGS += \
68bcde9c52e9e749482df2800dbdff09559115e0chuck# These are used by the link target if an NLM is being generated
68bcde9c52e9e749482df2800dbdff09559115e0chuck# This is used by the link 'name' directive to name the nlm. If left blank
68bcde9c52e9e749482df2800dbdff09559115e0chuck# TARGET_nlm (see below) will be used.
0c233c76f21b358f4a0d81e0f956339ca727c14cchuckNLM_NAME = Apache2
68bcde9c52e9e749482df2800dbdff09559115e0chuck# This is used by the link '-desc ' directive.
68bcde9c52e9e749482df2800dbdff09559115e0chuck# If left blank, NLM_NAME will be used.
68bcde9c52e9e749482df2800dbdff09559115e0chuckNLM_DESCRIPTION = Apache Web Server $(VERSION_STR) $(VERSION_SKT)
68bcde9c52e9e749482df2800dbdff09559115e0chuck# This is used by the '-threadname' directive. If left blank,
68bcde9c52e9e749482df2800dbdff09559115e0chuck# NLM_NAME Thread will be used.
68bcde9c52e9e749482df2800dbdff09559115e0chuckNLM_THREAD_NAME = $(NLM_NAME)
68bcde9c52e9e749482df2800dbdff09559115e0chuck# This is used by the '-screenname' directive. If left blank,
68bcde9c52e9e749482df2800dbdff09559115e0chuck# 'Apache for NetWare' Thread will be used.
0c233c76f21b358f4a0d81e0f956339ca727c14cchuckNLM_SCREEN_NAME = Apache $(VERSION_STR) for NetWare
68bcde9c52e9e749482df2800dbdff09559115e0chuck# If this is specified, it will override VERSION value in
68bcde9c52e9e749482df2800dbdff09559115e0chuckNLM_VERSION =
68bcde9c52e9e749482df2800dbdff09559115e0chuck# If this is specified, it will override the default of 64K
68bcde9c52e9e749482df2800dbdff09559115e0chuckNLM_STACK_SIZE = 65536
68bcde9c52e9e749482df2800dbdff09559115e0chuck# If this is specified it will be used by the link '-entry' directive
0c233c76f21b358f4a0d81e0f956339ca727c14cchuckNLM_ENTRY_SYM =
68bcde9c52e9e749482df2800dbdff09559115e0chuck# If this is specified it will be used by the link '-exit' directive
68bcde9c52e9e749482df2800dbdff09559115e0chuckNLM_EXIT_SYM =
68bcde9c52e9e749482df2800dbdff09559115e0chuck# If this is specified it will be used by the link '-check' directive
68bcde9c52e9e749482df2800dbdff09559115e0chuckNLM_CHECK_SYM = _LibCCheckUnload
68bcde9c52e9e749482df2800dbdff09559115e0chuck# If these are specified it will be used by the link '-flags' directive
68bcde9c52e9e749482df2800dbdff09559115e0chuckNLM_FLAGS = PSEUDOPREEMPTION
68bcde9c52e9e749482df2800dbdff09559115e0chuck# If this is specified it will be linked in with the XDCData option in the def
68bcde9c52e9e749482df2800dbdff09559115e0chuck# file instead of the default of $(NWOS)/apache.xdc. XDCData can be disabled
68bcde9c52e9e749482df2800dbdff09559115e0chuck# by setting APACHE_UNIPROC in the environment
68bcde9c52e9e749482df2800dbdff09559115e0chuck# If there is an NLM target, put it here
68bcde9c52e9e749482df2800dbdff09559115e0chuckTARGET_nlm = \
68bcde9c52e9e749482df2800dbdff09559115e0chuck $(OBJDIR)/$(NLM_NAME).nlm \
68bcde9c52e9e749482df2800dbdff09559115e0chuck# If there is an LIB target, put it here
0c233c76f21b358f4a0d81e0f956339ca727c14cchuckTARGET_lib = \
68bcde9c52e9e749482df2800dbdff09559115e0chuck $(PCRELIB) \
68bcde9c52e9e749482df2800dbdff09559115e0chuck# These are the OBJ files needed to create the NLM target above.
4f7dd0949d92462a8adc31eee8aff266eea55204chuck# Paths must all use the '/' character
68bcde9c52e9e749482df2800dbdff09559115e0chuckFILES_nlm_objs = \
$(OBJDIR)/apreq_module_cgi.o \
$(OBJDIR)/apreq_module_custom.o \
$(OBJDIR)/apreq_param.o \
$(OBJDIR)/apreq_parser.o \
$(OBJDIR)/apreq_parser_header.o \
$(OBJDIR)/apreq_parser_multipart.o \
$(OBJDIR)/apreq_parser_urlencoded.o \
$(OBJDIR)/apreq_util.o \
$(OBJDIR)/buildmark.o \
$(OBJDIR)/config.o \
$(OBJDIR)/connection.o \
$(OBJDIR)/core.o \
$(OBJDIR)/core_filters.o \
$(OBJDIR)/eoc_bucket.o \
$(OBJDIR)/eor_bucket.o \
$(OBJDIR)/error_bucket.o \
$(OBJDIR)/http_core.o \
$(OBJDIR)/http_protocol.o \
$(OBJDIR)/http_request.o \
$(OBJDIR)/byterange_filter.o \
$(OBJDIR)/chunk_filter.o \
$(OBJDIR)/http_etag.o \
$(OBJDIR)/http_filters.o \
$(OBJDIR)/listen.o \
$(OBJDIR)/log.o \
$(OBJDIR)/main.o \
$(OBJDIR)/mod_authn_core.o \
$(OBJDIR)/mod_authz_core.o \
$(OBJDIR)/mod_authz_host.o \
$(OBJDIR)/mod_alias.o \
$(OBJDIR)/mod_dir.o \
$(OBJDIR)/mod_env.o \
$(OBJDIR)/mod_include.o \
$(OBJDIR)/mod_log_config.o \
$(OBJDIR)/mod_mime.o \
$(OBJDIR)/mod_negotiation.o \
$(OBJDIR)/mod_netware.o \
$(OBJDIR)/mod_setenvif.o \
$(OBJDIR)/mod_so.o \
$(OBJDIR)/mod_watchdog.o \
$(OBJDIR)/modules.o \
$(OBJDIR)/mpm_common.o \
$(OBJDIR)/mpm_netware.o \
$(OBJDIR)/protocol.o \
$(OBJDIR)/provider.o \
$(OBJDIR)/request.o \
$(OBJDIR)/scoreboard.o \
$(OBJDIR)/util.o \
$(OBJDIR)/util_cfgtree.o \
$(OBJDIR)/util_charset.o \
$(OBJDIR)/util_cookies.o \
$(OBJDIR)/util_debug.o \
$(OBJDIR)/util_expr_eval.o \
$(OBJDIR)/util_expr_parse.o \
$(OBJDIR)/util_expr_scan.o \
$(OBJDIR)/util_filter.o \
$(OBJDIR)/util_md5.o \
$(OBJDIR)/util_mutex.o \
$(OBJDIR)/util_nw.o \
$(OBJDIR)/util_pcre.o \
$(OBJDIR)/util_regex.o \
$(OBJDIR)/util_script.o \
$(OBJDIR)/util_time.o \
$(OBJDIR)/util_xml.o \
$(OBJDIR)/vhost.o \
FILES_nlm_objs += $(OBJDIR)/mod_nw_ssl.o \
# These will be added as a library command in the link.opt file.
# These will be added as a module command in the link.opt file.
# If this is specified, it will override $(NWOS)\copyright.txt.
@aprlib.imp \
@libc.imp \
@netware.imp \
FILES_nlm_Ximports += @ws2nlm.imp \
@httpd.imp \
$(OBJDIR)/pcre.o \
$(OBJDIR)/chartables.o \
$(OBJDIR)/pcre_compile.o \
$(OBJDIR)/pcre_exec.o \
$(OBJDIR)/pcre_fullinfo.o \
$(OBJDIR)/pcre_globals.o \
$(OBJDIR)/pcre_newline.o \
$(OBJDIR)/pcre_tables.o \
$(OBJDIR)/pcre_version.o \
$(OBJDIR)/pcre_try_flipped.o \
# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
MKCNF = $(AWK) -v BDIR=$(BASEDIR) -v PORT=$(PORT) -v SSLPORT=$(SSLPORT) -v MODSSL=$(WITH_SSL) -v BSDSKT=$(USE_STDSOCKETS) -f build/mkconfNW.awk $1 > $2
$(call COPY,docs/conf/magic, $(INSTALLBASE)/conf/)
$(call COPY,docs/conf/mime.types, $(INSTALLBASE)/conf/)
$(call COPY,docs/conf/charset.conv, $(INSTALLBASE)/conf/)
$(call MKCNF,docs/conf/extra/httpd-autoindex.conf.in, $(INSTALLBASE)/conf/extra/httpd-autoindex.conf)
$(call MKCNF,docs/conf/extra/httpd-languages.conf.in, $(INSTALLBASE)/conf/extra/httpd-languages.conf)
$(call MKCNF,docs/conf/extra/httpd-multilang-errordoc.conf.in, $(INSTALLBASE)/conf/extra/httpd-multilang-errordoc.conf)
$(call COPYR,docs/docroot, $(INSTALLBASE)/htdocs)
$(call COPYR,docs/error, $(INSTALLBASE)/error)
$(call COPYR,docs/icons, $(INSTALLBASE)/icons)
$(call COPYR,docs/man, $(INSTALLBASE)/man)
$(call COPYR,docs/manual, $(INSTALLBASE)/manual)
$(call COPY,$(STDMOD)/core/mod_so.h, $(INSTALLBASE)/include/)
$(call COPY,$(STDMOD)/core/mod_watchdog.h, $(INSTALLBASE)/include/)
$(call COPY,$(STDMOD)/cache/mod_cache.h, $(INSTALLBASE)/include/)
$(call COPY,$(STDMOD)/database/mod_dbd.h, $(INSTALLBASE)/include/)
$(call COPY,$(STDMOD)/dav/main/mod_dav.h, $(INSTALLBASE)/include/)
$(call COPY,$(STDMOD)/filters/mod_include.h, $(INSTALLBASE)/include/)
$(call COPY,$(STDMOD)/generators/mod_cgi.h, $(INSTALLBASE)/include/)
$(call COPY,$(STDMOD)/generators/mod_status.h, $(INSTALLBASE)/include/)
$(call COPY,$(STDMOD)/loggers/mod_log_config.h, $(INSTALLBASE)/include/)
$(call COPY,$(STDMOD)/mappers/mod_rewrite.h, $(INSTALLBASE)/include/)
$(call COPY,$(STDMOD)/proxy/mod_proxy.h, $(INSTALLBASE)/include/)
$(call COPY,$(STDMOD)/proxy/mod_serf.h, $(INSTALLBASE)/include/)
$(call COPY,$(STDMOD)/session/mod_session.h, $(INSTALLBASE)/include/)
$(call COPY,$(STDMOD)/ssl/mod_ssl.h, $(INSTALLBASE)/include/)
include $(APBUILD)/NWGNUtail.inc
include $(APBUILD)/NWGNUscripts.inc