1#
2# Make sure all needed macro's are defined
3#
4
5#
6# Get the 'head' of the build environment if necessary.  This includes default
7# targets and paths to tools
8#
9
10ifndef EnvironmentDefined
11include $(AP_WORK)/build/NWGNUhead.inc
12endif
13
14#
15# These directories will be at the beginning of the include list, followed by
16# INCDIRS
17#
18XINCDIRS	+= \
19			$(APR)/include \
20			$(APRUTIL)/include \
21			$(AP_WORK)/include \
22			$(AP_WORK)/modules/http \
23			$(AP_WORK)/modules/generators \
24			$(AP_WORK)/modules/ssl \
25			$(NWOS) \
26			$(EOLIST)
27
28#
29# These flags will come after CFLAGS
30#
31XCFLAGS		+= \
32			$(EOLIST)
33
34#
35# These defines will come after DEFINES
36#
37XDEFINES	+= \
38			$(EOLIST)
39
40#
41# These flags will be added to the link.opt file
42#
43XLFLAGS		+= \
44			$(EOLIST)
45
46#
47# These values will be appended to the correct variables based on the value of
48# RELEASE
49#
50ifeq "$(RELEASE)" "debug"
51XINCDIRS	+= \
52			$(EOLIST)
53
54XCFLAGS		+= \
55			$(EOLIST)
56
57XDEFINES	+= \
58			$(EOLIST)
59
60XLFLAGS		+= \
61			$(EOLIST)
62endif
63
64ifeq "$(RELEASE)" "noopt"
65XINCDIRS	+= \
66			$(EOLIST)
67
68XCFLAGS		+= \
69			$(EOLIST)
70
71XDEFINES	+= \
72			$(EOLIST)
73
74XLFLAGS		+= \
75			$(EOLIST)
76endif
77
78ifeq "$(RELEASE)" "release"
79XINCDIRS	+= \
80			$(EOLIST)
81
82XCFLAGS		+= \
83			$(EOLIST)
84
85XDEFINES	+= \
86			$(EOLIST)
87
88XLFLAGS		+= \
89			$(EOLIST)
90endif
91
92#
93# These are used by the link target if an NLM is being generated
94# This is used by the link 'name' directive to name the nlm.  If left blank
95# TARGET_nlm (see below) will be used.
96#
97NLM_NAME	= proxy
98
99#
100# This is used by the link '-desc ' directive.
101# If left blank, NLM_NAME will be used.
102#
103NLM_DESCRIPTION	= Apache $(VERSION_STR) Proxy Module
104
105#
106# This is used by the '-threadname' directive.  If left blank,
107# NLM_NAME Thread will be used.
108#
109NLM_THREAD_NAME	= Proxy Module
110
111#
112# If this is specified, it will override VERSION value in
113# $(AP_WORK)/build/NWGNUenvironment.inc
114#
115NLM_VERSION	=
116
117#
118# If this is specified, it will override the default of 64K
119#
120NLM_STACK_SIZE	= 8192
121
122
123#
124# If this is specified it will be used by the link '-entry' directive
125#
126NLM_ENTRY_SYM	=
127
128#
129# If this is specified it will be used by the link '-exit' directive
130#
131NLM_EXIT_SYM	=
132
133#
134# If this is specified it will be used by the link '-check' directive
135#
136NLM_CHECK_SYM	=
137
138#
139# If these are specified it will be used by the link '-flags' directive
140#
141NLM_FLAGS	=
142
143#
144# If this is specified it will be linked in with the XDCData option in the def
145# file instead of the default of $(NWOS)/apache.xdc.  XDCData can be disabled
146# by setting APACHE_UNIPROC in the environment
147#
148XDCDATA		=
149
150#
151# If there is an NLM target, put it here
152#
153TARGET_nlm = \
154	$(OBJDIR)/proxy.nlm \
155	$(EOLIST)
156
157#
158# If there is an LIB target, put it here
159#
160TARGET_lib = \
161	$(EOLIST)
162
163#
164# These are the OBJ files needed to create the NLM target above.
165# Paths must all use the '/' character
166#
167FILES_nlm_objs = \
168	$(OBJDIR)/mod_proxy.o \
169	$(OBJDIR)/proxy_util.o \
170	$(OBJDIR)/libprews.o \
171	$(EOLIST)
172
173#
174# These are the LIB files needed to create the NLM target above.
175# These will be added as a library command in the link.opt file.
176#
177FILES_nlm_libs = \
178	$(PRELUDE) \
179	$(EOLIST)
180
181#
182# These are the modules that the above NLM target depends on to load.
183# These will be added as a module command in the link.opt file.
184#
185FILES_nlm_modules = \
186	aprlib \
187	libc \
188	$(EOLIST)
189
190#
191# If the nlm has a msg file, put it's path here
192#
193FILE_nlm_msg =
194
195#
196# If the nlm has a hlp file put it's path here
197#
198FILE_nlm_hlp =
199
200#
201# If this is specified, it will override $(NWOS)\copyright.txt.
202#
203FILE_nlm_copyright =
204
205#
206# Any additional imports go here
207#
208FILES_nlm_Ximports = \
209	@aprlib.imp \
210	@httpd.imp \
211	@libc.imp \
212	$(EOLIST)
213
214# Don't link with Winsock if standard sockets are being used
215ifndef USE_STDSOCKETS
216FILES_nlm_Ximports += @ws2nlm.imp \
217	$(EOLIST)
218endif
219
220#
221# Any symbols exported to here
222#
223FILES_nlm_exports = \
224	@$(OBJDIR)/mod_proxy.imp \
225	$(EOLIST)
226
227#
228# These are the OBJ files needed to create the LIB target above.
229# Paths must all use the '/' character
230#
231FILES_lib_objs = \
232	$(EOLIST)
233
234#
235# implement targets and dependancies (leave this section alone)
236#
237
238libs :: $(OBJDIR) $(TARGET_lib)
239
240nlms :: libs $(OBJDIR)/mod_proxy.imp $(TARGET_nlm)
241
242#
243# Updated this target to create necessary directories and copy files to the
244# correct place.  (See $(AP_WORK)/build/NWGNUhead.inc for examples)
245#
246install :: nlms FORCE
247
248#
249# Any specialized rules here
250#
251
252vpath %.c ../arch/netware
253
254$(OBJDIR)/mod_proxy.imp: NWGNUproxy
255	@echo $(DL)GEN  $@$(DL)
256	@echo $(DL)# Exports of mod_proxy$(DL)> $@
257	@echo $(DL) (AP$(VERSION_MAJMIN))$(DL)>> $@
258	@echo $(DL) proxy_module,$(DL)>> $@
259	@echo $(DL) proxy_hook_canon_handler,$(DL)>> $@
260	@echo $(DL) proxy_hook_get_canon_handler,$(DL)>> $@
261	@echo $(DL) proxy_hook_get_post_request,$(DL)>> $@
262	@echo $(DL) proxy_hook_get_pre_request,$(DL)>> $@
263	@echo $(DL) proxy_hook_get_scheme_handler,$(DL)>> $@
264	@echo $(DL) proxy_hook_post_request,$(DL)>> $@
265	@echo $(DL) proxy_hook_pre_request,$(DL)>> $@
266	@echo $(DL) proxy_hook_scheme_handler,$(DL)>> $@
267	@echo $(DL) proxy_run_canon_handler,$(DL)>> $@
268	@echo $(DL) proxy_run_create_req,$(DL)>> $@
269	@echo $(DL) proxy_run_fixups,$(DL)>> $@
270	@echo $(DL) proxy_run_post_request,$(DL)>> $@
271	@echo $(DL) proxy_run_pre_request,$(DL)>> $@
272	@echo $(DL) proxy_run_request_status,$(DL)>> $@
273	@echo $(DL) proxy_run_scheme_handler,$(DL)>> $@
274	@echo $(DL) ap_proxy_acquire_connection,$(DL)>> $@
275	@echo $(DL) ap_proxy_backend_broke,$(DL)>> $@
276	@echo $(DL) ap_proxy_c2hex,$(DL)>> $@
277	@echo $(DL) ap_proxy_canon_netloc,$(DL)>> $@
278	@echo $(DL) ap_proxy_canonenc,$(DL)>> $@
279	@echo $(DL) ap_proxy_checkproxyblock,$(DL)>> $@
280	@echo $(DL) ap_proxy_checkproxyblock2,$(DL)>> $@
281	@echo $(DL) ap_proxy_conn_is_https,$(DL)>> $@
282	@echo $(DL) ap_proxy_connect_backend,$(DL)>> $@
283	@echo $(DL) ap_proxy_connect_to_backend,$(DL)>> $@
284	@echo $(DL) ap_proxy_connection_create,$(DL)>> $@
285	@echo $(DL) ap_proxy_cookie_reverse_map,$(DL)>> $@
286	@echo $(DL) ap_proxy_create_hdrbrgd,$(DL)>> $@
287	@echo $(DL) ap_proxy_define_balancer,$(DL)>> $@
288	@echo $(DL) ap_proxy_define_worker,$(DL)>> $@
289	@echo $(DL) ap_proxy_determine_connection,$(DL)>> $@
290	@echo $(DL) ap_proxy_find_balancershm,$(DL)>> $@
291	@echo $(DL) ap_proxy_find_workershm,$(DL)>> $@
292	@echo $(DL) ap_proxy_get_balancer,$(DL)>> $@
293	@echo $(DL) ap_proxy_get_worker,$(DL)>> $@
294	@echo $(DL) ap_proxy_hashfunc,$(DL)>> $@
295	@echo $(DL) ap_proxy_hex2c,$(DL)>> $@
296	@echo $(DL) ap_proxy_initialize_balancer,$(DL)>> $@
297	@echo $(DL) ap_proxy_initialize_worker,$(DL)>> $@
298	@echo $(DL) ap_proxy_is_domainname,$(DL)>> $@
299	@echo $(DL) ap_proxy_is_hostname,$(DL)>> $@
300	@echo $(DL) ap_proxy_is_ipaddr,$(DL)>> $@
301	@echo $(DL) ap_proxy_is_word,$(DL)>> $@
302	@echo $(DL) ap_proxy_location_reverse_map,$(DL)>> $@
303	@echo $(DL) ap_proxy_parse_wstatus,$(DL)>> $@
304	@echo $(DL) ap_proxy_pass_brigade,$(DL)>> $@
305	@echo $(DL) ap_proxy_port_of_scheme,$(DL)>> $@
306	@echo $(DL) ap_proxy_post_request,$(DL)>> $@
307	@echo $(DL) ap_proxy_pre_http_request,$(DL)>> $@
308	@echo $(DL) ap_proxy_pre_request,$(DL)>> $@
309	@echo $(DL) ap_proxy_release_connection,$(DL)>> $@
310	@echo $(DL) ap_proxy_set_wstatus,$(DL)>> $@
311	@echo $(DL) ap_proxy_share_balancer,$(DL)>> $@
312	@echo $(DL) ap_proxy_share_worker,$(DL)>> $@
313	@echo $(DL) ap_proxy_ssl_connection_cleanup,$(DL)>> $@
314	@echo $(DL) ap_proxy_ssl_disable,$(DL)>> $@
315	@echo $(DL) ap_proxy_ssl_enable,$(DL)>> $@
316	@echo $(DL) ap_proxy_ssl_val,$(DL)>> $@
317	@echo $(DL) ap_proxy_strncpy,$(DL)>> $@
318	@echo $(DL) ap_proxy_sync_balancer,$(DL)>> $@
319	@echo $(DL) ap_proxy_trans_match,$(DL)>> $@
320	@echo $(DL) ap_proxy_valid_balancer_name,$(DL)>> $@
321	@echo $(DL) ap_proxy_worker_name,$(DL)>> $@
322	@echo $(DL) ap_proxyerror$(DL)>> $@
323
324#
325# Include the 'tail' makefile that has targets that depend on variables defined
326# in this makefile
327#
328
329include $(APBUILD)/NWGNUtail.inc
330
331
332