]> granicus.if.org Git - apache/blobdiff - NWGNUmakefile
provide links back to ap_expr-aware directives/modules
[apache] / NWGNUmakefile
index 0cf5e5cb102da0af6e09ffcd27048ca6b7ee1078..2a9623e7839c6cc8bd815287e8de96eaa28002ac 100644 (file)
@@ -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
 #
@@ -31,24 +62,26 @@ 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 \
+                       $(STDMOD)/aaa \
+                       $(STDMOD)/core \
+                       $(STDMOD)/filters \
+                       $(STDMOD)/generators \
+                       $(STDMOD)/http \
+                       $(STDMOD)/loggers \
+                       $(STDMOD)/mappers \
+                       $(STDMOD)/proxy \
+                       $(STDMOD)/ssl \
+                       $(AP_WORK)/server \
+                       $(AP_WORK)/server/mpm/netware \
+                       $(PCRE) \
                        $(NWOS) \
-                       $(AP_WORK)/modules/ssl \
                        $(EOLIST)
 
 #
 # These flags will come after CFLAGS
 #
 XCFLAGS                += \
+                       -DHAVE_CONFIG_H \
                        $(EOLIST)
 
 #
@@ -120,18 +153,13 @@ NLM_NAME  = Apache2
 # This is used by the link '-desc ' directive.
 # If left blank, NLM_NAME will be used.
 #
-ifdef USE_STDSOCKETS
-VERSION_SKT = (BSDSOCK)
-else
-VERSION_SKT = (WINSOCK)
-endif
 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,
@@ -183,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 = \
+       $(OBJDIR)/pcre.lib \
        $(EOLIST)
 
 #
@@ -216,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 \
@@ -230,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 \
@@ -241,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 \
@@ -264,6 +296,7 @@ endif
 # These will be added as a library command in the link.opt file.
 #
 FILES_nlm_libs = \
+       $(PCRELIB) \
        libcpre.o \
        $(EOLIST)
 
@@ -318,7 +351,30 @@ FILES_nlm_exports = \
 # 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 \
+       $(EOLIST)
+
+endif
+
+FILES_lib_objs += \
+       $(OBJDIR)/chartables.o \
        $(EOLIST)
 
 #
@@ -333,57 +389,56 @@ 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) -f build\mkconfnw.awk docs\conf\httpd.conf.in >$(INSTALL)\$(BASEDIR)\conf\httpd.conf
-else
-       -awk -v BDIR=$(BASEDIR) -v SSL=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
+install :: nlms instscripts FORCE
+       -copy $(OBJDIR)\$(NLM_NAME).nlm  $(INSTALL)\$(BASEDIR)\*.*
+       -copy ABOUT_APACHE               $(INSTALL)\$(BASEDIR)\*.*
+       -copy CHANGES                    $(INSTALL)\$(BASEDIR)\*.*
+       -copy LICENSE                    $(INSTALL)\$(BASEDIR)\*.*
+       -copy README                     $(INSTALL)\$(BASEDIR)\*.*
+       -copy VERSIONING                 $(INSTALL)\$(BASEDIR)\*.*
+       -copy STATUS                     $(INSTALL)\$(BASEDIR)\*.*
+       -copy support\dbmmanage.in       $(INSTALL)\$(BASEDIR)\bin\dbmmanage.pl
+       -copy support\logresolve.pl.in   $(INSTALL)\$(BASEDIR)\bin\logresolve.pl
+       -copy support\split-logfile.in   $(INSTALL)\$(BASEDIR)\bin\split-logfile.pl
+       -copy support\check_forensic     $(INSTALL)\$(BASEDIR)\bin\check_forensic.sh
+       -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
+       -$(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
+       $(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-userdir.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-userdir.conf
+       -$(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
+       -$(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
+       @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
 
 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\*.*
+       -copy $(subst /,\,$(AP_WORK))\include\*.h  $(INSTALL)\$(BASEDIR)\include\*.*
+       -copy $(subst /,\,$(NWOS))\*.h             $(INSTALL)\$(BASEDIR)\include\*.*
+       -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))\*.imp           $(INSTALL)\$(BASEDIR)\lib\*.*
+       -copy $(subst /,\,$(NWOS))\*.xdc           $(INSTALL)\$(BASEDIR)\lib\*.*
 
 prebuild :: FORCE
-       $(MAKE) -C server -f NWGNUMakefile
-       $(MAKE) -C srclib/pcre -f NWGNUMakefile
-       $(CHKNOT) $(PREBUILD_INST)\nul          mkdir $(PREBUILD_INST)
+       $(MAKE) -C $(SERVER) -f NWGNUmakefile
+       $(MAKE) -C $(PCRE) -f NWGNUmakefile
+       $(CHKNOT) $(subst /,\,$(PREBUILD_INST))\nul mkdir $(subst /,\,$(PREBUILD_INST))
        -copy $(AP_WORK)\server\$(OBJDIR)\*.nlm $(PREBUILD_INST)\*.*
-       -copy $(AP_WORK)\srclib\pcre\$(basename $(OBJDIR))\*.nlm $(PREBUILD_INST)\*.*
+       -copy $(PCRE)\$(basename $(OBJDIR))\*.nlm $(PREBUILD_INST)\*.*
 
 #
 # Any specialized rules here
@@ -391,7 +446,7 @@ 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)
 
 #
 # Include the 'tail' makefile that has targets that depend on variables defined
@@ -400,4 +455,6 @@ vpath %.c os/netware:server/mpm/netware:srclib/pcre
 
 include $(AP_WORK)\build\NWGNUtail.inc
 
+include $(AP_WORK)\build\NWGNUscripts.inc
+