NWGNUdbmdb revision 251876
1298161Sbapt# 2251883Speter# Declare the sub-directories to be built here 3251883Speter# 4298161Sbapt 5298161SbaptSUBDIRS = \ 6251883Speter $(EOLIST) 7251883Speter 8251883Speter# 9251883Speter# Get the 'head' of the build environment. This includes default targets and 10251883Speter# paths to tools 11251883Speter# 12251883Speter 13251883Speterifndef EnvironmentDefined 14251883Speterinclude $(APR_WORK)/build/NWGNUhead.inc 15251883Speterendif 16251883Speter 17251883Speter# 18251883Speter# build this level's files 19251883Speter 20251883Speter# 21298161Sbapt# Make sure all needed macro's are defined 22298161Sbapt# 23298161Sbapt 24298161Sbapt# LINK_STATIC = 1 25298161Sbapt 26298161Sbapt# for now defined here - should finally go into build/NWGNUenvironment.inc 27298161SbaptDB_INC = $(DBSDK)/inc 28298161SbaptDB_IMP = libdb47.imp 29298161SbaptDB_LIB = libdb47.lib 30298161SbaptDB_NLM = libdb47 31298161Sbapt 32298161Sbapt# 33298161Sbapt# These directories will be at the beginning of the include list, followed by 34298161Sbapt# INCDIRS 35298161Sbapt# 36298161SbaptXINCDIRS += \ 37298161Sbapt $(APR)/include/arch/netware \ 38298161Sbapt $(APR)/include \ 39298161Sbapt $(APU)/include \ 40298161Sbapt $(APU)/include/private \ 41298161Sbapt $(APR) \ 42298161Sbapt $(DB_INC) \ 43298161Sbapt $(EOLIST) 44269851Speter 45269851Speter# 46298161Sbapt# These flags will come after CFLAGS 47298161Sbapt# 48298161SbaptXCFLAGS += \ 49269851Speter $(EOLIST) 50298161Sbapt 51298161Sbapt# 52298161Sbapt# These defines will come after DEFINES 53298161Sbapt# 54298161SbaptXDEFINES += \ 55298161Sbapt -DAPU_DSO_MODULE_BUILD \ 56298161Sbapt -DAPU_HAVE_DB=1 \ 57298161Sbapt -DAPU_HAVE_DB_VERSION=4 \ 58298161Sbapt $(EOLIST) 59298161Sbapt 60298161Sbapt# 61298161Sbapt# These flags will be added to the link.opt file 62298161Sbapt# 63298161SbaptXLFLAGS += \ 64298161Sbapt $(EOLIST) 65298161Sbapt 66298161Sbaptifdef LINK_STATIC 67298161SbaptXLFLAGS += \ 68298161Sbapt -l $(DBSDK)/lib \ 69298161Sbapt $(EOLIST) 70298161Sbaptelse 71298161SbaptXLFLAGS += \ 72298161Sbapt -l $(DBSDK)/imp \ 73298161Sbapt $(EOLIST) 74298161Sbaptendif 75298161Sbapt 76251883Speter# 77269851Speter# These values will be appended to the correct variables based on the value of 78251883Speter# RELEASE 79269851Speter# 80251883Speterifeq "$(RELEASE)" "debug" 81251883SpeterXINCDIRS += \ 82251883Speter $(EOLIST) 83251883Speter 84251883SpeterXCFLAGS += \ 85251883Speter $(EOLIST) 86251883Speter 87251883SpeterXDEFINES += \ 88251883Speter $(EOLIST) 89251883Speter 90251883SpeterXLFLAGS += \ 91251883Speter $(EOLIST) 92251883Speterendif 93251883Speter 94251883Speterifeq "$(RELEASE)" "noopt" 95269851SpeterXINCDIRS += \ 96251883Speter $(EOLIST) 97251883Speter 98251883SpeterXCFLAGS += \ 99251883Speter $(EOLIST) 100298161Sbapt 101298161SbaptXDEFINES += \ 102251883Speter $(EOLIST) 103269851Speter 104251883SpeterXLFLAGS += \ 105251883Speter $(EOLIST) 106269851Speterendif 107251883Speter 108251883Speterifeq "$(RELEASE)" "release" 109251883SpeterXINCDIRS += \ 110251883Speter $(EOLIST) 111251883Speter 112269851SpeterXCFLAGS += \ 113269851Speter $(EOLIST) 114269851Speter 115269851SpeterXDEFINES += \ 116269851Speter $(EOLIST) 117269851Speter 118269851SpeterXLFLAGS += \ 119269851Speter $(EOLIST) 120269851Speterendif 121269851Speter 122269851Speter# 123269851Speter# These are used by the link target if an NLM is being generated 124269851Speter# This is used by the link 'name' directive to name the nlm. If left blank 125269851Speter# TARGET_nlm (see below) will be used. 126269851Speter# 127269851SpeterNLM_NAME = dbmdb 128269851Speter 129269851Speter# 130269851Speter# This is used by the link '-desc ' directive. 131269851Speter# If left blank, NLM_NAME will be used. 132269851Speter# 133269851SpeterNLM_DESCRIPTION = Apache Portability Runtime Library $(VERSION_STR) DBM Berkeley DB Driver Module 134251883Speter 135251883Speter# 136251883Speter# This is used by the '-threadname' directive. If left blank, 137251883Speter# NLM_NAME Thread will be used. 138251883Speter# 139251883SpeterNLM_THREAD_NAME = dbmdb 140251883Speter 141298161Sbapt# 142298161Sbapt# If this is specified, it will override VERSION value in 143298161Sbapt# $(AP_WORK)\build\NWGNUenvironment.inc 144298161Sbapt# 145298161SbaptNLM_VERSION = 146269851Speter 147269851Speter# 148251883Speter# If this is specified, it will override the default of 64K 149298161Sbapt# 150251883SpeterNLM_STACK_SIZE = 8192 151298161Sbapt 152298161Sbapt 153298161Sbapt# 154298161Sbapt# If this is specified it will be used by the link '-entry' directive 155298161Sbapt# 156298161SbaptNLM_ENTRY_SYM = 157298161Sbapt 158298161Sbapt# 159298161Sbapt# If this is specified it will be used by the link '-exit' directive 160298161Sbapt# 161298161SbaptNLM_EXIT_SYM = 162298161Sbapt 163298161Sbapt# 164298161Sbapt# If this is specified it will be used by the link '-check' directive 165298161Sbapt# 166269851SpeterNLM_CHECK_SYM = 167251883Speter 168251883Speter# 169269851Speter# If these are specified it will be used by the link '-flags' directive 170251883Speter# 171251883SpeterNLM_FLAGS = 172298161Sbapt 173298161Sbapt# 174298161Sbapt# If this is specified it will be linked in with the XDCData option in the def 175298161Sbapt# file instead of the default of $(NWOS)/apache.xdc. XDCData can be disabled 176298161Sbapt# by setting APACHE_UNIPROC in the environment 177298161Sbapt# 178298161SbaptXDCDATA = 179298161Sbapt 180251883Speter# 181298161Sbapt# If there is an NLM target, put it here 182298161Sbapt# 183298161SbaptTARGET_nlm = \ 184298161Sbapt $(OBJDIR)\$(NLM_NAME).nlm \ 185298161Sbapt $(EOLIST) 186298161Sbapt 187298161Sbapt# 188298161Sbapt# If there is an LIB target, put it here 189298161Sbapt# 190298161SbaptTARGET_lib = \ 191298161Sbapt $(EOLIST) 192269851Speter 193269851Speter# 194269851Speter# These are the OBJ files needed to create the NLM target above. 195269851Speter# Paths must all use the '/' character 196269851Speter# 197251883SpeterFILES_nlm_objs = \ 198251883Speter $(OBJDIR)/apr_dbm_berkeleydb.o \ 199251883Speter $(EOLIST) 200251883Speter 201251883Speter# 202298161Sbapt# These are the LIB files needed to create the NLM target above. 203298161Sbapt# These will be added as a library command in the link.opt file. 204298161Sbapt# 205298161SbaptFILES_nlm_libs = \ 206298161Sbapt $(PRELUDE) \ 207298161Sbapt $(EOLIST) 208298161Sbapt 209298161Sbaptifeq ($(LINK_STATIC),1) 210298161SbaptFILES_nlm_libs += \ 211298161Sbapt $(DB_LIB) \ 212298161Sbapt $(EOLIST) 213298161Sbaptendif 214298161Sbapt 215298161Sbapt# 216298161Sbapt# These are the modules that the above NLM target depends on to load. 217298161Sbapt# These will be added as a module command in the link.opt file. 218298161Sbapt# 219251883SpeterFILES_nlm_modules = \ 220251883Speter aprlib \ 221298161Sbapt libc \ 222298161Sbapt $(EOLIST) 223298161Sbapt 224298161Sbaptifneq ($(LINK_STATIC),1) 225298161SbaptFILES_nlm_modules += \ 226251883Speter $(DB_NLM) \ 227251883Speter $(EOLIST) 228251883Speterendif 229251883Speter 230269851Speter# 231269851Speter# If the nlm has a msg file, put it's path here 232269851Speter# 233269851SpeterFILE_nlm_msg = 234269851Speter 235298161Sbapt# 236251883Speter# If the nlm has a hlp file put it's path here 237251883Speter# 238298161SbaptFILE_nlm_hlp = 239251883Speter 240269851Speter# 241269851Speter# If this is specified, it will override $(NWOS)\copyright.txt. 242251883Speter# 243251883SpeterFILE_nlm_copyright = 244251883Speter 245298161Sbapt# 246251883Speter# Any additional imports go here 247251883Speter# 248251883SpeterFILES_nlm_Ximports = \ 249251883Speter @aprlib.imp \ 250251883Speter @libc.imp \ 251251883Speter $(EOLIST) 252251883Speter 253251883Speterifneq ($(LINK_STATIC),1) 254251883SpeterFILES_nlm_Ximports += \ 255251883Speter @$(DB_IMP) \ 256251883Speter $(EOLIST) 257251883Speterendif 258251883Speter 259251883Speter# 260269851Speter# Any symbols exported to here 261269851Speter# 262269851SpeterFILES_nlm_exports = \ 263251883Speter apr_dbm_type_db \ 264251883Speter $(EOLIST) 265251883Speter 266251883Speter# 267251883Speter# These are the OBJ files needed to create the LIB target above. 268251883Speter# Paths must all use the '/' character 269298161Sbapt# 270269851SpeterFILES_lib_objs = \ 271298161Sbapt $(EOLIST) 272251883Speter 273269851Speter# 274251883Speter# implement targets and dependancies (leave this section alone) 275251883Speter# 276251883Speter 277251883Speterlibs :: $(OBJDIR) $(TARGET_lib) 278298161Sbapt 279269851Speternlms :: libs $(TARGET_nlm) 280251883Speter 281251883Speter# 282251883Speter# Updated this target to create necessary directories and copy files to the 283251883Speter# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples) 284269851Speter# 285251883Speterinstall :: nlms FORCE 286251883Speter 287298161Sbapt# 288251883Speter# Any specialized rules here 289269851Speter# 290251883Speter 291269851Speter# 292269851Speter# Include the 'tail' makefile that has targets that depend on variables defined 293269851Speter# in this makefile 294251883Speter# 295269851Speter 296269851Speterinclude $(APRBUILD)/NWGNUtail.inc 297251883Speter 298251883Speter 299251883Speter 300251883Speter