--- /dev/null
+#\r
+# Make sure all needed macro's are defined\r
+#\r
+\r
+OSSLINC = $(OSSLSDK)/outinc_nw_libc\r
+OSSLLIB = $(OSSLSDK)/out_nw_libc\r
+OSSLAPP = $(OSSLSDK)/apps\r
+\r
+#\r
+# Get the 'head' of the build environment if necessary. This includes default\r
+# targets and paths to tools\r
+#\r
+\r
+ifndef EnvironmentDefined\r
+include $(AP_WORK)\build\NWGNUhead.inc\r
+endif\r
+\r
+V_PATH = \\r
+ $(SERFSRC) \\r
+ $(SERFSRC)/buckets \\r
+ $(ZLIBSDK) \\r
+ $(EOLIST)\r
+#\r
+# These directories will be at the beginning of the include list, followed by\r
+# INCDIRS\r
+#\r
+XINCDIRS += \\r
+ $(V_PATH) \\r
+ $(OSSLINC) \\r
+ $(OSSLINC)/openssl \\r
+ $(AP_WORK)/include \\r
+ $(NWOS) \\r
+ $(AP_WORK)/modules/http \\r
+ $(AP_WORK)/modules/arch/netware \\r
+ $(AP_WORK)/modules/ssl \\r
+ $(AP_WORK)/modules/generators \\r
+ $(APR)/include \\r
+ $(APRUTIL)/include \\r
+ $(APR) \\r
+ $(EOLIST)\r
+\r
+#\r
+# These flags will come after CFLAGS\r
+#\r
+XCFLAGS += \\r
+ -relax_pointers \\r
+ $(EOLIST)\r
+\r
+#\r
+# These defines will come after DEFINES\r
+#\r
+XDEFINES += \\r
+ -DHAVE_SERF_H \\r
+ -DHAVE_OPENSSL \\r
+ $(EOLIST)\r
+\r
+#\r
+# These flags will be added to the link.opt file\r
+#\r
+XLFLAGS += \\r
+ -l $(OSSLLIB) \\r
+ $(EOLIST)\r
+\r
+#\r
+# These values will be appended to the correct variables based on the value of\r
+# RELEASE\r
+#\r
+ifeq "$(RELEASE)" "debug"\r
+XINCDIRS += \\r
+ $(EOLIST)\r
+\r
+XCFLAGS += \\r
+ $(EOLIST)\r
+\r
+XDEFINES += \\r
+ $(EOLIST)\r
+\r
+XLFLAGS += \\r
+ $(EOLIST)\r
+endif\r
+\r
+ifeq "$(RELEASE)" "noopt"\r
+XINCDIRS += \\r
+ $(EOLIST)\r
+\r
+XCFLAGS += \\r
+ $(EOLIST)\r
+\r
+XDEFINES += \\r
+ $(EOLIST)\r
+\r
+XLFLAGS += \\r
+ $(EOLIST)\r
+endif\r
+\r
+ifeq "$(RELEASE)" "release"\r
+XINCDIRS += \\r
+ $(EOLIST)\r
+\r
+XCFLAGS += \\r
+ $(EOLIST)\r
+\r
+XDEFINES += \\r
+ $(EOLIST)\r
+\r
+XLFLAGS += \\r
+ $(EOLIST)\r
+endif\r
+\r
+#\r
+# These are used by the link target if an NLM is being generated\r
+# This is used by the link 'name' directive to name the nlm. If left blank\r
+# TARGET_nlm (see below) will be used.\r
+#\r
+NLM_NAME = serf\r
+\r
+#\r
+# This is used by the link '-desc ' directive.\r
+# If left blank, NLM_NAME will be used.\r
+#\r
+NLM_DESCRIPTION = Apache $(VERSION_STR) Serf Module\r
+\r
+#\r
+# This is used by the '-threadname' directive. If left blank,\r
+# NLM_NAME Thread will be used.\r
+#\r
+NLM_THREAD_NAME = Serf Module\r
+\r
+#\r
+# If this is specified, it will override VERSION value in\r
+# $(AP_WORK)\build\NWGNUenvironment.inc\r
+#\r
+NLM_VERSION =\r
+\r
+#\r
+# If this is specified, it will override the default of 64K\r
+#\r
+NLM_STACK_SIZE = 8192\r
+\r
+\r
+#\r
+# If this is specified it will be used by the link '-entry' directive\r
+#\r
+NLM_ENTRY_SYM = _LibCPrelude\r
+\r
+#\r
+# If this is specified it will be used by the link '-exit' directive\r
+#\r
+NLM_EXIT_SYM = _LibCPostlude\r
+\r
+#\r
+# If this is specified it will be used by the link '-check' directive\r
+#\r
+NLM_CHECK_SYM =\r
+\r
+#\r
+# If these are specified it will be used by the link '-flags' directive\r
+#\r
+NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION\r
+\r
+#\r
+# If this is specified it will be linked in with the XDCData option in the def\r
+# file instead of the default of $(NWOS)/apache.xdc. XDCData can be disabled\r
+# by setting APACHE_UNIPROC in the environment\r
+#\r
+XDCDATA =\r
+\r
+#\r
+# If there is an NLM target, put it here\r
+#\r
+TARGET_nlm = \\r
+ $(OBJDIR)/$(NLM_NAME).nlm \\r
+ $(EOLIST)\r
+\r
+#\r
+# If there is an LIB target, put it here\r
+#\r
+TARGET_lib = \\r
+ $(EOLIST)\r
+\r
+#\r
+# These are the OBJ files needed to create the NLM target above.\r
+# Paths must all use the '/' character\r
+#\r
+FILES_nlm_objs = \\r
+ $(OBJDIR)/mod_serf.o \\r
+ $(EOLIST)\r
+\r
+# Build serf from source\r
+FILES_nlm_objs += \\r
+ $(OBJDIR)/context.o \\r
+ $(OBJDIR)/aggregate_buckets.o \\r
+ $(OBJDIR)/allocator.o \\r
+ $(OBJDIR)/barrier_buckets.o \\r
+ $(OBJDIR)/buckets.o \\r
+ $(OBJDIR)/chunk_buckets.o \\r
+ $(OBJDIR)/dechunk_buckets.o \\r
+ $(OBJDIR)/deflate_buckets.o \\r
+ $(OBJDIR)/file_buckets.o \\r
+ $(OBJDIR)/headers_buckets.o \\r
+ $(OBJDIR)/limit_buckets.o \\r
+ $(OBJDIR)/mmap_buckets.o \\r
+ $(OBJDIR)/request_buckets.o \\r
+ $(OBJDIR)/response_buckets.o \\r
+ $(OBJDIR)/simple_buckets.o \\r
+ $(OBJDIR)/socket_buckets.o \\r
+ $(OBJDIR)/ssl_buckets.o \\r
+ $(EOLIST)\r
+\r
+# Build zlib from source\r
+FILES_nlm_objs += \\r
+ $(OBJDIR)/adler32.o \\r
+ $(OBJDIR)/crc32.o \\r
+ $(OBJDIR)/deflate.o \\r
+ $(OBJDIR)/inflate.o \\r
+ $(OBJDIR)/inffast.o \\r
+ $(OBJDIR)/inftrees.o \\r
+ $(OBJDIR)/trees.o \\r
+ $(OBJDIR)/zutil.o \\r
+ $(EOLIST)\r
+\r
+ifeq "$(wildcard $(ZLIBSDK)/infblock.c)" "$(ZLIBSDK)/infblock.c"\r
+FILES_nlm_objs += \\r
+ $(OBJDIR)/infblock.o \\r
+ $(OBJDIR)/infcodes.o \\r
+ $(OBJDIR)/infutil.o \\r
+ $(EOLIST)\r
+endif\r
+\r
+#\r
+# These are the LIB files needed to create the NLM target above.\r
+# These will be added as a library command in the link.opt file.\r
+#\r
+FILES_nlm_libs = \\r
+ $(OSSLLIB)/crypto.lib \\r
+ $(OSSLLIB)/ssl.lib \\r
+ libcpre.o \\r
+ $(EOLIST)\r
+\r
+#\r
+# These are the modules that the above NLM target depends on to load.\r
+# These will be added as a module command in the link.opt file.\r
+#\r
+FILES_nlm_modules = \\r
+ aprlib \\r
+ libc \\r
+ $(EOLIST)\r
+\r
+#\r
+# If the nlm has a msg file, put it's path here\r
+#\r
+FILE_nlm_msg =\r
+\r
+#\r
+# If the nlm has a hlp file put it's path here\r
+#\r
+FILE_nlm_hlp =\r
+\r
+#\r
+# If this is specified, it will override $(NWOS)\copyright.txt.\r
+#\r
+FILE_nlm_copyright =\r
+\r
+#\r
+# Any additional imports go here\r
+#\r
+FILES_nlm_Ximports = \\r
+ @$(APR)/aprlib.imp \\r
+ @$(NWOS)/httpd.imp \\r
+ @libc.imp \\r
+ GetProcessSwitchCount \\r
+ RunningProcess \\r
+ GetSuperHighResolutionTimer \\r
+ $(EOLIST)\r
+\r
+# Don't link with Winsock if standard sockets are being used\r
+ifndef USE_STDSOCKETS\r
+FILES_nlm_Ximports += @ws2nlm.imp \\r
+ $(EOLIST)\r
+endif\r
+\r
+#\r
+# Any symbols exported to here\r
+#\r
+FILES_nlm_exports = \\r
+ serf_module \\r
+ $(EOLIST)\r
+\r
+#\r
+# These are the OBJ files needed to create the LIB target above.\r
+# Paths must all use the '/' character\r
+#\r
+FILES_lib_objs = \\r
+ $(EOLIST)\r
+\r
+#\r
+# implement targets and dependancies (leave this section alone)\r
+#\r
+\r
+libs :: $(OBJDIR) $(TARGET_lib)\r
+\r
+nlms :: libs $(TARGET_nlm)\r
+\r
+#\r
+# Updated this target to create necessary directories and copy files to the\r
+# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)\r
+#\r
+install :: nlms FORCE\r
+\r
+#\r
+# Any specialized rules here\r
+#\r
+\r
+vpath %.c $(V_PATH)\r
+\r
+#\r
+# Include the 'tail' makefile that has targets that depend on variables defined\r
+# in this makefile\r
+#\r
+\r
+include $(AP_WORK)\build\NWGNUtail.inc\r
+\r
+\r