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
27251876SpeterGDBM_INC = $(GDBMSDK)/inc
28251876SpeterGDBM_IMP = libgdbm.imp
29251876SpeterGDBM_LIB = libgdbm.lib
30251876SpeterGDBM_NLM = libgdbm
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			$(GDBM_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_GDBM=1 \
57251876Speter			$(EOLIST)
58251876Speter
59251876Speter#
60251876Speter# These flags will be added to the link.opt file
61251876Speter#
62251876SpeterXLFLAGS		+= \
63251876Speter			$(EOLIST)
64251876Speter
65251876Speterifdef LINK_STATIC
66251876SpeterXLFLAGS		+= \
67251876Speter			-l $(GDBMSDK)/lib \
68251876Speter			$(EOLIST)
69251876Speterelse
70251876SpeterXLFLAGS		+= \
71251876Speter			-l $(GDBMSDK)/imp \
72251876Speter			$(EOLIST)
73251876Speterendif
74251876Speter
75251876Speter#
76251876Speter# These values will be appended to the correct variables based on the value of
77251876Speter# RELEASE
78251876Speter#
79251876Speterifeq "$(RELEASE)" "debug"
80251876SpeterXINCDIRS	+= \
81251876Speter			$(EOLIST)
82251876Speter
83251876SpeterXCFLAGS		+= \
84251876Speter			$(EOLIST)
85251876Speter
86251876SpeterXDEFINES	+= \
87251876Speter			$(EOLIST)
88251876Speter
89251876SpeterXLFLAGS		+= \
90251876Speter			$(EOLIST)
91251876Speterendif
92251876Speter
93251876Speterifeq "$(RELEASE)" "noopt"
94251876SpeterXINCDIRS	+= \
95251876Speter			$(EOLIST)
96251876Speter
97251876SpeterXCFLAGS		+= \
98251876Speter			$(EOLIST)
99251876Speter
100251876SpeterXDEFINES	+= \
101251876Speter			$(EOLIST)
102251876Speter
103251876SpeterXLFLAGS		+= \
104251876Speter			$(EOLIST)
105251876Speterendif
106251876Speter
107251876Speterifeq "$(RELEASE)" "release"
108251876SpeterXINCDIRS	+= \
109251876Speter			$(EOLIST)
110251876Speter
111251876SpeterXCFLAGS		+= \
112251876Speter			$(EOLIST)
113251876Speter
114251876SpeterXDEFINES	+= \
115251876Speter			$(EOLIST)
116251876Speter
117251876SpeterXLFLAGS		+= \
118251876Speter			$(EOLIST)
119251876Speterendif
120251876Speter
121251876Speter#
122251876Speter# These are used by the link target if an NLM is being generated
123251876Speter# This is used by the link 'name' directive to name the nlm.  If left blank
124251876Speter# TARGET_nlm (see below) will be used.
125251876Speter#
126251876SpeterNLM_NAME	= dbmgdbm
127251876Speter
128251876Speter#
129251876Speter# This is used by the link '-desc ' directive.
130251876Speter# If left blank, NLM_NAME will be used.
131251876Speter#
132251876SpeterNLM_DESCRIPTION	= Apache Portability Runtime Library $(VERSION_STR) GDBM Driver Module
133251876Speter
134251876Speter#
135251876Speter# This is used by the '-threadname' directive.  If left blank,
136251876Speter# NLM_NAME Thread will be used.
137251876Speter#
138251876SpeterNLM_THREAD_NAME	= dbmgdbm
139251876Speter
140251876Speter#
141251876Speter# If this is specified, it will override VERSION value in
142251876Speter# $(AP_WORK)\build\NWGNUenvironment.inc
143251876Speter#
144251876SpeterNLM_VERSION	=
145251876Speter
146251876Speter#
147251876Speter# If this is specified, it will override the default of 64K
148251876Speter#
149251876SpeterNLM_STACK_SIZE	= 8192
150251876Speter
151251876Speter
152251876Speter#
153251876Speter# If this is specified it will be used by the link '-entry' directive
154251876Speter#
155251876SpeterNLM_ENTRY_SYM	=
156251876Speter
157251876Speter#
158251876Speter# If this is specified it will be used by the link '-exit' directive
159251876Speter#
160251876SpeterNLM_EXIT_SYM	=
161251876Speter
162251876Speter#
163251876Speter# If this is specified it will be used by the link '-check' directive
164251876Speter#
165251876SpeterNLM_CHECK_SYM	=
166251876Speter
167251876Speter#
168251876Speter# If these are specified it will be used by the link '-flags' directive
169251876Speter#
170251876SpeterNLM_FLAGS	=
171251876Speter
172251876Speter#
173251876Speter# If this is specified it will be linked in with the XDCData option in the def
174251876Speter# file instead of the default of $(NWOS)/apache.xdc.  XDCData can be disabled
175251876Speter# by setting APACHE_UNIPROC in the environment
176251876Speter#
177251876SpeterXDCDATA		=
178251876Speter
179251876Speter#
180251876Speter# If there is an NLM target, put it here
181251876Speter#
182251876SpeterTARGET_nlm = \
183251876Speter	$(OBJDIR)\$(NLM_NAME).nlm \
184251876Speter	$(EOLIST)
185251876Speter
186251876Speter#
187251876Speter# If there is an LIB target, put it here
188251876Speter#
189251876SpeterTARGET_lib = \
190251876Speter	$(EOLIST)
191251876Speter
192251876Speter#
193251876Speter# These are the OBJ files needed to create the NLM target above.
194251876Speter# Paths must all use the '/' character
195251876Speter#
196251876SpeterFILES_nlm_objs = \
197251876Speter	$(OBJDIR)/apr_dbm_gdbm.o \
198251876Speter	$(EOLIST)
199251876Speter
200251876Speter#
201251876Speter# These are the LIB files needed to create the NLM target above.
202251876Speter# These will be added as a library command in the link.opt file.
203251876Speter#
204251876SpeterFILES_nlm_libs = \
205251876Speter	$(PRELUDE) \
206251876Speter	$(EOLIST)
207251876Speter
208251876Speterifeq ($(LINK_STATIC),1)
209251876SpeterFILES_nlm_libs += \
210251876Speter	$(GDBM_LIB) \
211251876Speter	$(EOLIST)
212251876Speterendif
213251876Speter
214251876Speter#
215251876Speter# These are the modules that the above NLM target depends on to load.
216251876Speter# These will be added as a module command in the link.opt file.
217251876Speter#
218251876SpeterFILES_nlm_modules = \
219251876Speter	aprlib \
220251876Speter	libc \
221251876Speter	$(EOLIST)
222251876Speter
223251876Speterifneq ($(LINK_STATIC),1)
224251876SpeterFILES_nlm_modules += \
225251876Speter	$(GDBM_NLM) \
226251876Speter	$(EOLIST)
227251876Speterendif
228251876Speter
229251876Speter#
230251876Speter# If the nlm has a msg file, put it's path here
231251876Speter#
232251876SpeterFILE_nlm_msg =
233251876Speter
234251876Speter#
235251876Speter# If the nlm has a hlp file put it's path here
236251876Speter#
237251876SpeterFILE_nlm_hlp =
238251876Speter
239251876Speter#
240251876Speter# If this is specified, it will override $(NWOS)\copyright.txt.
241251876Speter#
242251876SpeterFILE_nlm_copyright =
243251876Speter
244251876Speter#
245251876Speter# Any additional imports go here
246251876Speter#
247251876SpeterFILES_nlm_Ximports = \
248251876Speter	@aprlib.imp \
249251876Speter	@libc.imp \
250251876Speter	$(EOLIST)
251251876Speter
252251876Speterifneq ($(LINK_STATIC),1)
253251876SpeterFILES_nlm_Ximports += \
254251876Speter	@$(GDBM_IMP) \
255251876Speter	$(EOLIST)
256251876Speterendif
257251876Speter
258251876Speter#
259251876Speter# Any symbols exported to here
260251876Speter#
261251876SpeterFILES_nlm_exports = \
262251876Speter	apr_dbm_type_gdbm \
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