]> granicus.if.org Git - apache/blobdiff - NWGNUmakefile
building separate lib and static linking it into mod_md
[apache] / NWGNUmakefile
index 9f59a9d9b7cf9147b61c6a6763bd7ee418696d44..e11219570d6352a6eaef373cf9229634cfa38a84 100644 (file)
@@ -45,7 +45,7 @@ SUBDIRS = \
 # paths to tools
 #
 
-include $(AP_WORK)\build\NWGNUhead.inc
+include $(AP_WORK)/build/NWGNUhead.inc
 
 #
 # build this level's files
@@ -61,18 +61,11 @@ include $(AP_WORK)\build\NWGNUhead.inc
 XINCDIRS       += \
                        $(APR)/include \
                        $(APRUTIL)/include \
-                       $(AP_WORK)/include \
-                       $(AP_WORK)/modules/aaa/ \
-                       $(AP_WORK)/modules/core \
-                       $(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)/modules/ssl/ \
-                       $(AP_WORK)/server/mpm/netware \
-                       $(PCRE) \
+                       $(SRC)/include \
+                       $(STDMOD)/core \
+                       $(STDMOD)/filters \
+                       $(STDMOD)/generators \
+                       $(STDMOD)/proxy \
                        $(NWOS) \
                        $(EOLIST)
 
@@ -158,7 +151,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,
@@ -169,7 +162,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    =
 
@@ -182,12 +175,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
@@ -210,14 +203,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 \
+       $(PCRELIB) \
        $(EOLIST)
 
 #
@@ -225,6 +218,17 @@ TARGET_lib = \
 # Paths must all use the '/' character
 #
 FILES_nlm_objs = \
+       $(OBJDIR)/apreq_cookie.o \
+       $(OBJDIR)/apreq_error.o \
+       $(OBJDIR)/apreq_module.o \
+       $(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 \
@@ -269,12 +273,16 @@ FILES_nlm_objs = \
        $(OBJDIR)/util_charset.o \
        $(OBJDIR)/util_cookies.o \
        $(OBJDIR)/util_debug.o \
-       $(OBJDIR)/util_expr.o \
+       $(OBJDIR)/util_expr_eval.o \
+       $(OBJDIR)/util_expr_parse.o \
+       $(OBJDIR)/util_expr_scan.o \
+       $(OBJDIR)/util_fcgi.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 \
@@ -293,7 +301,7 @@ endif
 #
 FILES_nlm_libs = \
        $(PCRELIB) \
-       libcpre.o \
+       $(PRELUDE) \
        $(EOLIST)
 
 #
@@ -324,9 +332,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)
 
@@ -340,7 +348,7 @@ endif
 # Any symbols exported to here
 #
 FILES_nlm_exports = \
-       @$(NWOS)/httpd.imp \
+       @httpd.imp \
        $(EOLIST)
 
 #
@@ -356,17 +364,20 @@ FILES_lib_objs = \
 else
 
 FILES_lib_objs = \
+       $(OBJDIR)/chartables.o \
        $(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)
+ifeq "$(wildcard $(PCRE)/pcre_try_flipped.c)" "$(PCRE)/pcre_try_flipped.c"
+FILES_lib_objs += \
+       $(OBJDIR)/pcre_try_flipped.o \
+       $(EOLIST)
+endif 
 
 endif
 
@@ -380,57 +391,79 @@ 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)
+# 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 MODHTTP2=$(WITH_HTTP2) -v BSDSKT=$(USE_STDSOCKETS) -f build/mkconfNW.awk $1 > $2
+
 install :: nlms instscripts 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 VERSIONING                $(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
-       -$(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
-       -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
+       $(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-macro.conf.in,              $(INSTALLBASE)/conf/extra/httpd-macro.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-policy.conf.in,             $(INSTALLBASE)/conf/extra/httpd-policy.conf)
+       $(call MKCNF,docs/conf/extra/httpd-ssl.conf.in,                $(INSTALLBASE)/conf/extra/httpd-ssl.conf)
+       $(call MKCNF,docs/conf/extra/proxy-html.conf.in,               $(INSTALLBASE)/conf/extra/proxy-html.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)/cache/cache_common.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,$(STDMOD)/ssl/mod_ssl_openssl.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 $(PCRE) -f NWGNUMakefile
-       $(CHKNOT) $(PREBUILD_INST)\nul          mkdir $(PREBUILD_INST)
-       -copy $(AP_WORK)\server\$(OBJDIR)\*.nlm $(PREBUILD_INST)\*.*
-       -copy $(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
@@ -440,13 +473,15 @@ vpath %.c server:modules/arch/netware:modules/http:modules/aaa:modules/mappers
 vpath %.c modules/generators:modules/metadata:modules/filters:modules/loggers
 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 $(AP_WORK)\build\NWGNUscripts.inc
+include $(APBUILD)/NWGNUscripts.inc