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