X-Git-Url: https://granicus.if.org/sourcecode?a=blobdiff_plain;f=NWGNUmakefile;h=f120e85b1c937449f2ed1b1793790fd5302eaa19;hb=2fe752e16be831a618c7e3e5d3c0f8edf491a82d;hp=f340c665408bc833b6c3acf92870139b44343ae5;hpb=ba43bad1207f9122f9e15692583e8308dd6b25f9;p=apache diff --git a/NWGNUmakefile b/NWGNUmakefile index f340c66540..f120e85b1c 100644 --- a/NWGNUmakefile +++ b/NWGNUmakefile @@ -1,3 +1,34 @@ +# +# Define our required macro's if not already done. +# + +ifndef AP_WORK +export AP_WORK = $(CURDIR) +endif + +ifndef APR_WORK +ifeq "$(wildcard $(AP_WORK)/srclib/apr)" "$(AP_WORK)/srclib/apr" +export APR_WORK = $(AP_WORK)/srclib/apr +endif +endif +ifneq "$(wildcard $(APR_WORK)/include/apr_version.h)" "$(APR_WORK)/include/apr_version.h" +$(error APR_WORK does not point to a valid APR source tree) +endif + +ifndef APU_WORK +ifeq "$(wildcard $(AP_WORK)/srclib/apr-util)" "$(AP_WORK)/srclib/apr-util" +export APU_WORK = $(AP_WORK)/srclib/apr-util +endif +endif +ifndef APU_WORK +ifeq "$(wildcard $(APR_WORK)/include/apu_version.h)" "$(APR_WORK)/include/apu_version.h" +export APU_WORK = $(APR_WORK) +endif +endif +ifneq "$(wildcard $(APU_WORK)/include/apu_version.h)" "$(APU_WORK)/include/apu_version.h" +$(error APU_WORK does not point to a valid APU source tree) +endif + # # Declare the sub-directories to be built here # @@ -14,7 +45,7 @@ SUBDIRS = \ # paths to tools # -include $(AP_WORK)\build\NWGNUhead.inc +include $(AP_WORK)/build/NWGNUhead.inc # # build this level's files @@ -30,25 +61,27 @@ include $(AP_WORK)\build\NWGNUhead.inc XINCDIRS += \ $(APR)/include \ $(APRUTIL)/include \ - $(AP_WORK)/include \ - $(AP_WORK)/modules/aaa/ \ - $(AP_WORK)/modules/filters/ \ - $(AP_WORK)/modules/generators/ \ - $(AP_WORK)/modules/http/ \ - $(AP_WORK)/modules/loggers/ \ - $(AP_WORK)/modules/mappers/ \ - $(AP_WORK)/modules/proxy/ \ - $(AP_WORK)/os/NetWare \ - $(AP_WORK)/server/mpm/NetWare \ - $(AP_WORK)/srclib/pcre \ + $(SRC)/include \ + $(STDMOD)/aaa \ + $(STDMOD)/core \ + $(STDMOD)/filters \ + $(STDMOD)/generators \ + $(STDMOD)/http \ + $(STDMOD)/loggers \ + $(STDMOD)/mappers \ + $(STDMOD)/proxy \ + $(STDMOD)/ssl \ + $(SERVER) \ + $(SERVER)/mpm/netware \ + $(PCRE) \ $(NWOS) \ - $(AP_WORK)/modules/ssl \ $(EOLIST) # # These flags will come after CFLAGS # XCFLAGS += \ + -DHAVE_CONFIG_H \ $(EOLIST) # @@ -126,7 +159,7 @@ NLM_DESCRIPTION = Apache Web Server $(VERSION_STR) $(VERSION_SKT) # This is used by the '-threadname' directive. If left blank, # NLM_NAME Thread will be used. # -NLM_THREAD_NAME = Apache +NLM_THREAD_NAME = $(NLM_NAME) # # This is used by the '-screenname' directive. If left blank, @@ -137,7 +170,7 @@ NLM_SCREEN_NAME = Apache $(VERSION_STR) for NetWare # # If this is specified, it will override VERSION value in -# $(AP_WORK)\build\NWGNUenvironment.inc +# $(AP_WORK)/build/NWGNUenvironment.inc # NLM_VERSION = @@ -150,12 +183,12 @@ NLM_STACK_SIZE = 65536 # # If this is specified it will be used by the link '-entry' directive # -NLM_ENTRY_SYM = _LibCPrelude +NLM_ENTRY_SYM = # # If this is specified it will be used by the link '-exit' directive # -NLM_EXIT_SYM = _LibCPostlude +NLM_EXIT_SYM = # # If this is specified it will be used by the link '-check' directive @@ -178,13 +211,14 @@ XDCDATA = # If there is an NLM target, put it here # TARGET_nlm = \ - $(OBJDIR)/Apache2.nlm \ + $(OBJDIR)/$(NLM_NAME).nlm \ $(EOLIST) # # If there is an LIB target, put it here # TARGET_lib = \ + $(PCRELIB) \ $(EOLIST) # @@ -211,9 +245,7 @@ FILES_nlm_objs = \ $(OBJDIR)/log.o \ $(OBJDIR)/main.o \ $(OBJDIR)/mod_authn_core.o \ - $(OBJDIR)/mod_authn_default.o \ $(OBJDIR)/mod_authz_core.o \ - $(OBJDIR)/mod_authz_default.o \ $(OBJDIR)/mod_authz_host.o \ $(OBJDIR)/mod_alias.o \ $(OBJDIR)/mod_dir.o \ @@ -225,10 +257,10 @@ FILES_nlm_objs = \ $(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)/pcre.o \ $(OBJDIR)/protocol.o \ $(OBJDIR)/provider.o \ $(OBJDIR)/request.o \ @@ -236,12 +268,17 @@ FILES_nlm_objs = \ $(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 \ @@ -259,7 +296,8 @@ endif # These will be added as a library command in the link.opt file. # FILES_nlm_libs = \ - libcpre.o \ + $(PCRELIB) \ + $(PRELUDE) \ $(EOLIST) # @@ -290,9 +328,9 @@ FILE_nlm_copyright = # Any additional imports go here # FILES_nlm_Ximports = \ - @netware.imp \ - @$(APR)/aprlib.imp \ + @aprlib.imp \ @libc.imp \ + @netware.imp \ GetCurrentAddressSpace \ $(EOLIST) @@ -306,16 +344,36 @@ endif # Any symbols exported to here # FILES_nlm_exports = \ - @$(NWOS)/httpd.imp \ + @httpd.imp \ $(EOLIST) # # These are the OBJ files needed to create the LIB target above. # Paths must all use the '/' character # +ifeq "$(wildcard $(PCRE)/pcre.c)" "$(PCRE)/pcre.c" + FILES_lib_objs = \ + $(OBJDIR)/pcre.o \ $(EOLIST) +else + +FILES_lib_objs = \ + $(OBJDIR)/pcre_compile.o \ + $(OBJDIR)/pcre_exec.o \ + $(OBJDIR)/pcre_fullinfo.o \ + $(OBJDIR)/pcre_globals.o \ + $(OBJDIR)/pcre_info.o \ + $(OBJDIR)/pcre_newline.o \ + $(OBJDIR)/pcre_tables.o \ + $(OBJDIR)/pcre_try_flipped.o \ + $(OBJDIR)/pcre_version.o \ + $(OBJDIR)/chartables.o \ + $(EOLIST) + +endif + # # implement targets and dependancies (leave this section alone) # @@ -326,59 +384,74 @@ 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 - -copy $(OBJDIR)\Apache2.nlm $(INSTALL)\$(BASEDIR)\*.* - -copy ABOUT_APACHE $(INSTALL)\$(BASEDIR)\*.* - -copy README $(INSTALL)\$(BASEDIR)\*.* - -copy STATUS $(INSTALL)\$(BASEDIR)\*.* - -copy LICENSE $(INSTALL)\$(BASEDIR)\*.* - -copy CHANGES $(INSTALL)\$(BASEDIR)\*.* - -copy support\dbmmanage.in $(INSTALL)\$(BASEDIR)\bin\dbmmanage.pl - -copy support\logresolve.pl.in $(INSTALL)\$(BASEDIR)\bin\logresolve.pl -ifdef USE_STDSOCKETS - -awk -v BDIR=$(BASEDIR) -v MODSSL=1 -f build\mkconfnw.awk docs\conf\httpd.conf.in >$(INSTALL)\$(BASEDIR)\conf\httpd.conf -else - -awk -v BDIR=$(BASEDIR) -v NWSSL=1 -f build\mkconfnw.awk docs\conf\httpd.conf.in >$(INSTALL)\$(BASEDIR)\conf\httpd.conf -endif - $(CHKNOT) $(INSTALL)\$(BASEDIR)\conf\extra\nul mkdir $(INSTALL)\$(BASEDIR)\conf\extra - -awk -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-autoindex.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-autoindex.conf - -awk -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-dav.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-dav.conf - -awk -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-default.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-default.conf - -awk -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-info.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-info.conf - -awk -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-languages.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-languages.conf - -awk -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-manual.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-manual.conf - -awk -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-mpm.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-mpm.conf - -awk -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-multilang-errordoc.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-multilang-errordoc.conf - -awk -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-ssl.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-ssl.conf - -awk -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-userdir.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-userdir.conf - -awk -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-vhosts.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-vhosts.conf - -copy docs\conf\magic $(INSTALL)\$(BASEDIR)\conf\magic - -copy docs\conf\mime.types $(INSTALL)\$(BASEDIR)\conf\mime.types - -copy docs\conf\charset.conv $(INSTALL)\$(BASEDIR)\conf\charset.conv - -copy docs\cgi-examples\printenv $(INSTALL)\$(BASEDIR)\cgi-bin\printenv.pl - @xcopy $(XCOPYSW) docs\error $(INSTALL)\$(BASEDIR)\error - @xcopy $(XCOPYSW) docs\docroot $(INSTALL)\$(BASEDIR)\htdocs - @xcopy $(XCOPYSW) docs\icons $(INSTALL)\$(BASEDIR)\icons - @xcopy $(XCOPYSW) docs\man $(INSTALL)\$(BASEDIR)\man - @xcopy $(XCOPYSW) docs\manual $(INSTALL)\$(BASEDIR)\manual +# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples) +# +MKCNF = $(AWK) -v BDIR=$(BASEDIR) -v PORT=$(PORT) -v SSLPORT=$(SSLPORT) -v MODSSL=$(WITH_MOD_SSL) -v BSDSKT=$(USE_STDSOCKETS) -f build/mkconfNW.awk $1 > $2 + +install :: nlms instscripts FORCE + $(call COPY,$(OBJDIR)/$(NLM_NAME).nlm, $(INSTALLBASE)/) + $(call COPY,ABOUT_APACHE, $(INSTALLBASE)/) + $(call COPY,CHANGES, $(INSTALLBASE)/) + $(call COPY,LICENSE, $(INSTALLBASE)/) + $(call COPY,README, $(INSTALLBASE)/) + $(call COPY,VERSIONING, $(INSTALLBASE)/) + $(call COPY,STATUS, $(INSTALLBASE)/) + $(call COPY,support/dbmmanage.in, $(INSTALLBASE)/bin/dbmmanage.pl) + $(call COPY,support/logresolve.pl.in, $(INSTALLBASE)/bin/logresolve.pl) + $(call COPY,support/split-logfile.in, $(INSTALLBASE)/bin/split-logfile.pl) + $(call COPY,support/check_forensic, $(INSTALLBASE)/bin/check_forensic.sh) + $(call COPY,docs/conf/magic, $(INSTALLBASE)/conf/) + $(call COPY,docs/conf/mime.types, $(INSTALLBASE)/conf/) + $(call COPY,docs/conf/charset.conv, $(INSTALLBASE)/conf/) + $(call COPY,docs/cgi-examples/printenv, $(INSTALLBASE)/cgi-bin/printenv.pl) + $(call MKCNF,docs/conf/httpd.conf.in, $(INSTALLBASE)/conf/httpd.conf) + $(call MKCNF,docs/conf/extra/httpd-autoindex.conf.in, $(INSTALLBASE)/conf/extra/httpd-autoindex.conf) + $(call MKCNF,docs/conf/extra/httpd-dav.conf.in, $(INSTALLBASE)/conf/extra/httpd-dav.conf) + $(call MKCNF,docs/conf/extra/httpd-default.conf.in, $(INSTALLBASE)/conf/extra/httpd-default.conf) + $(call MKCNF,docs/conf/extra/httpd-info.conf.in, $(INSTALLBASE)/conf/extra/httpd-info.conf) + $(call MKCNF,docs/conf/extra/httpd-languages.conf.in, $(INSTALLBASE)/conf/extra/httpd-languages.conf) + $(call MKCNF,docs/conf/extra/httpd-manual.conf.in, $(INSTALLBASE)/conf/extra/httpd-manual.conf) + $(call MKCNF,docs/conf/extra/httpd-mpm.conf.in, $(INSTALLBASE)/conf/extra/httpd-mpm.conf) + $(call MKCNF,docs/conf/extra/httpd-multilang-errordoc.conf.in, $(INSTALLBASE)/conf/extra/httpd-multilang-errordoc.conf) + $(call MKCNF,docs/conf/extra/httpd-userdir.conf.in, $(INSTALLBASE)/conf/extra/httpd-userdir.conf) + $(call MKCNF,docs/conf/extra/httpd-vhosts.conf.in, $(INSTALLBASE)/conf/extra/httpd-vhosts.conf) + $(call MKCNF,docs/conf/extra/httpd-ssl.conf.in, $(INSTALLBASE)/conf/extra/httpd-ssl.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) installdev :: FORCE - -copy $(subst /,\,$(AP_WORK))\include\*.h $(INSTALL)\$(BASEDIR)\include\*.* - -copy $(subst /,\,$(AP_WORK))\os\netware\*.h $(INSTALL)\$(BASEDIR)\include\*.* - -copy $(subst /,\,$(NWOS))\*.imp $(INSTALL)\$(BASEDIR)\lib\*.* - -copy $(subst /,\,$(APR))\include\*.h $(INSTALL)\$(BASEDIR)\include\*.* - -copy $(subst /,\,$(APRUTIL))\include\*.h $(INSTALL)\$(BASEDIR)\include\*.* - -copy $(subst /,\,$(APR))\*.imp $(INSTALL)\$(BASEDIR)\lib\*.* - -copy $(subst /,\,$(NWOS))\*.xdc $(INSTALL)\$(BASEDIR)\lib\*.* + $(call COPY,$(SRC)/include/*.h, $(INSTALLBASE)/include/) + $(call COPY,$(NWOS)/*.h, $(INSTALLBASE)/include/) + $(call COPY,$(APR)/include/*.h, $(INSTALLBASE)/include/) + $(call COPY,$(APRUTIL)/include/*.h, $(INSTALLBASE)/include/) + $(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/) + $(call COPY,$(APR)/*.imp, $(INSTALLBASE)/lib/) + $(call COPY,$(NWOS)/*.imp, $(INSTALLBASE)/lib/) + $(call COPY,$(NWOS)/*.xdc, $(INSTALLBASE)/lib/) + $(call COPY,$(APBUILD)/NWGNU*.inc, $(INSTALLBASE)/build/) prebuild :: FORCE - $(MAKE) -C server -f NWGNUMakefile - $(MAKE) -C srclib/pcre -f NWGNUMakefile - $(CHKNOT) $(PREBUILD_INST)\nul mkdir $(PREBUILD_INST) - -copy $(AP_WORK)\server\$(OBJDIR)\*.nlm $(PREBUILD_INST)\*.* - -copy $(AP_WORK)\srclib\pcre\$(basename $(OBJDIR))\*.nlm $(PREBUILD_INST)\*.* + $(MAKE) -C $(SERVER) -f NWGNUmakefile + $(MAKE) -C $(PCRE) -f NWGNUmakefile + $(call MKDIR,$(PREBUILD_INST)) + $(call COPY,$(SERVER)/$(OBJDIR)/*.nlm, $(PREBUILD_INST)/) + $(call COPY,$(PCRE)/$(OBJDIR)/*.nlm, $(PREBUILD_INST)/) # # Any specialized rules here @@ -386,13 +459,17 @@ prebuild :: FORCE vpath %.c server:modules/arch/netware:modules/http:modules/aaa:modules/mappers vpath %.c modules/generators:modules/metadata:modules/filters:modules/loggers -vpath %.c os/netware:server/mpm/netware:srclib/pcre +vpath %.c modules/core:os/netware:server/mpm/netware:$(PCRE) + +$(OBJDIR)/chartables.o: os/netware/chartables.c # # Include the 'tail' makefile that has targets that depend on variables defined # in this makefile # -include $(AP_WORK)\build\NWGNUtail.inc +include $(APBUILD)/NWGNUtail.inc + +include $(APBUILD)/NWGNUscripts.inc