1#
2# Declare the sub-directories to be built here
3#
4
5SUBDIRS = \
6	$(EOLIST)
7
8#
9# Get the 'head' of the build environment.  This includes default targets and
10# paths to tools
11#
12
13include $(AP_WORK)/build/NWGNUhead.inc
14
15#
16# build this level's files
17
18#
19# Make sure all needed macro's are defined
20#
21
22#
23# These directories will be at the beginning of the include list, followed by
24# INCDIRS
25#
26XINCDIRS	+= \
27			$(EOLIST)
28
29#
30# These flags will come after CFLAGS
31#
32XCFLAGS		+= \
33			$(EOLIST)
34
35#
36# These defines will come after DEFINES
37#
38XDEFINES	+= \
39			$(EOLIST)
40
41#
42# These flags will be added to the link.opt file
43#
44XLFLAGS		+= \
45			$(EOLIST)
46
47#
48# These values will be appended to the correct variables based on the value of
49# RELEASE
50#
51ifeq "$(RELEASE)" "debug"
52XINCDIRS	+= \
53			$(EOLIST)
54
55XCFLAGS		+= \
56			$(EOLIST)
57
58XDEFINES	+= \
59			$(EOLIST)
60
61XLFLAGS		+= \
62			$(EOLIST)
63endif
64
65ifeq "$(RELEASE)" "noopt"
66XINCDIRS	+= \
67			$(EOLIST)
68
69XCFLAGS		+= \
70			$(EOLIST)
71
72XDEFINES	+= \
73			$(EOLIST)
74
75XLFLAGS		+= \
76			$(EOLIST)
77endif
78
79ifeq "$(RELEASE)" "release"
80XINCDIRS	+= \
81			$(EOLIST)
82
83XCFLAGS		+= \
84			$(EOLIST)
85
86XDEFINES	+= \
87			$(EOLIST)
88
89XLFLAGS		+= \
90			$(EOLIST)
91endif
92
93#
94# These are used by the link target if an NLM is being generated
95# This is used by the link 'name' directive to name the nlm.  If left blank
96# TARGET_nlm (see below) will be used.
97#
98NLM_NAME	=
99
100#
101# This is used by the link '-desc ' directive.
102# If left blank, NLM_NAME will be used.
103#
104NLM_DESCRIPTION	=
105
106#
107# This is used by the '-threadname' directive.  If left blank,
108# NLM_NAME Thread will be used.
109#
110NLM_THREAD_NAME	=
111
112#
113# If this is specified, it will override VERSION value in
114# $(AP_WORK)/build/NWGNUenvironment.inc
115#
116NLM_VERSION	=
117
118#
119# If this is specified, it will override the default of 64K
120#
121NLM_STACK_SIZE	=
122
123
124#
125# If this is specified it will be used by the link '-entry' directive
126#
127NLM_ENTRY_SYM	=
128
129#
130# If this is specified it will be used by the link '-exit' directive
131#
132NLM_EXIT_SYM	=
133
134#
135# If this is specified it will be used by the link '-check' directive
136#
137NLM_CHECK_SYM	=
138
139#
140# If these are specified it will be used by the link '-flags' directive
141#
142NLM_FLAGS	=
143
144#
145# If this is specified it will be linked in with the XDCData option in the def
146# file instead of the default of $(NWOS)/apache.xdc.  XDCData can be disabled
147# by setting APACHE_UNIPROC in the environment
148#
149XDCDATA		=
150
151#
152# If there is an NLM target, put it here
153#
154TARGET_nlm = \
155	$(OBJDIR)/extfiltr.nlm \
156	$(OBJDIR)/charsetl.nlm \
157	$(OBJDIR)/mod_data.nlm \
158	$(OBJDIR)/mod_filter.nlm \
159	$(OBJDIR)/mod_request.nlm \
160	$(OBJDIR)/substitute.nlm \
161	$(OBJDIR)/modsed.nlm \
162	$(OBJDIR)/modbuffer.nlm \
163	$(OBJDIR)/ratelimit.nlm \
164	$(OBJDIR)/reqtimeout.nlm \
165	$(OBJDIR)/reflector.nlm \
166	$(EOLIST)
167
168# If the zlib library source exists then build the mod_deflate module
169ifneq "$(ZLIBSDK)" ""
170ifeq "$(wildcard $(ZLIBSDK))" "$(ZLIBSDK)"
171TARGET_nlm += $(OBJDIR)/deflate.nlm \
172	$(EOLIST)
173endif
174endif
175
176# If the libxml2 library source exists then build the mod_proxy_html module
177ifneq "$(LIBXML2SDK)" ""
178ifeq "$(wildcard $(LIBXML2SDK))" "$(LIBXML2SDK)"
179TARGET_nlm += \
180	$(OBJDIR)/proxyhtml.nlm \
181	$(OBJDIR)/xml2enc.nlm \
182	$(EOLIST)
183endif
184endif
185
186#
187# If there is an LIB target, put it here
188#
189TARGET_lib = \
190	$(EOLIST)
191
192#
193# These are the OBJ files needed to create the NLM target above.
194# Paths must all use the '/' character
195#
196FILES_nlm_objs = \
197	$(EOLIST)
198
199#
200# These are the LIB files needed to create the NLM target above.
201# These will be added as a library command in the link.opt file.
202#
203FILES_nlm_libs = \
204	$(EOLIST)
205
206#
207# These are the modules that the above NLM target depends on to load.
208# These will be added as a module command in the link.opt file.
209#
210FILES_nlm_modules = \
211	$(EOLIST)
212
213#
214# If the nlm has a msg file, put it's path here
215#
216FILE_nlm_msg =
217
218#
219# If the nlm has a hlp file put it's path here
220#
221FILE_nlm_hlp =
222
223#
224# If this is specified, it will override $(NWOS)\copyright.txt.
225#
226FILE_nlm_copyright =
227
228#
229# Any additional imports go here
230#
231FILES_nlm_Ximports = \
232	$(EOLIST)
233
234#
235# Any symbols exported to here
236#
237FILES_nlm_exports = \
238	$(EOLIST)
239
240#
241# These are the OBJ files needed to create the LIB target above.
242# Paths must all use the '/' character
243#
244FILES_lib_objs = \
245	$(EOLIST)
246
247#
248# implement targets and dependancies (leave this section alone)
249#
250
251libs :: $(OBJDIR) $(TARGET_lib)
252
253nlms :: libs $(TARGET_nlm)
254
255#
256# Updated this target to create necessary directories and copy files to the
257# correct place.  (See $(AP_WORK)/build/NWGNUhead.inc for examples)
258#
259install :: nlms FORCE
260	$(call COPY,$(OBJDIR)/*.nlm, $(INSTALLBASE)/modules/)
261
262#
263# Any specialized rules here
264#
265
266#
267# Include the 'tail' makefile that has targets that depend on variables defined
268# in this makefile
269#
270
271include $(APBUILD)/NWGNUtail.inc
272
273
274