📄 nwgnumakefile
字号:
## This Makefile requires the environment var OSSLSDK # pointing to the base directory of your OpenSSL SDK.### Declare the sub-directories to be built here#SUBDIRS = \ $(EOLIST) ## Get the 'head' of the build environment. This includes default targets and# paths to tools#include $(AP_WORK)\build\NWGNUhead.inc## build this level's files## Make sure all needed macro's are defined#OSSLINC = $(OSSLSDK)/outinc_nw_libcOSSLLIB = $(OSSLSDK)/out_nw_libcOSSLAPP = $(OSSLSDK)/apps## These directories will be at the beginning of the include list, followed by# INCDIRS#XINCDIRS += \ $(OSSLINC) \ $(OSSLINC)/openssl \ $(AP_WORK)/include \ $(AP_WORK)/server/mpm/NetWare \ $(AP_WORK)/modules/arch/netware \ $(AP_WORK)/modules/generators \ $(APR)/include \ $(APRUTIL)/include \ $(APR) \ $(NWOS) \ $(EOLIST)## These flags will come after CFLAGS#XCFLAGS += \ -relax_pointers \ $(EOLIST)## These defines will come after DEFINES#XDEFINES += \ -DHAVE_OPENSSL \ $(EOLIST)## These flags will be added to the link.opt file#XLFLAGS += \ -l $(OSSLLIB) \ $(EOLIST)## These values will be appended to the correct variables based on the value of# RELEASE#ifeq "$(RELEASE)" "debug"XINCDIRS += \ $(EOLIST)XCFLAGS += \ $(EOLIST)XDEFINES += \ $(EOLIST)XLFLAGS += \ $(EOLIST)endififeq "$(RELEASE)" "noopt"XINCDIRS += \ $(EOLIST)XCFLAGS += \ $(EOLIST)XDEFINES += \ $(EOLIST)XLFLAGS += \ $(EOLIST)endififeq "$(RELEASE)" "release"XINCDIRS += \ $(EOLIST)XCFLAGS += \ $(EOLIST)XDEFINES += \ $(EOLIST)XLFLAGS += \ $(EOLIST)endif## These are used by the link target if an NLM is being generated# This is used by the link 'name' directive to name the nlm. If left blank# TARGET_nlm (see below) will be used.#NLM_NAME = mod_ssl## This is used by the link '-desc ' directive. # If left blank, NLM_NAME will be used.#NLM_DESCRIPTION = Apache $(VERSION_STR) SSL module## This is used by the '-threadname' directive. If left blank,# NLM_NAME Thread will be used.#NLM_THREAD_NAME = $(NLM_NAME)## If this is specified, it will override VERSION value in # $(AP_WORK)\build\NWGNUenvironment.inc#NLM_VERSION = ## If this is specified, it will override the default of 64K#NLM_STACK_SIZE = 8192 ## If this is specified it will be used by the link '-entry' directive#NLM_ENTRY_SYM = _LibCPrelude## If this is specified it will be used by the link '-exit' directive#NLM_EXIT_SYM = _LibCPostlude## If this is specified it will be used by the link '-check' directive#NLM_CHECK_SYM =## If this is specified it will be used by the link '-flags' directive#NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION ## If this is specified it will be linked in with the XDCData option in the def # file instead of the default of $(NWOS)/apache.xdc. XDCData can be disabled# by setting APACHE_UNIPROC in the environment#XDCDATA = ## Declare all target files (you must add your files here)### If there is an NLM target, put it here#TARGET_nlm = \ $(OBJDIR)/$(NLM_NAME).nlm \ $(EOLIST)## If there is an LIB target, put it here#TARGET_lib = \ $(EOLIST)## These are the OBJ files needed to create the NLM target above.# Paths must all use the '/' character#FILES_nlm_objs := $(patsubst %.c,$(OBJDIR)/%.o,$(wildcard *.c))## These are the LIB files needed to create the NLM target above.# These will be added as a library command in the link.opt file.#FILES_nlm_libs = \ libcpre.o \ $(OSSLLIB)/crypto.lib \ $(OSSLLIB)/ssl.lib \ $(EOLIST)## These are the modules that the above NLM target depends on to load.# These will be added as a module command in the link.opt file.#FILES_nlm_modules = \ Apache2 \ Libc \ $(EOLIST)## If the nlm has a msg file, put it's path here#FILE_nlm_msg = ## If the nlm has a hlp file put it's path here#FILE_nlm_hlp =## If this is specified, it will override $(NWOS)\copyright.txt.#FILE_nlm_copyright =## Any additional imports go here#FILES_nlm_Ximports = \ @libc.imp \ @$(APR)/aprlib.imp \ @httpd.imp \ GetProcessSwitchCount \ RunningProcess \ GetSuperHighResolutionTimer \ $(EOLIST) # Don't link with Winsock if standard sockets are being usedifndef USE_STDSOCKETSFILES_nlm_Ximports += @ws2nlm.imp \ $(EOLIST)endif # # Any symbols exported to here#FILES_nlm_exports = \ ssl_module \ $(EOLIST)# # These are the OBJ files needed to create the LIB target above.# Paths must all use the '/' character#FILES_lib_objs = \ $(EOLIST)## implement targets and dependancies (leave this section alone)#libs :: $(OBJDIR) $(TARGET_lib)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)\mod_ssl.nlm $(INSTALL)\$(BASEDIR)\modules\*.* -copy $(subst /,\,$(OSSLLIB))\openssl.nlm $(INSTALL)\$(BASEDIR)\bin\*.* -copy $(subst /,\,$(OSSLAPP))\openssl.cnf $(INSTALL)\$(BASEDIR)\bin\*.* ## Any specialized rules here#vpath %.c $(AP_WORK)/modules/arch/netware# Make sure that the build doesn't attempt to regenerate the shipping files.# This requires a 'touch' utility. Can be downloaded from 'coreutils' at# http://sourceforge.net/projects/gnuwin32/ssl_expr_parse.h : ssl_expr_parse.y touch ssl_expr_parse.hssl_expr_parse.c : ssl_expr_parse.y touch ssl_expr_parse.cssl_expr_scan.c : ssl_expr_scan.l touch ssl_expr_scan.c## Include the 'tail' makefile that has targets that depend on variables defined# in this makefile#include $(AP_WORK)\build\NWGNUtail.inc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -