1251876Speter# 2251876Speter# Declare the sub-directories to be built here 3251876Speter# 4251876Speter 5251876SpeterSUBDIRS = \ 6251876Speter $(EOLIST) 7251876Speter 8251876Speter# 9251876Speter# Get the 'head' of the build environment. This includes default targets and 10251876Speter# paths to tools 11251876Speter# 12251876Speter 13251876Speterifndef EnvironmentDefined 14251876Speterinclude $(APR_WORK)/build/NWGNUhead.inc 15251876Speterendif 16251876Speter 17251876Speter# 18251876Speter# build this level's files 19251876Speter 20251876Speter# 21251876Speter# Make sure all needed macro's are defined 22251876Speter# 23251876Speter 24251876Speter# LINK_STATIC = 1 25251876Speter 26251876Speter# for now defined here - should finally go into build/NWGNUenvironment.inc 27251876SpeterDB_INC = $(DBSDK)/inc 28251876SpeterDB_IMP = libdb47.imp 29251876SpeterDB_LIB = libdb47.lib 30251876SpeterDB_NLM = libdb47 31251876Speter 32251876Speter# 33251876Speter# These directories will be at the beginning of the include list, followed by 34251876Speter# INCDIRS 35251876Speter# 36251876SpeterXINCDIRS += \ 37251876Speter $(APR)/include/arch/netware \ 38251876Speter $(APR)/include \ 39251876Speter $(APU)/include \ 40251876Speter $(APU)/include/private \ 41251876Speter $(APR) \ 42251876Speter $(DB_INC) \ 43251876Speter $(EOLIST) 44251876Speter 45251876Speter# 46251876Speter# These flags will come after CFLAGS 47251876Speter# 48251876SpeterXCFLAGS += \ 49251876Speter $(EOLIST) 50251876Speter 51251876Speter# 52251876Speter# These defines will come after DEFINES 53251876Speter# 54251876SpeterXDEFINES += \ 55251876Speter -DAPU_DSO_MODULE_BUILD \ 56251876Speter -DAPU_HAVE_DB=1 \ 57251876Speter -DAPU_HAVE_DB_VERSION=4 \ 58251876Speter $(EOLIST) 59251876Speter 60251876Speter# 61251876Speter# These flags will be added to the link.opt file 62251876Speter# 63251876SpeterXLFLAGS += \ 64251876Speter $(EOLIST) 65251876Speter 66251876Speterifdef LINK_STATIC 67251876SpeterXLFLAGS += \ 68251876Speter -l $(DBSDK)/lib \ 69251876Speter $(EOLIST) 70251876Speterelse 71251876SpeterXLFLAGS += \ 72251876Speter -l $(DBSDK)/imp \ 73251876Speter $(EOLIST) 74251876Speterendif 75251876Speter 76251876Speter# 77251876Speter# These values will be appended to the correct variables based on the value of 78251876Speter# RELEASE 79251876Speter# 80251876Speterifeq "$(RELEASE)" "debug" 81251876SpeterXINCDIRS += \ 82251876Speter $(EOLIST) 83251876Speter 84251876SpeterXCFLAGS += \ 85251876Speter $(EOLIST) 86251876Speter 87251876SpeterXDEFINES += \ 88251876Speter $(EOLIST) 89251876Speter 90251876SpeterXLFLAGS += \ 91251876Speter $(EOLIST) 92251876Speterendif 93251876Speter 94251876Speterifeq "$(RELEASE)" "noopt" 95251876SpeterXINCDIRS += \ 96251876Speter $(EOLIST) 97251876Speter 98251876SpeterXCFLAGS += \ 99251876Speter $(EOLIST) 100251876Speter 101251876SpeterXDEFINES += \ 102251876Speter $(EOLIST) 103251876Speter 104251876SpeterXLFLAGS += \ 105251876Speter $(EOLIST) 106251876Speterendif 107251876Speter 108251876Speterifeq "$(RELEASE)" "release" 109251876SpeterXINCDIRS += \ 110251876Speter $(EOLIST) 111251876Speter 112251876SpeterXCFLAGS += \ 113251876Speter $(EOLIST) 114251876Speter 115251876SpeterXDEFINES += \ 116251876Speter $(EOLIST) 117251876Speter 118251876SpeterXLFLAGS += \ 119251876Speter $(EOLIST) 120251876Speterendif 121251876Speter 122251876Speter# 123251876Speter# These are used by the link target if an NLM is being generated 124251876Speter# This is used by the link 'name' directive to name the nlm. If left blank 125251876Speter# TARGET_nlm (see below) will be used. 126251876Speter# 127251876SpeterNLM_NAME = dbmdb 128251876Speter 129251876Speter# 130251876Speter# This is used by the link '-desc ' directive. 131251876Speter# If left blank, NLM_NAME will be used. 132251876Speter# 133251876SpeterNLM_DESCRIPTION = Apache Portability Runtime Library $(VERSION_STR) DBM Berkeley DB Driver Module 134251876Speter 135251876Speter# 136251876Speter# This is used by the '-threadname' directive. If left blank, 137251876Speter# NLM_NAME Thread will be used. 138251876Speter# 139251876SpeterNLM_THREAD_NAME = dbmdb 140251876Speter 141251876Speter# 142251876Speter# If this is specified, it will override VERSION value in 143251876Speter# $(AP_WORK)\build\NWGNUenvironment.inc 144251876Speter# 145251876SpeterNLM_VERSION = 146251876Speter 147251876Speter# 148251876Speter# If this is specified, it will override the default of 64K 149251876Speter# 150251876SpeterNLM_STACK_SIZE = 8192 151251876Speter 152251876Speter 153251876Speter# 154251876Speter# If this is specified it will be used by the link '-entry' directive 155251876Speter# 156251876SpeterNLM_ENTRY_SYM = 157251876Speter 158251876Speter# 159251876Speter# If this is specified it will be used by the link '-exit' directive 160251876Speter# 161251876SpeterNLM_EXIT_SYM = 162251876Speter 163251876Speter# 164251876Speter# If this is specified it will be used by the link '-check' directive 165251876Speter# 166251876SpeterNLM_CHECK_SYM = 167251876Speter 168251876Speter# 169251876Speter# If these are specified it will be used by the link '-flags' directive 170251876Speter# 171251876SpeterNLM_FLAGS = 172251876Speter 173251876Speter# 174251876Speter# If this is specified it will be linked in with the XDCData option in the def 175251876Speter# file instead of the default of $(NWOS)/apache.xdc. XDCData can be disabled 176251876Speter# by setting APACHE_UNIPROC in the environment 177251876Speter# 178251876SpeterXDCDATA = 179251876Speter 180251876Speter# 181251876Speter# If there is an NLM target, put it here 182251876Speter# 183251876SpeterTARGET_nlm = \ 184251876Speter $(OBJDIR)\$(NLM_NAME).nlm \ 185251876Speter $(EOLIST) 186251876Speter 187251876Speter# 188251876Speter# If there is an LIB target, put it here 189251876Speter# 190251876SpeterTARGET_lib = \ 191251876Speter $(EOLIST) 192251876Speter 193251876Speter# 194251876Speter# These are the OBJ files needed to create the NLM target above. 195251876Speter# Paths must all use the '/' character 196251876Speter# 197251876SpeterFILES_nlm_objs = \ 198251876Speter $(OBJDIR)/apr_dbm_berkeleydb.o \ 199251876Speter $(EOLIST) 200251876Speter 201251876Speter# 202251876Speter# These are the LIB files needed to create the NLM target above. 203251876Speter# These will be added as a library command in the link.opt file. 204251876Speter# 205251876SpeterFILES_nlm_libs = \ 206251876Speter $(PRELUDE) \ 207251876Speter $(EOLIST) 208251876Speter 209251876Speterifeq ($(LINK_STATIC),1) 210251876SpeterFILES_nlm_libs += \ 211251876Speter $(DB_LIB) \ 212251876Speter $(EOLIST) 213251876Speterendif 214251876Speter 215251876Speter# 216251876Speter# These are the modules that the above NLM target depends on to load. 217251876Speter# These will be added as a module command in the link.opt file. 218251876Speter# 219251876SpeterFILES_nlm_modules = \ 220251876Speter aprlib \ 221251876Speter libc \ 222251876Speter $(EOLIST) 223251876Speter 224251876Speterifneq ($(LINK_STATIC),1) 225251876SpeterFILES_nlm_modules += \ 226251876Speter $(DB_NLM) \ 227251876Speter $(EOLIST) 228251876Speterendif 229251876Speter 230251876Speter# 231251876Speter# If the nlm has a msg file, put it's path here 232251876Speter# 233251876SpeterFILE_nlm_msg = 234251876Speter 235251876Speter# 236251876Speter# If the nlm has a hlp file put it's path here 237251876Speter# 238251876SpeterFILE_nlm_hlp = 239251876Speter 240251876Speter# 241251876Speter# If this is specified, it will override $(NWOS)\copyright.txt. 242251876Speter# 243251876SpeterFILE_nlm_copyright = 244251876Speter 245251876Speter# 246251876Speter# Any additional imports go here 247251876Speter# 248251876SpeterFILES_nlm_Ximports = \ 249251876Speter @aprlib.imp \ 250251876Speter @libc.imp \ 251251876Speter $(EOLIST) 252251876Speter 253251876Speterifneq ($(LINK_STATIC),1) 254251876SpeterFILES_nlm_Ximports += \ 255251876Speter @$(DB_IMP) \ 256251876Speter $(EOLIST) 257251876Speterendif 258251876Speter 259251876Speter# 260251876Speter# Any symbols exported to here 261251876Speter# 262251876SpeterFILES_nlm_exports = \ 263251876Speter apr_dbm_type_db \ 264251876Speter $(EOLIST) 265251876Speter 266251876Speter# 267251876Speter# These are the OBJ files needed to create the LIB target above. 268251876Speter# Paths must all use the '/' character 269251876Speter# 270251876SpeterFILES_lib_objs = \ 271251876Speter $(EOLIST) 272251876Speter 273251876Speter# 274251876Speter# implement targets and dependancies (leave this section alone) 275251876Speter# 276251876Speter 277251876Speterlibs :: $(OBJDIR) $(TARGET_lib) 278251876Speter 279251876Speternlms :: libs $(TARGET_nlm) 280251876Speter 281251876Speter# 282251876Speter# Updated this target to create necessary directories and copy files to the 283251876Speter# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples) 284251876Speter# 285251876Speterinstall :: nlms FORCE 286251876Speter 287251876Speter# 288251876Speter# Any specialized rules here 289251876Speter# 290251876Speter 291251876Speter# 292251876Speter# Include the 'tail' makefile that has targets that depend on variables defined 293251876Speter# in this makefile 294251876Speter# 295251876Speter 296251876Speterinclude $(APRBUILD)/NWGNUtail.inc 297251876Speter 298251876Speter 299251876Speter 300