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