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			$(STDMOD)/ssl \
34			$(NWOS) \
35			$(EOLIST)
36
37#
38# These flags will come after CFLAGS
39#
40XCFLAGS		+= \
41			$(EOLIST)
42
43#
44# These defines will come after DEFINES
45#
46XDEFINES	+= \
47			$(EOLIST)
48
49#
50# These flags will be added to the link.opt file
51#
52XLFLAGS		+= \
53			$(EOLIST)
54
55#
56# These values will be appended to the correct variables based on the value of
57# RELEASE
58#
59ifeq "$(RELEASE)" "debug"
60XINCDIRS	+= \
61			$(EOLIST)
62
63XCFLAGS		+= \
64			$(EOLIST)
65
66XDEFINES	+= \
67			$(EOLIST)
68
69XLFLAGS		+= \
70			$(EOLIST)
71endif
72
73ifeq "$(RELEASE)" "noopt"
74XINCDIRS	+= \
75			$(EOLIST)
76
77XCFLAGS		+= \
78			$(EOLIST)
79
80XDEFINES	+= \
81			$(EOLIST)
82
83XLFLAGS		+= \
84			$(EOLIST)
85endif
86
87ifeq "$(RELEASE)" "release"
88XINCDIRS	+= \
89			$(EOLIST)
90
91XCFLAGS		+= \
92			$(EOLIST)
93
94XDEFINES	+= \
95			$(EOLIST)
96
97XLFLAGS		+= \
98			$(EOLIST)
99endif
100
101#
102# These are used by the link target if an NLM is being generated
103# This is used by the link 'name' directive to name the nlm.  If left blank
104# TARGET_nlm (see below) will be used.
105#
106NLM_NAME	= deflate
107
108#
109# This is used by the link '-desc ' directive.
110# If left blank, NLM_NAME will be used.
111#
112NLM_DESCRIPTION	= Apache $(VERSION_STR) Deflate Module
113
114#
115# This is used by the '-threadname' directive.  If left blank,
116# NLM_NAME Thread will be used.
117#
118NLM_THREAD_NAME	= Deflate Module
119
120#
121# If this is specified, it will override VERSION value in
122# $(AP_WORK)/build/NWGNUenvironment.inc
123#
124NLM_VERSION	=
125
126#
127# If this is specified, it will override the default of 64K
128#
129NLM_STACK_SIZE	= 8192
130
131
132#
133# If this is specified it will be used by the link '-entry' directive
134#
135NLM_ENTRY_SYM	=
136
137#
138# If this is specified it will be used by the link '-exit' directive
139#
140NLM_EXIT_SYM	=
141
142#
143# If this is specified it will be used by the link '-check' directive
144#
145NLM_CHECK_SYM	=
146
147#
148# If these are specified it will be used by the link '-flags' directive
149#
150NLM_FLAGS	=
151
152#
153# If this is specified it will be linked in with the XDCData option in the def
154# file instead of the default of $(NWOS)/apache.xdc.  XDCData can be disabled
155# by setting APACHE_UNIPROC in the environment
156#
157XDCDATA		=
158
159#
160# If there is an NLM target, put it here
161#
162TARGET_nlm = \
163	$(OBJDIR)/deflate.nlm \
164	$(EOLIST)
165
166#
167# If there is an LIB target, put it here
168#
169TARGET_lib = \
170	$(EOLIST)
171
172#
173# These are the OBJ files needed to create the NLM target above.
174# Paths must all use the '/' character
175#
176FILES_nlm_objs = \
177	$(OBJDIR)/mod_deflate.o \
178	$(OBJDIR)/adler32.o \
179	$(OBJDIR)/crc32.o \
180	$(OBJDIR)/deflate.o \
181	$(OBJDIR)/inflate.o \
182	$(OBJDIR)/inffast.o \
183	$(OBJDIR)/inftrees.o \
184	$(OBJDIR)/trees.o \
185	$(OBJDIR)/zutil.o \
186	$(EOLIST)
187
188ifeq "$(wildcard $(ZLIBSDK)/infblock.c)" "$(ZLIBSDK)/infblock.c"
189FILES_nlm_objs += \
190	$(OBJDIR)/infblock.o \
191	$(OBJDIR)/infcodes.o \
192	$(OBJDIR)/infutil.o \
193	$(EOLIST)
194endif
195
196#
197# These are the LIB files needed to create the NLM target above.
198# These will be added as a library command in the link.opt file.
199#
200FILES_nlm_libs = \
201	$(PRELUDE) \
202	$(EOLIST)
203
204#
205# These are the modules that the above NLM target depends on to load.
206# These will be added as a module command in the link.opt file.
207#
208FILES_nlm_modules = \
209	aprlib \
210	libc \
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	@aprlib.imp \
233	@httpd.imp \
234	@libc.imp \
235	$(EOLIST)
236
237#
238# Any symbols exported to here
239#
240FILES_nlm_exports = \
241	deflate_module \
242	$(EOLIST)
243
244#
245# These are the OBJ files needed to create the LIB target above.
246# Paths must all use the '/' character
247#
248FILES_lib_objs = \
249	$(EOLIST)
250
251#
252# implement targets and dependancies (leave this section alone)
253#
254
255libs :: $(OBJDIR) $(TARGET_lib)
256
257nlms :: libs $(TARGET_nlm)
258
259#
260# Updated this target to create necessary directories and copy files to the
261# correct place.  (See $(AP_WORK)/build/NWGNUhead.inc for examples)
262#
263install :: nlms FORCE
264	$(call COPY,$(OBJDIR)/*.nlm, $(INSTALLBASE)/modules/)
265
266#
267# Any specialized rules here
268#
269
270vpath %.c $(ZLIBSDK)
271
272#
273# Include the 'tail' makefile that has targets that depend on variables defined
274# in this makefile
275#
276
277include $(APBUILD)/NWGNUtail.inc
278
279
280