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