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