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