source: project/chicken/branches/prerelease/rules.make @ 11958

Last change on this file since 11958 was 11958, checked in by Ivan Raikov, 12 years ago

Merged trunk and prerelease.

File size: 70.9 KB
Line 
1# rules.make - basic build rules -*- Makefile -*-
2#
3# Copyright (c) 2000-2007, Felix L. Winkelmann
4# Copyright (c) 2008, The Chicken Team
5# All rights reserved.
6#
7# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following
8# conditions are met:
9#
10#   Redistributions of source code must retain the above copyright notice, this list of conditions and the following
11#     disclaimer.
12#   Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
13#     disclaimer in the documentation and/or other materials provided with the distribution.
14#   Neither the name of the author nor the names of its contributors may be used to endorse or promote
15#     products derived from this software without specific prior written permission.
16#
17# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
18# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
19# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
20# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
24# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25# POSSIBILITY OF SUCH DAMAGE.
26
27
28# object files
29
30LIBCHICKEN_OBJECTS_1 = \
31       library eval data-structures ports files extras lolevel utils tcp srfi-1 srfi-4 srfi-13 \
32       srfi-14 srfi-18 srfi-69 $(POSIXFILE) regex scheduler \
33       profiler stub match runtime
34LIBCHICKEN_SHARED_OBJECTS = $(LIBCHICKEN_OBJECTS_1:=$(O))
35LIBCHICKEN_STATIC_OBJECTS = $(LIBCHICKEN_OBJECTS_1:=-static$(O))
36
37LIBUCHICKEN_OBJECTS_1 = \
38       ulibrary ueval udata-structures uports ufiles uextras ulolevel uutils utcp usrfi-1 usrfi-4 \
39       usrfi-13 usrfi-14 usrfi-18 usrfi-69 u$(POSIXFILE) uregex scheduler \
40       profiler stub match uruntime
41LIBUCHICKEN_SHARED_OBJECTS = $(LIBUCHICKEN_OBJECTS_1:=$(O))
42LIBUCHICKEN_STATIC_OBJECTS = $(LIBUCHICKEN_OBJECTS_1:=-static$(O))
43
44LIBCHICKENGUI_OBJECTS_1 = \
45       library eval data-structures ports files extras lolevel utils tcp srfi-1 srfi-4 srfi-13 \
46       srfi-14 srfi-18 srfi-69 $(POSIXFILE) regex scheduler \
47       profiler stub match gui-runtime
48LIBCHICKENGUI_SHARED_OBJECTS = $(LIBCHICKENGUI_OBJECTS_1:=$(O))
49LIBCHICKENGUI_STATIC_OBJECTS = $(LIBCHICKENGUI_OBJECTS_1:=-static$(O))
50
51ifeq ($(USE_HOST_PCRE),)
52PCRE_OBJECTS_1 ?= \
53       $(PCRE_DIR)pcre_compile \
54       $(PCRE_DIR)pcre_config \
55       $(PCRE_DIR)pcre_dfa_exec \
56       $(PCRE_DIR)pcre_exec \
57       $(PCRE_DIR)pcre_fullinfo \
58       $(PCRE_DIR)pcre_get \
59       $(PCRE_DIR)pcre_globals \
60       $(PCRE_DIR)pcre_info \
61       $(PCRE_DIR)pcre_maketables \
62       $(PCRE_DIR)pcre_newline \
63       $(PCRE_DIR)pcre_ord2utf8 \
64       $(PCRE_DIR)pcre_refcount \
65       $(PCRE_DIR)pcre_study \
66       $(PCRE_DIR)pcre_tables \
67       $(PCRE_DIR)pcre_try_flipped \
68       $(PCRE_DIR)pcre_ucp_searchfuncs \
69       $(PCRE_DIR)pcre_valid_utf8 \
70       $(PCRE_DIR)pcre_version \
71       $(PCRE_DIR)pcre_xclass \
72       $(PCRE_DIR)pcre_chartables
73PCRE_SHARED_OBJECTS = $(PCRE_OBJECTS_1:=$(O))
74PCRE_STATIC_OBJECTS = $(PCRE_OBJECTS_1:=-static$(O))
75endif
76
77COMPILER_OBJECTS_1 = \
78       chicken batch-driver compiler optimizer support \
79       c-platform c-backend
80COMPILER_OBJECTS        = $(COMPILER_OBJECTS_1:=$(O))
81COMPILER_STATIC_OBJECTS = $(COMPILER_OBJECTS_1:=-static$(O))
82
83# library objects
84
85runtime$(O): runtime.c chicken.h $(CHICKEN_CONFIG_H)
86        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
87          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
88          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
89gui-runtime$(O): runtime.c chicken.h $(CHICKEN_CONFIG_H)
90        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
91          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
92          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $(C_COMPILER_GUI_RUNTIME_OPTIONS) $< \
93          $(C_COMPILER_OUTPUT)
94eval$(O): eval.c chicken.h $(CHICKEN_CONFIG_H)
95        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
96          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
97          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
98data-structures$(O): data-structures.c chicken.h $(CHICKEN_CONFIG_H)
99        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
100          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
101          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
102ports$(O): ports.c chicken.h $(CHICKEN_CONFIG_H)
103        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
104          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
105          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
106files$(O): files.c chicken.h $(CHICKEN_CONFIG_H)
107        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
108          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
109          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
110extras$(O): extras.c chicken.h $(CHICKEN_CONFIG_H)
111        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
112          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
113          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
114library$(O): library.c chicken.h $(CHICKEN_CONFIG_H)
115        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
116          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
117          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
118lolevel$(O): lolevel.c chicken.h $(CHICKEN_CONFIG_H)
119        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
120          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
121          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
122match$(O): match.c chicken.h $(CHICKEN_CONFIG_H)
123        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
124          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
125          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
126posixunix$(O): posixunix.c chicken.h $(CHICKEN_CONFIG_H)
127        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
128          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
129          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
130posixwin$(O): posixwin.c chicken.h $(CHICKEN_CONFIG_H)
131        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
132          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
133          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
134profiler$(O): profiler.c chicken.h $(CHICKEN_CONFIG_H)
135        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
136          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
137          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
138regex$(O): regex.c chicken.h $(CHICKEN_CONFIG_H) 
139        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(PCRE_INCLUDES) \
140          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
141          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $(C_COMPILER_PCRE_OPTIONS) $< $(C_COMPILER_OUTPUT)
142scheduler$(O): scheduler.c chicken.h $(CHICKEN_CONFIG_H)
143        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
144          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
145          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
146srfi-1$(O): srfi-1.c chicken.h $(CHICKEN_CONFIG_H)
147        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
148          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
149          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
150srfi-13$(O): srfi-13.c chicken.h $(CHICKEN_CONFIG_H)
151        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
152          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
153          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
154srfi-14$(O): srfi-14.c chicken.h $(CHICKEN_CONFIG_H)
155        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
156          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
157          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
158srfi-18$(O): srfi-18.c chicken.h $(CHICKEN_CONFIG_H)
159        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
160          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
161          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
162srfi-69$(O): srfi-69.c chicken.h $(CHICKEN_CONFIG_H)
163        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
164          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
165          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
166srfi-4$(O): srfi-4.c chicken.h $(CHICKEN_CONFIG_H)
167        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
168          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
169          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
170stub$(O): stub.c chicken.h $(CHICKEN_CONFIG_H)
171        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
172          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
173          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
174tcp$(O): tcp.c chicken.h $(CHICKEN_CONFIG_H)
175        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
176          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
177          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
178utils$(O): utils.c chicken.h $(CHICKEN_CONFIG_H)
179        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
180          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
181          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
182
183uruntime$(O): runtime.c chicken.h $(CHICKEN_CONFIG_H)
184        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
185          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
186          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
187ueval$(O): ueval.c chicken.h $(CHICKEN_CONFIG_H)
188        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
189          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
190          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
191udata-structures$(O): udata-structures.c chicken.h $(CHICKEN_CONFIG_H)
192        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
193          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
194          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
195uports$(O): uports.c chicken.h $(CHICKEN_CONFIG_H)
196        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
197          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
198          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
199ufiles$(O): ufiles.c chicken.h $(CHICKEN_CONFIG_H)
200        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
201          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
202          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
203uextras$(O): uextras.c chicken.h $(CHICKEN_CONFIG_H)
204        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
205          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
206          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
207ulibrary$(O): ulibrary.c chicken.h $(CHICKEN_CONFIG_H)
208        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
209          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
210          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
211ulolevel$(O): ulolevel.c chicken.h $(CHICKEN_CONFIG_H)
212        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
213          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
214          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
215uposixunix$(O): uposixunix.c chicken.h $(CHICKEN_CONFIG_H)
216        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
217          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
218          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
219uposixwin$(O): uposixwin.c chicken.h $(CHICKEN_CONFIG_H)
220        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
221          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
222          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
223uregex$(O): uregex.c chicken.h $(CHICKEN_CONFIG_H) 
224        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(PCRE_INCLUDES) \
225          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
226          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $(C_COMPILER_PCRE_OPTIONS) $< $(C_COMPILER_OUTPUT)
227usrfi-1$(O): usrfi-1.c chicken.h $(CHICKEN_CONFIG_H)
228        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(PCRE_INCLUDES) \
229          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
230          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
231usrfi-13$(O): usrfi-13.c chicken.h $(CHICKEN_CONFIG_H)
232        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
233          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
234          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
235usrfi-14$(O): usrfi-14.c chicken.h $(CHICKEN_CONFIG_H)
236        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
237          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
238          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
239usrfi-18$(O): usrfi-18.c chicken.h $(CHICKEN_CONFIG_H)
240        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
241          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
242          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
243usrfi-69$(O): usrfi-69.c chicken.h $(CHICKEN_CONFIG_H)
244        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
245          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
246          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
247usrfi-4$(O): usrfi-4.c chicken.h $(CHICKEN_CONFIG_H)
248        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
249          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
250          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
251utcp$(O): utcp.c chicken.h $(CHICKEN_CONFIG_H)
252        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
253          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
254          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
255uutils$(O): uutils.c chicken.h $(CHICKEN_CONFIG_H)
256        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
257          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) \
258          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
259
260runtime-static$(O): runtime.c chicken.h $(CHICKEN_CONFIG_H)
261        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
262          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
263          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
264gui-runtime-static$(O): runtime.c chicken.h $(CHICKEN_CONFIG_H)
265        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
266          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
267          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $(C_COMPILER_GUI_RUNTIME_OPTIONS) $< \
268          $(C_COMPILER_OUTPUT)
269eval-static$(O): eval.c chicken.h $(CHICKEN_CONFIG_H)
270        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
271          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
272          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
273data-structures-static$(O): data-structures.c chicken.h $(CHICKEN_CONFIG_H)
274        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
275          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
276          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
277ports-static$(O): ports.c chicken.h $(CHICKEN_CONFIG_H)
278        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
279          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
280          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
281files-static$(O): files.c chicken.h $(CHICKEN_CONFIG_H)
282        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
283          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
284          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
285extras-static$(O): extras.c chicken.h $(CHICKEN_CONFIG_H)
286        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
287          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
288          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
289library-static$(O): library.c chicken.h $(CHICKEN_CONFIG_H)
290        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
291          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
292          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
293lolevel-static$(O): lolevel.c chicken.h $(CHICKEN_CONFIG_H)
294        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
295          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
296          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
297match-static$(O): match.c chicken.h $(CHICKEN_CONFIG_H)
298        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
299          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
300          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
301posixunix-static$(O): posixunix.c chicken.h $(CHICKEN_CONFIG_H)
302        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
303          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
304          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
305posixwin-static$(O): posixwin.c chicken.h $(CHICKEN_CONFIG_H)
306        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
307          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
308          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
309profiler-static$(O): profiler.c chicken.h $(CHICKEN_CONFIG_H)
310        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
311          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
312          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
313regex-static$(O): regex.c chicken.h $(CHICKEN_CONFIG_H) 
314        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(PCRE_INCLUDES) \
315          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
316          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $(C_COMPILER_PCRE_OPTIONS) $< $(C_COMPILER_OUTPUT)
317scheduler-static$(O): scheduler.c chicken.h $(CHICKEN_CONFIG_H)
318        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
319          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
320          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
321srfi-1-static$(O): srfi-1.c chicken.h $(CHICKEN_CONFIG_H)
322        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
323          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
324          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
325srfi-13-static$(O): srfi-13.c chicken.h $(CHICKEN_CONFIG_H)
326        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
327          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
328          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
329srfi-14-static$(O): srfi-14.c chicken.h $(CHICKEN_CONFIG_H)
330        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
331          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
332          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
333srfi-18-static$(O): srfi-18.c chicken.h $(CHICKEN_CONFIG_H)
334        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
335          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
336          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
337srfi-69-static$(O): srfi-69.c chicken.h $(CHICKEN_CONFIG_H)
338        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
339          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
340          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
341srfi-4-static$(O): srfi-4.c chicken.h $(CHICKEN_CONFIG_H)
342        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
343          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
344          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
345stub-static$(O): stub.c chicken.h $(CHICKEN_CONFIG_H)
346        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
347          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
348          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
349tcp-static$(O): tcp.c chicken.h $(CHICKEN_CONFIG_H)
350        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
351          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
352          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
353utils-static$(O): utils.c chicken.h $(CHICKEN_CONFIG_H)
354        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
355          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
356          $(C_COMPILER_BUILD_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
357
358uruntime-static$(O): runtime.c chicken.h $(CHICKEN_CONFIG_H)
359        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
360          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
361          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
362ueval-static$(O): ueval.c chicken.h $(CHICKEN_CONFIG_H)
363        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
364          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
365          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
366udata-structures-static$(O): udata-structures.c chicken.h $(CHICKEN_CONFIG_H)
367        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
368          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
369          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
370uports-static$(O): uports.c chicken.h $(CHICKEN_CONFIG_H)
371        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
372          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
373          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
374ufiles-static$(O): ufiles.c chicken.h $(CHICKEN_CONFIG_H)
375        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
376          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
377          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
378uextras-static$(O): uextras.c chicken.h $(CHICKEN_CONFIG_H)
379        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
380          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
381          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
382ulibrary-static$(O): ulibrary.c chicken.h $(CHICKEN_CONFIG_H)
383        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
384          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
385          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
386ulolevel-static$(O): ulolevel.c chicken.h $(CHICKEN_CONFIG_H)
387        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
388          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
389          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
390uposixunix-static$(O): uposixunix.c chicken.h $(CHICKEN_CONFIG_H)
391        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
392          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
393          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
394uposixwin-static$(O): uposixwin.c chicken.h $(CHICKEN_CONFIG_H)
395        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
396          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
397          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
398uregex-static$(O): uregex.c chicken.h $(CHICKEN_CONFIG_H) 
399        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
400          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(PCRE_INCLUDES) \
401          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $(C_COMPILER_PCRE_OPTIONS) $< $(C_COMPILER_OUTPUT)
402usrfi-1-static$(O): usrfi-1.c chicken.h $(CHICKEN_CONFIG_H)
403        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
404          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
405          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
406usrfi-13-static$(O): usrfi-13.c chicken.h $(CHICKEN_CONFIG_H)
407        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
408          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
409          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
410usrfi-14-static$(O): usrfi-14.c chicken.h $(CHICKEN_CONFIG_H)
411        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
412          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
413          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
414usrfi-18-static$(O): usrfi-18.c chicken.h $(CHICKEN_CONFIG_H)
415        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
416          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
417          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
418usrfi-69-static$(O): usrfi-69.c chicken.h $(CHICKEN_CONFIG_H)
419        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
420          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
421          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
422usrfi-4-static$(O): usrfi-4.c chicken.h $(CHICKEN_CONFIG_H)
423        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
424          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
425          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
426utcp-static$(O): utcp.c chicken.h $(CHICKEN_CONFIG_H)
427        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
428          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
429          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
430uutils-static$(O): uutils.c chicken.h $(CHICKEN_CONFIG_H)
431        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
432          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) \
433          $(C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS) $< $(C_COMPILER_OUTPUT)
434
435# compiler objects
436
437batch-driver$(O): batch-driver.c chicken.h $(CHICKEN_CONFIG_H)
438        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
439          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< \
440          $(C_COMPILER_OUTPUT)
441c-backend$(O): c-backend.c chicken.h $(CHICKEN_CONFIG_H)
442        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
443          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< \
444          $(C_COMPILER_OUTPUT)
445c-platform$(O): c-platform.c chicken.h $(CHICKEN_CONFIG_H)
446        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
447          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< \
448          $(C_COMPILER_OUTPUT)
449optimizer$(O): optimizer.c chicken.h $(CHICKEN_CONFIG_H)
450        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
451          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< \
452          $(C_COMPILER_OUTPUT)
453chicken$(O): chicken.c chicken.h $(CHICKEN_CONFIG_H)
454        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
455          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< \
456          $(C_COMPILER_OUTPUT)
457compiler$(O): compiler.c chicken.h $(CHICKEN_CONFIG_H)
458        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
459          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< \
460          $(C_COMPILER_OUTPUT)
461support$(O): support.c chicken.h $(CHICKEN_CONFIG_H)
462        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
463          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< \
464          $(C_COMPILER_OUTPUT)
465
466# static compiler objects
467
468batch-driver-static$(O): batch-driver.c chicken.h $(CHICKEN_CONFIG_H)
469        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
470          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $< $(C_COMPILER_OUTPUT)
471c-backend-static$(O): c-backend.c chicken.h $(CHICKEN_CONFIG_H)
472        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
473          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $< $(C_COMPILER_OUTPUT)
474c-platform-static$(O): c-platform.c chicken.h $(CHICKEN_CONFIG_H)
475        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
476          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $< $(C_COMPILER_OUTPUT)
477chicken-static$(O): chicken.c chicken.h $(CHICKEN_CONFIG_H)
478        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
479          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $< $(C_COMPILER_OUTPUT)
480compiler-static$(O): compiler.c chicken.h $(CHICKEN_CONFIG_H)
481        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
482          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $< $(C_COMPILER_OUTPUT)
483support-static$(O): support.c chicken.h $(CHICKEN_CONFIG_H)
484        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
485          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $< $(C_COMPILER_OUTPUT)
486optimizer-static$(O): optimizer.c chicken.h $(CHICKEN_CONFIG_H)
487        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
488          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $< $(C_COMPILER_OUTPUT)
489
490# pcre objects
491
492$(PCRE_DIR)pcre_compile$(O): $(PCRE_DIR)pcre_compile.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
493        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
494          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
495          $(C_COMPILER_PCRE_OPTIONS)
496$(PCRE_DIR)pcre_config$(O): $(PCRE_DIR)pcre_config.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
497        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
498          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
499          $(C_COMPILER_PCRE_OPTIONS)
500$(PCRE_DIR)pcre_dfa_exec$(O): $(PCRE_DIR)pcre_dfa_exec.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
501        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
502          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
503          $(C_COMPILER_PCRE_OPTIONS)
504$(PCRE_DIR)pcre_exec$(O): $(PCRE_DIR)pcre_exec.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
505        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
506          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
507          $(C_COMPILER_PCRE_OPTIONS)
508$(PCRE_DIR)pcre_fullinfo$(O): $(PCRE_DIR)pcre_fullinfo.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
509        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
510          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
511          $(C_COMPILER_PCRE_OPTIONS)
512$(PCRE_DIR)pcre_get$(O): $(PCRE_DIR)pcre_get.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
513        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
514          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
515          $(C_COMPILER_PCRE_OPTIONS)
516$(PCRE_DIR)pcre_globals$(O): $(PCRE_DIR)pcre_globals.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
517        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
518          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
519          $(C_COMPILER_PCRE_OPTIONS)
520$(PCRE_DIR)pcre_info$(O): $(PCRE_DIR)pcre_info.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
521        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
522          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
523          $(C_COMPILER_PCRE_OPTIONS)
524$(PCRE_DIR)pcre_maketables$(O): $(PCRE_DIR)pcre_maketables.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
525        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
526          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
527          $(C_COMPILER_PCRE_OPTIONS)
528$(PCRE_DIR)pcre_newline$(O): $(PCRE_DIR)pcre_newline.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
529        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
530          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
531          $(C_COMPILER_PCRE_OPTIONS)
532$(PCRE_DIR)pcre_ord2utf8$(O): $(PCRE_DIR)pcre_ord2utf8.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
533        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
534          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
535          $(C_COMPILER_PCRE_OPTIONS)
536$(PCRE_DIR)pcre_refcount$(O): $(PCRE_DIR)pcre_refcount.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
537        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
538          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
539          $(C_COMPILER_PCRE_OPTIONS)
540$(PCRE_DIR)pcre_study$(O): $(PCRE_DIR)pcre_study.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
541        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
542          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
543          $(C_COMPILER_PCRE_OPTIONS)
544$(PCRE_DIR)pcre_tables$(O): $(PCRE_DIR)pcre_tables.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
545        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
546          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
547          $(C_COMPILER_PCRE_OPTIONS)
548$(PCRE_DIR)pcre_try_flipped$(O): $(PCRE_DIR)pcre_try_flipped.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
549        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
550          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
551          $(C_COMPILER_PCRE_OPTIONS)
552$(PCRE_DIR)pcre_ucp_searchfuncs$(O): $(PCRE_DIR)pcre_ucp_searchfuncs.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h $(PCRE_DIR)ucptable.h $(PCRE_DIR)ucpinternal.h
553        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
554          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
555          $(C_COMPILER_PCRE_OPTIONS)
556$(PCRE_DIR)pcre_valid_utf8$(O): $(PCRE_DIR)pcre_valid_utf8.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
557        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
558          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
559          $(C_COMPILER_PCRE_OPTIONS)
560$(PCRE_DIR)pcre_version$(O): $(PCRE_DIR)pcre_version.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
561        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
562          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
563          $(C_COMPILER_PCRE_OPTIONS)
564$(PCRE_DIR)pcre_xclass$(O): $(PCRE_DIR)pcre_xclass.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
565        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
566          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
567          $(C_COMPILER_PCRE_OPTIONS)
568$(PCRE_DIR)pcre_chartables$(O): $(PCRE_DIR)pcre_chartables.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H)
569        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
570          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
571          $(C_COMPILER_PCRE_OPTIONS)
572
573# static pcre objects
574
575$(PCRE_DIR)pcre_compile-static$(O): $(PCRE_DIR)pcre_compile.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
576        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
577          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
578          $(C_COMPILER_PCRE_OPTIONS)
579$(PCRE_DIR)pcre_config-static$(O): $(PCRE_DIR)pcre_config.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
580        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
581          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
582          $(C_COMPILER_PCRE_OPTIONS)
583$(PCRE_DIR)pcre_dfa_exec-static$(O): $(PCRE_DIR)pcre_dfa_exec.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
584        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
585          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
586          $(C_COMPILER_PCRE_OPTIONS)
587$(PCRE_DIR)pcre_exec-static$(O): $(PCRE_DIR)pcre_exec.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
588        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
589          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
590          $(C_COMPILER_PCRE_OPTIONS)
591$(PCRE_DIR)pcre_fullinfo-static$(O): $(PCRE_DIR)pcre_fullinfo.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
592        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
593          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
594          $(C_COMPILER_PCRE_OPTIONS)
595$(PCRE_DIR)pcre_get-static$(O): $(PCRE_DIR)pcre_get.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
596        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
597          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
598          $(C_COMPILER_PCRE_OPTIONS)
599$(PCRE_DIR)pcre_globals-static$(O): $(PCRE_DIR)pcre_globals.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
600        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
601          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
602          $(C_COMPILER_PCRE_OPTIONS)
603$(PCRE_DIR)pcre_info-static$(O): $(PCRE_DIR)pcre_info.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
604        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
605          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
606          $(C_COMPILER_PCRE_OPTIONS)
607$(PCRE_DIR)pcre_maketables-static$(O): $(PCRE_DIR)pcre_maketables.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
608        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
609          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
610          $(C_COMPILER_PCRE_OPTIONS)
611$(PCRE_DIR)pcre_newline-static$(O): $(PCRE_DIR)pcre_newline.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
612        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
613          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
614          $(C_COMPILER_PCRE_OPTIONS)
615$(PCRE_DIR)pcre_ord2utf8-static$(O): $(PCRE_DIR)pcre_ord2utf8.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
616        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
617          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
618          $(C_COMPILER_PCRE_OPTIONS)
619$(PCRE_DIR)pcre_refcount-static$(O): $(PCRE_DIR)pcre_refcount.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
620        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
621          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
622          $(C_COMPILER_PCRE_OPTIONS)
623$(PCRE_DIR)pcre_study-static$(O): $(PCRE_DIR)pcre_study.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
624        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
625          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
626          $(C_COMPILER_PCRE_OPTIONS)
627$(PCRE_DIR)pcre_tables-static$(O): $(PCRE_DIR)pcre_tables.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
628        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
629          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
630          $(C_COMPILER_PCRE_OPTIONS)
631$(PCRE_DIR)pcre_try_flipped-static$(O): $(PCRE_DIR)pcre_try_flipped.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
632        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
633          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
634          $(C_COMPILER_PCRE_OPTIONS)
635$(PCRE_DIR)pcre_ucp_searchfuncs-static$(O): $(PCRE_DIR)pcre_ucp_searchfuncs.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h $(PCRE_DIR)ucptable.h $(PCRE_DIR)ucpinternal.h
636        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
637          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
638          $(C_COMPILER_PCRE_OPTIONS)
639$(PCRE_DIR)pcre_valid_utf8-static$(O): $(PCRE_DIR)pcre_valid_utf8.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
640        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
641          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
642          $(C_COMPILER_PCRE_OPTIONS)
643$(PCRE_DIR)pcre_version-static$(O): $(PCRE_DIR)pcre_version.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
644        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
645          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
646          $(C_COMPILER_PCRE_OPTIONS)
647$(PCRE_DIR)pcre_xclass-static$(O): $(PCRE_DIR)pcre_xclass.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H) $(PCRE_DIR)pcre.h $(PCRE_DIR)ucp.h
648        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
649          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
650          $(C_COMPILER_PCRE_OPTIONS)
651$(PCRE_DIR)pcre_chartables-static$(O): $(PCRE_DIR)pcre_chartables.c $(PCRE_DIR)pcre_internal.h $(PCRE_DIR)config.h $(CHICKEN_CONFIG_H)
652        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(PCRE_INCLUDES) $(C_COMPILER_COMPILE_OPTION) \
653          $(C_COMPILER_OPTIMIZATION_OPTIONS) $(C_COMPILER_SHARED_OPTIONS) $< $(C_COMPILER_OUTPUT) \
654          $(C_COMPILER_PCRE_OPTIONS)
655
656# assembler objects
657
658ifneq ($(HACKED_APPLY),)
659$(APPLY_HACK_OBJECT): apply-hack.$(ARCH).s
660        $(ASSEMBLER) $(ASSEMBLER_OPTIONS) $(ASSEMBLER_COMPILE_OPTION) $< $(ASSEMBLER_OUTPUT)
661endif
662
663# program objects
664
665chicken-profile$(O): chicken-profile.c chicken.h $(CHICKEN_CONFIG_H)
666        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) $(C_COMPILER_SHARED_OPTIONS) \
667          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $< $(C_COMPILER_OUTPUT)
668chicken-setup$(O): chicken-setup.c chicken.h $(CHICKEN_CONFIG_H)
669        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) $(C_COMPILER_SHARED_OPTIONS) \
670          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $< $(C_COMPILER_OUTPUT)
671csc$(O): csc.c chicken.h $(CHICKEN_CONFIG_H)
672        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) $(C_COMPILER_SHARED_OPTIONS) \
673          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $< $(C_COMPILER_OUTPUT)
674csi$(O): csi.c chicken.h $(CHICKEN_CONFIG_H)
675        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) $(C_COMPILER_SHARED_OPTIONS) \
676          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $< $(C_COMPILER_OUTPUT)
677
678# static program objects
679
680csi-static$(O): csi.c chicken.h $(CHICKEN_CONFIG_H)
681        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
682          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $< $(C_COMPILER_OUTPUT)
683chicken-bug$(O): chicken-bug.c chicken.h $(CHICKEN_CONFIG_H)
684        $(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_PTABLES_OPTIONS) $(INCLUDES) \
685          $(C_COMPILER_COMPILE_OPTION) $(C_COMPILER_OPTIMIZATION_OPTIONS) $< $(C_COMPILER_OUTPUT)
686
687# libchicken
688
689.PHONY: libs
690
691libs: $(TARGETLIBS)
692
693libchicken$(SO)$(SONAME_VERSION): $(LIBCHICKEN_SHARED_OBJECTS) $(PCRE_SHARED_OBJECTS) $(APPLY_HACK_OBJECT)
694        $(LINKER) $(LINKER_OPTIONS) $(LINKER_LINK_SHARED_LIBRARY_OPTIONS) $(LIBCHICKEN_SO_LINKER_OPTIONS) \
695          $(LINKER_OUTPUT) $^ $(LIBCHICKEN_SO_LIBRARIES)
696ifdef SONAME_VERSION
697        ln -sf $(LIBCHICKEN_SO_FILE) libchicken$(SO)
698endif
699
700
701libuchicken$(SO)$(SONAME_VERSION): $(LIBUCHICKEN_SHARED_OBJECTS) $(PCRE_SHARED_OBJECTS) $(APPLY_HACK_OBJECT)
702        $(LINKER) $(LINKER_OPTIONS) $(LINKER_LINK_SHARED_LIBRARY_OPTIONS) $(LIBUCHICKEN_SO_LINKER_OPTIONS) \
703          $(LINKER_OUTPUT) $^ $(LIBUCHICKEN_SO_LIBRARIES)
704ifdef SONAME_VERSION
705        ln -sf $(LIBUCHICKEN_SO_FILE) libuchicken$(SO)
706endif
707
708cygchicken-0.dll: $(LIBCHICKEN_SHARED_OBJECTS) $(PCRE_SHARED_OBJECTS) $(APPLY_HACK_OBJECT)
709        gcc -shared -o $(LIBCHICKEN_SO_FILE) -Wl,--dll -Wl,--add-stdcall-alias \
710            -Wl,--enable-stdcall-fixup -Wl,--warn-unresolved-symbols \
711            -Wl,--dll-search-prefix=cyg -Wl,--allow-multiple-definition \
712            -Wl,--allow-shlib-undefined -Wl,--export-dynamic \
713            -Wl,--out-implib=libchicken.dll.a -Wl,--export-all-symbols \
714            -Wl,--enable-auto-import \
715            -Wl,--whole-archive $(LIBCHICKEN_SHARED_OBJECTS) $(PCRE_SHARED_OBJECTS) $(APPLY_HACK_OBJECT) \
716            -Wl,--no-whole-archive $(LIBCHICKEN_SO_LIBRARIES)
717
718cyguchicken-0.dll: $(LIBUCHICKEN_SHARED_OBJECTS) $(PCRE_SHARED_OBJECTS) $(APPLY_HACK_OBJECT)
719        gcc -shared -o $(LIBUCHICKEN_SO_FILE) -Wl,--dll -Wl,--add-stdcall-alias \
720            -Wl,--enable-stdcall-fixup -Wl,--warn-unresolved-symbols \
721            -Wl,--dll-search-prefix=cyg -Wl,--allow-multiple-definition \
722            -Wl,--allow-shlib-undefined -Wl,--export-dynamic \
723            -Wl,--out-implib=libuchicken.dll.a -Wl,--export-all-symbols \
724            -Wl,--enable-auto-import \
725            -Wl,--whole-archive $(LIBUCHICKEN_SHARED_OBJECTS) $(PCRE_SHARED_OBJECTS) $(APPLY_HACK_OBJECT) \
726            -Wl,--no-whole-archive $(LIBUCHICKEN_SO_LIBRARIES)
727
728
729libchickengui$(SO): $(APPLY_HACK_OBJECT) $(LIBCHICKENGUI_SHARED_OBJECTS) $(PCRE_SHARED_OBJECTS) 
730        $(LINKER) $(LINKER_OPTIONS) $(LINKER_LINK_SHARED_LIBRARY_OPTIONS) $(LIBCHICKENGUI_SO_LINKER_OPTIONS) \
731        $(LINKER_OUTPUT) $^ $(LIBCHICKENGUI_SO_LIBRARIES)
732
733libchicken$(A): $(APPLY_HACK_OBJECT) $(LIBCHICKEN_STATIC_OBJECTS) $(PCRE_STATIC_OBJECTS) 
734        $(LIBRARIAN) $(LIBRARIAN_OPTIONS) $(LIBRARIAN_OUTPUT) $^
735
736libuchicken$(A): $(APPLY_HACK_OBJECT) $(LIBUCHICKEN_STATIC_OBJECTS) $(PCRE_STATIC_OBJECTS) 
737        $(LIBRARIAN) $(LIBRARIAN_OPTIONS) $(LIBRARIAN_OUTPUT) $^
738
739libchickengui$(A): $(APPLY_HACK_OBJECT) $(LIBCHICKENGUI_STATIC_OBJECTS) $(PCRE_STATIC_OBJECTS) 
740        $(LIBRARIAN) $(LIBRARIAN_OPTIONS) $(LIBRARIAN_OUTPUT) $^
741
742# executables
743
744$(CHICKEN_SHARED_EXECUTABLE): $(COMPILER_OBJECTS) $(PRIMARY_LIBCHICKEN)
745        $(LINKER) $(LINKER_OPTIONS) $(LINKER_EXECUTABLE_OPTIONS) $(COMPILER_OBJECTS) $(LINKER_OUTPUT) \
746          $(LINKER_LIBRARY_PREFIX)chicken$(LINKER_LIBRARY_SUFFIX) $(LINKER_LINK_SHARED_PROGRAM_OPTIONS) $(LIBRARIES)
747
748$(CSI_SHARED_EXECUTABLE): csi$(O) $(PRIMARY_LIBCHICKEN)
749        $(LINKER) $(LINKER_OPTIONS) $(LINKER_EXECUTABLE_OPTIONS) $< $(LINKER_OUTPUT) \
750          $(LINKER_LIBRARY_PREFIX)chicken$(LINKER_LIBRARY_SUFFIX) $(LINKER_LINK_SHARED_PROGRAM_OPTIONS) $(LIBRARIES)
751
752$(CHICKEN_SETUP_PROGRAM)$(EXE): chicken-setup$(O) $(PRIMARY_LIBCHICKEN)
753        $(LINKER) $(LINKER_OPTIONS) $(LINKER_EXECUTABLE_OPTIONS) $< $(LINKER_OUTPUT) \
754          $(LINKER_LIBRARY_PREFIX)chicken$(LINKER_LIBRARY_SUFFIX) $(LINKER_LINK_SHARED_PROGRAM_OPTIONS) $(LIBRARIES)
755
756$(CHICKEN_PROFILE_PROGRAM)$(EXE): chicken-profile$(O) $(PRIMARY_LIBCHICKEN)
757        $(LINKER) $(LINKER_OPTIONS) $(LINKER_EXECUTABLE_OPTIONS) $< $(LINKER_OUTPUT) \
758          $(LINKER_LIBRARY_PREFIX)chicken$(LINKER_LIBRARY_SUFFIX) $(LINKER_LINK_SHARED_PROGRAM_OPTIONS) $(LIBRARIES)
759
760$(CSC_PROGRAM)$(EXE): csc$(O) $(PRIMARY_LIBCHICKEN)
761        $(LINKER) $(LINKER_OPTIONS) $(LINKER_EXECUTABLE_OPTIONS) $< $(LINKER_OUTPUT) \
762          $(LINKER_LIBRARY_PREFIX)chicken$(LINKER_LIBRARY_SUFFIX) $(LINKER_LINK_SHARED_PROGRAM_OPTIONS) $(LIBRARIES)
763
764# static executables
765
766$(CHICKEN_STATIC_EXECUTABLE): $(COMPILER_STATIC_OBJECTS) libchicken$(A)
767        $(LINKER) $(LINKER_OPTIONS) $(LINKER_STATIC_OPTIONS) $(COMPILER_STATIC_OBJECTS) \
768          $(LINKER_OUTPUT) libchicken$(A) $(LIBRARIES)
769$(CSI_STATIC_EXECUTABLE): csi$(O) libchicken$(A)
770        $(LINKER) $(LINKER_OPTIONS) $(LINKER_STATIC_OPTIONS) $< $(LINKER_OUTPUT) \
771          libchicken$(A) $(LIBRARIES)
772$(CHICKEN_BUG_PROGRAM)$(EXE): chicken-bug$(O) libchicken$(A)
773        $(LINKER) $(LINKER_OPTIONS) $(LINKER_STATIC_OPTIONS) $< $(LINKER_OUTPUT) \
774          libchicken$(A) $(LIBRARIES)
775
776# info documentation
777
778chicken.info: chicken.texi
779        $(MAKEINFO_PROGRAM) $(MAKEINFO_PROGRAM_OPTIONS) $<
780
781# installation
782
783.PHONY: install uninstall install-libs install-manifests
784
785install-libs:
786ifneq ($(DESTDIR),)
787        $(MAKEDIR_COMMAND) $(MAKEDIR_COMMAND_OPTIONS) $(DESTDIR)
788endif
789        $(MAKEDIR_COMMAND) $(MAKEDIR_COMMAND_OPTIONS) $(DESTDIR)$(ILIBDIR) 
790        $(MAKEDIR_COMMAND) $(MAKEDIR_COMMAND_OPTIONS) $(DESTDIR)$(ICHICKENLIBDIR) 
791        $(MAKEDIR_COMMAND) $(MAKEDIR_COMMAND_OPTIONS) $(DESTDIR)$(IEGGDIR) 
792        $(MAKEDIR_COMMAND) $(MAKEDIR_COMMAND_OPTIONS) $(DESTDIR)$(IINCDIR)
793        $(MAKEDIR_COMMAND) $(MAKEDIR_COMMAND_OPTIONS) $(DESTDIR)$(IBINDIR)
794        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_STATIC_LIBRARY_OPTIONS) libchicken$(A) $(DESTDIR)$(ILIBDIR)
795        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_STATIC_LIBRARY_OPTIONS) libuchicken$(A) $(DESTDIR)$(ILIBDIR)
796ifneq ($(LIBCHICKEN_IMPORT_LIBRARY),)
797        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_STATIC_LIBRARY_OPTIONS) $(LIBCHICKEN_IMPORT_LIBRARY) $(DESTDIR)$(ILIBDIR)
798        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_STATIC_LIBRARY_OPTIONS) $(LIBUCHICKEN_IMPORT_LIBRARY) $(DESTDIR)$(ILIBDIR)
799ifdef WINDOWS
800        -$(INSTALL_PROGRAM) $(INSTALL_PROGRAM_STATIC_LIBRARY_OPTIONS) libchickengui$(A) $(DESTDIR)$(ILIBDIR)
801        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_STATIC_LIBRARY_OPTIONS) $(LIBCHICKENGUI_IMPORT_LIBRARY) $(DESTDIR)$(ILIBDIR)
802endif
803endif
804ifneq ($(POSTINSTALL_STATIC_LIBRARY),true)
805ifdef WINDOWS
806        $(POSTINSTALL_STATIC_LIBRARY) $(POSTINSTALL_STATIC_LIBRARY_FLAGS) \
807          $(ILIBDIR)\\libchicken$(A)
808        $(POSTINSTALL_STATIC_LIBRARY) $(POSTINSTALL_STATIC_LIBRARY_FLAGS) \
809          $(ILIBDIR)\\libuchicken$(A)
810else
811        $(POSTINSTALL_STATIC_LIBRARY) $(POSTINSTALL_STATIC_LIBRARY_FLAGS) \
812          $(ILIBDIR)/libchicken$(A)
813        $(POSTINSTALL_STATIC_LIBRARY) $(POSTINSTALL_STATIC_LIBRARY_FLAGS) \
814          $(ILIBDIR)/libuchicken$(A)
815endif
816endif
817        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) $(SRCDIR)chicken.h $(DESTDIR)$(IINCDIR)
818        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) $(CHICKEN_CONFIG_H) $(DESTDIR)$(IINCDIR)
819ifndef STATICBUILD
820ifdef DLLSINPATH
821        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS) $(LIBCHICKEN_SO_FILE) $(DESTDIR)$(IBINDIR)
822        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS) $(LIBUCHICKEN_SO_FILE) $(DESTDIR)$(IBINDIR)
823else
824        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS) $(LIBCHICKEN_SO_FILE) $(DESTDIR)$(ILIBDIR)
825        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS) $(LIBUCHICKEN_SO_FILE) $(DESTDIR)$(ILIBDIR)
826endif
827ifdef SONAME_VERSION
828        cd $(DESTDIR)$(ILIBDIR)  && ln -sf $(LIBCHICKEN_SO_FILE) libchicken$(SO)
829        cd $(DESTDIR)$(ILIBDIR)  && ln -sf $(LIBUCHICKEN_SO_FILE) libuchicken$(SO)
830endif
831ifdef WINDOWS
832        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS) libchickengui$(SO) \
833          $(DESTDIR)$(IBINDIR)
834endif
835endif
836
837install-manifests:
838ifneq ($(CHICKEN_MANIFEST),)
839# ignore missing manifests since they don't exist for MSVC versions < 8.0
840        -$(INSTALL_PROGRAM) $(INSTALL_MANIFEST_OPTIONS) $(CHICKEN_MANIFEST) $(DESTDIR)$(IBINDIR)
841        -$(INSTALL_PROGRAM) $(INSTALL_MANIFEST_OPTIONS) $(CSI_MANIFEST) $(DESTDIR)$(IBINDIR)
842        -$(INSTALL_PROGRAM) $(INSTALL_MANIFEST_OPTIONS) $(CHICKEN_PROFILE_MANIFEST) $(DESTDIR)$(IBINDIR)
843        -$(INSTALL_PROGRAM) $(INSTALL_MANIFEST_OPTIONS) $(CSC_MANIFEST) $(DESTDIR)$(IBINDIR)
844        -$(INSTALL_PROGRAM) $(INSTALL_MANIFEST_OPTIONS) $(CHICKEN_BUG_MANIFEST) $(DESTDIR)$(IBINDIR)
845ifndef STATICBUILD
846        -$(INSTALL_PROGRAM) $(INSTALL_MANIFEST_OPTIONS) $(CHICKEN_SETUP_MANIFEST) $(DESTDIR)$(IBINDIR)
847endif
848endif
849
850ifeq ($(NEEDS_RELINKING),yes)
851install:
852        $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) $(CHICKEN_PROGRAM)$(EXE) \
853          $(CSI_PROGRAM)$(EXE) $(CSC_PROGRAM)$(EXE) $(CHICKEN_PROFILE_PROGRAM)$(EXE) \
854          $(CHICKEN_SETUP_PROGRAM)$(EXE)
855        $(MAKE) -f $(SRCDIR)Makefile.$(PLATFORM) NEEDS_RELINKING=no RUNTIME_LINKER_PATH=$(LIBDIR) install
856        $(MAKE_WRITABLE_COMMAND) $(CHICKEN_PROGRAM)$(EXE) $(CSI_PROGRAM)$(EXE) \
857          $(CSC_PROGRAM)$(EXE) $(CHICKEN_PROFILE_PROGRAM)$(EXE)
858ifndef STATICBUILD
859        $(MAKE_WRITABLE_COMMAND) $(CHICKEN_SETUP_PROGRAM)$(EXE)
860endif
861else
862install: $(TARGETS) install-libs install-manifests
863ifneq ($(DESTDIR),)
864        $(MAKEDIR_COMMAND) $(MAKEDIR_COMMAND_OPTIONS) $(DESTDIR) 
865endif
866        $(MAKEDIR_COMMAND) $(MAKEDIR_COMMAND_OPTIONS) $(DESTDIR)$(IBINDIR) 
867        $(MAKEDIR_COMMAND) $(MAKEDIR_COMMAND_OPTIONS) $(DESTDIR)$(ITOPMANDIR) 
868        $(MAKEDIR_COMMAND) $(MAKEDIR_COMMAND_OPTIONS) $(DESTDIR)$(IMANDIR) 
869        $(MAKEDIR_COMMAND) $(MAKEDIR_COMMAND_OPTIONS) $(DESTDIR)$(IINFODIR)
870        $(MAKEDIR_COMMAND) $(MAKEDIR_COMMAND_OPTIONS) $(DESTDIR)$(IDOCDIR)
871        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_EXECUTABLE_OPTIONS) $(CHICKEN_PROGRAM)$(EXE) $(DESTDIR)$(IBINDIR)
872        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_EXECUTABLE_OPTIONS) $(CSI_PROGRAM)$(EXE) $(DESTDIR)$(IBINDIR)
873        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_EXECUTABLE_OPTIONS) $(CHICKEN_PROFILE_PROGRAM)$(EXE) $(DESTDIR)$(IBINDIR)
874        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_EXECUTABLE_OPTIONS) $(CSC_PROGRAM)$(EXE) $(DESTDIR)$(IBINDIR)
875        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_EXECUTABLE_OPTIONS) $(CHICKEN_BUG_PROGRAM)$(EXE) $(DESTDIR)$(IBINDIR)
876ifneq ($(POSTINSTALL_PROGRAM),true)
877        $(POSTINSTALL_PROGRAM) $(POSTINSTALL_PROGRAM_FLAGS) $(DESTDIR)$(IBINDIR)/$(CHICKEN_PROGRAM)
878        $(POSTINSTALL_PROGRAM) $(POSTINSTALL_PROGRAM_FLAGS) $(DESTDIR)$(IBINDIR)/$(CSI_PROGRAM)
879        $(POSTINSTALL_PROGRAM) $(POSTINSTALL_PROGRAM_FLAGS) $(DESTDIR)$(IBINDIR)/$(CHICKEN_PROFILE_PROGRAM)
880        $(POSTINSTALL_PROGRAM) $(POSTINSTALL_PROGRAM_FLAGS) $(DESTDIR)$(IBINDIR)/$(CSC_PROGRAM)
881        $(POSTINSTALL_PROGRAM) $(POSTINSTALL_PROGRAM_FLAGS) $(DESTDIR)$(IBINDIR)/$(CHICKEN_BUG_PROGRAM)
882endif
883ifndef STATICBUILD
884        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_EXECUTABLE_OPTIONS) $(CHICKEN_SETUP_PROGRAM)$(EXE) \
885          $(DESTDIR)$(IBINDIR)
886ifneq ($(POSTINSTALL_PROGRAM),true)
887        $(POSTINSTALL_PROGRAM) $(POSTINSTALL_PROGRAM_FLAGS) $(DESTDIR)$(IBINDIR)/$(CHICKEN_SETUP_PROGRAM)
888endif
889endif
890        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) $(SRCDIR)chicken.1 $(DESTDIR)$(IMANDIR)
891        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) $(SRCDIR)csi.1 $(DESTDIR)$(IMANDIR)
892        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) $(SRCDIR)csc.1 $(DESTDIR)$(IMANDIR)
893        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) $(SRCDIR)chicken-setup.1 $(DESTDIR)$(IMANDIR)
894        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) $(SRCDIR)chicken-profile.1 $(DESTDIR)$(IMANDIR)
895        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) $(SRCDIR)chicken-bug.1 $(DESTDIR)$(IMANDIR)
896        $(MAKEDIR_COMMAND) $(MAKEDIR_COMMAND_OPTIONS) $(DESTDIR)$(IDOCDIR)/html
897        -$(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) $(SRCDIR)html/* $(DESTDIR)$(IDOCDIR)/html
898        -$(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) $(SRCDIR)chicken.pdf $(DESTDIR)$(IDOCDIR)
899        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) $(SRCDIR)README $(DESTDIR)$(IDOCDIR)
900        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) $(SRCDIR)LICENSE $(DESTDIR)$(IDOCDIR)
901        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) $(SRCDIR)chicken-more-macros.scm $(DESTDIR)$(IDATADIR)
902        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) $(SRCDIR)chicken-ffi-macros.scm $(DESTDIR)$(IDATADIR)
903        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) $(SRCDIR)chicken-sys-macros.scm $(DESTDIR)$(IDATADIR)
904        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) *.exports $(DESTDIR)$(IDATADIR)
905        -$(INSTALL_PROGRAM) $(INSTALL_PROGRAM_FILE_OPTIONS) chicken.info $(DESTDIR)$(IINFODIR)
906        $(INSTALLINFO_PROGRAM) $(INSTALLINFO_PROGRAM_OPTIONS) --infodir=$(DESTDIR)$(IINFODIR) chicken.info
907ifdef WINDOWS
908        $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_EXECUTABLE_OPTIONS) $(SRCDIR)csibatch.bat $(DESTDIR)$(IBINDIR)
909endif
910endif
911
912uninstall:
913        $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) $(DESTDIR)$(IBINDIR)/$(CHICKEN_PROGRAM)$(EXE) \
914          $(DESTDIR)$(IBINDIR)/$(CSI_PROGRAM)$(EXE) $(DESTDIR)$(IBINDIR)/$(CHICKEN_PROFILE_PROGRAM)$(EXE) \
915          $(DESTDIR)$(IBINDIR)/$(CHICKEN_SETUP_PROGRAM)$(EXE) $(DESTDIR)$(IBINDIR)/$(CSC_PROGRAM)$(EXE) \
916          $(DESTDIR)$(IBINDIR)/$(CHICKEN_BUG_PROGRAM)$(EXE)
917        $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) $(DESTDIR)$(ILIBDIR)/libchicken*.* $(DESTDIR)$(ILIBDIR)/libuchicken*.* $(DESTDIR)$(IBINDIR)/libchicken*.* $(DESTDIR)$(IBINDIR)/libuchicken*.*
918ifdef ($(PLATFORM),cygwin)
919        $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) $(DESTDIR)$(IBINDIR)/cygchicken* $(DESTDIR)$(IBINDIR)/cyguchicken*
920endif
921ifneq ($(CHICKEN_MANIFEST),)
922        $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) $(DESTDIR)$(IBINDIR)/$(CHICKEN_MANIFEST) \
923        $(DESTDIR)$(IBINDIR)/$(CSI_MANIFEST) $(DESTDIR)$(IBINDIR)/$(CHICKEN_PROFILE_MANIFEST) \
924        $(DESTDIR)$(IBINDIR)/$(CSC_MANIFEST) $(DESTDIR)$(IBINDIR)/$(CHICKEN_BUG_MANIFEST) \
925        $(DESTDIR)$(IBINDIR)/$(CHICKEN_SETUP_MANIFEST)
926endif
927        $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) $(DESTDIR)$(IMANDIR)/chicken.1 $(DESTDIR)$(IMANDIR)/csi.1 \
928          $(DESTDIR)$(IMANDIR)/csc.1 $(DESTDIR)$(IMANDIR)/chicken-profile.1 $(DESTDIR)$(IMANDIR)/chicken-setup.1 \
929          $(DESTDIR)$(IMANDIR)/chicken-bug.1
930        $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) $(DESTDIR)$(IINCDIR)/chicken.h $(DESTDIR)$(IINCDIR)/chicken-config.h
931        $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) $(DESTDIR)$(IINCDIR)/chicken.gch
932        $(REMOVE_COMMAND) $(REMOVE_COMMAND_RECURSIVE_OPTIONS) $(DESTDIR)$(IDATADIR)
933        $(UNINSTALLINFO_PROGRAM) $(UNINSTALLINFO_PROGRAM_OPTIONS) --infodir=$(DESTDIR)$(IINFODIR) chicken.info
934        $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) $(DESTDIR)$(IINFODIR)/chicken.info
935ifdef WINDOWS
936        $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) $(DESTDIR)$(IBINDIR)/csibatch.bat
937endif
938
939# bootstrapping c sources
940
941.SUFFIXES: .scm
942
943library.c: library.scm version.scm banner.scm
944        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) -output-file $@ 
945eval.c: eval.scm
946        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) -output-file $@ 
947data-structures.c: data-structures.scm private-namespace.scm
948        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) -output-file $@ -extend private-namespace.scm
949ports.c: ports.scm private-namespace.scm
950        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) -output-file $@ -extend private-namespace.scm
951files.c: files.scm private-namespace.scm
952        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) -output-file $@ -extend private-namespace.scm
953extras.c: extras.scm private-namespace.scm
954        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) -output-file $@ -extend private-namespace.scm
955lolevel.c: lolevel.scm
956        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) -output-file $@ 
957tcp.c: tcp.scm
958        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) -output-file $@ 
959srfi-1.c: srfi-1.scm
960        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) -output-file $@ 
961srfi-4.c: srfi-4.scm
962        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) -output-file $@ 
963srfi-13.c: srfi-13.scm
964        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) -output-file $@ 
965srfi-14.c: srfi-14.scm
966        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) -output-file $@ 
967srfi-18.c: srfi-18.scm
968        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) -output-file $@ 
969srfi-69.c: srfi-69.scm private-namespace.scm
970        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) -output-file $@ -extend private-namespace.scm
971utils.c: utils.scm
972        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) -output-file $@ 
973posixunix.c: posixunix.scm
974        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) -output-file $@ 
975posixwin.c: posixwin.scm
976        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) -output-file $@ 
977regex.c: regex.scm
978        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) $(CHICKEN_PCRE_LIBRARY_OPTIONS) -output-file $@ 
979scheduler.c: scheduler.scm
980        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) -output-file $@ 
981profiler.c: profiler.scm
982        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) -output-file $@ 
983stub.c: stub.scm
984        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) -output-file $@ 
985match.c: match.scm
986        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) -output-file $@ 
987
988ulibrary.c: library.scm version.scm banner.scm
989        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) $(CHICKEN_UNSAFE_OPTIONS) -output-file $@ 
990ueval.c: eval.scm
991        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) $(CHICKEN_UNSAFE_OPTIONS) -output-file $@ 
992udata-structures.c: data-structures.scm private-namespace.scm
993        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) $(CHICKEN_UNSAFE_OPTIONS) -output-file $@ -extend private-namespace.scm
994uports.c: ports.scm private-namespace.scm
995        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) $(CHICKEN_UNSAFE_OPTIONS) -output-file $@ -extend private-namespace.scm
996ufiles.c: files.scm private-namespace.scm
997        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) $(CHICKEN_UNSAFE_OPTIONS) -output-file $@ -extend private-namespace.scm
998uextras.c: extras.scm private-namespace.scm
999        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) $(CHICKEN_UNSAFE_OPTIONS) -output-file $@ -extend private-namespace.scm
1000ulolevel.c: lolevel.scm
1001        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) $(CHICKEN_UNSAFE_OPTIONS) -output-file $@ 
1002utcp.c: tcp.scm
1003        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) $(CHICKEN_UNSAFE_OPTIONS) -output-file $@ 
1004usrfi-1.c: srfi-1.scm
1005        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) $(CHICKEN_UNSAFE_OPTIONS) -output-file $@ 
1006usrfi-4.c: srfi-4.scm
1007        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) $(CHICKEN_UNSAFE_OPTIONS) -output-file $@ 
1008usrfi-13.c: srfi-13.scm
1009        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) $(CHICKEN_UNSAFE_OPTIONS) -output-file $@ 
1010usrfi-14.c: srfi-14.scm
1011        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) $(CHICKEN_UNSAFE_OPTIONS) -output-file $@ 
1012usrfi-18.c: srfi-18.scm
1013        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) $(CHICKEN_UNSAFE_OPTIONS) -output-file $@ 
1014usrfi-69.c: srfi-69.scm private-namespace.scm
1015        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) $(CHICKEN_UNSAFE_OPTIONS) -output-file $@ -extend private-namespace.scm
1016uutils.c: utils.scm
1017        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) $(CHICKEN_UNSAFE_OPTIONS) -output-file $@ 
1018uposixunix.c: posixunix.scm
1019        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) $(CHICKEN_UNSAFE_OPTIONS) -output-file $@ 
1020uposixwin.c: posixwin.scm
1021        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) $(CHICKEN_UNSAFE_OPTIONS) -output-file $@ 
1022uregex.c: regex.scm
1023        $(CHICKEN) $< $(CHICKEN_LIBRARY_OPTIONS) $(CHICKEN_PCRE_LIBRARY_OPTIONS) $(CHICKEN_UNSAFE_OPTIONS) -output-file $@ 
1024
1025chicken.c: chicken.scm chicken-more-macros.scm chicken-ffi-macros.scm private-namespace.scm
1026        $(CHICKEN) $< $(CHICKEN_COMPILER_OPTIONS) -output-file $@ 
1027support.c: support.scm banner.scm private-namespace.scm
1028        $(CHICKEN) $< $(CHICKEN_COMPILER_OPTIONS) -output-file $@ 
1029compiler.c: compiler.scm private-namespace.scm
1030        $(CHICKEN) $< $(CHICKEN_COMPILER_OPTIONS) -output-file $@ 
1031optimizer.c: optimizer.scm private-namespace.scm
1032        $(CHICKEN) $< $(CHICKEN_COMPILER_OPTIONS) -output-file $@ 
1033batch-driver.c: batch-driver.scm private-namespace.scm
1034        $(CHICKEN) $< $(CHICKEN_COMPILER_OPTIONS) -output-file $@ 
1035c-platform.c: c-platform.scm private-namespace.scm
1036        $(CHICKEN) $< $(CHICKEN_COMPILER_OPTIONS) -output-file $@ 
1037c-backend.c: c-backend.scm private-namespace.scm
1038        $(CHICKEN) $< $(CHICKEN_COMPILER_OPTIONS) -output-file $@ 
1039
1040csi.c: csi.scm banner.scm chicken-more-macros.scm private-namespace.scm
1041        $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@ -extend private-namespace.scm
1042chicken-profile.c: chicken-profile.scm
1043        $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@ 
1044chicken-setup.c: chicken-setup.scm chicken-more-macros.scm
1045        $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@ 
1046csc.c: csc.scm
1047        $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@ 
1048chicken-bug.c: chicken-bug.scm
1049        $(CHICKEN) $< $(CHICKEN_PROGRAM_OPTIONS) -output-file $@ 
1050
1051# distribution files
1052
1053.PHONY: distfiles
1054
1055distfiles: buildsvnrevision library.c eval.c data-structures.c ports.c files.c extras.c lolevel.c utils.c \
1056        tcp.c srfi-1.c srfi-4.c srfi-13.c srfi-14.c srfi-18.c srfi-69.c \
1057        posixunix.c posixwin.c regex.c scheduler.c profiler.c stub.c match.c \
1058        ulibrary.c ueval.c udata-structures.c uports.c ufiles.c uextras.c ulolevel.c \
1059        uutils.c utcp.c usrfi-1.c usrfi-4.c usrfi-13.c usrfi-14.c \
1060        usrfi-18.c usrfi-69.c uposixunix.c uposixwin.c uregex.c \
1061        chicken-profile.c chicken-setup.c csc.c csi.c \
1062        chicken.c batch-driver.c compiler.c optimizer.c support.c \
1063        c-platform.c c-backend.c chicken-bug.c
1064
1065# cleaning up
1066
1067.PHONY: clean distclean spotless confclean
1068
1069ifeq ($(PLATFORM),mingw)
1070CLEAN_PCRE = $(PCRE_DIR)*$(O)
1071CLEAN_MINGW_LIBS = libchickengui.a libchickengui.dll libchickengui.dll.a
1072else
1073CLEAN_PCRE = $(PCRE_DIR)*$(O)
1074CLEAN_MINGW_LIBS =
1075endif
1076
1077clean:
1078        -$(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) chicken$(EXE) csi$(EXE) csc$(EXE) \
1079          chicken-setup$(EXE) chicken-profile$(EXE) csi-static$(EXE) \
1080          csc-static$(EXE) chicken-static$(EXE) chicken-bug$(EXE) chicken.info *$(O) \
1081          $(LIBCHICKEN_SO_FILE) $(LIBUCHICKEN_SO_FILE) $(LIBCHICKENGUI_SO_FILE) \
1082          libchicken$(A) libuchicken$(A) libchickengui$(A) libchicken$(SO) libuchicken$(SO) \
1083          $(PROGRAM_IMPORT_LIBRARIES) $(LIBCHICKEN_IMPORT_LIBRARY) $(LIBUCHICKEN_IMPORT_LIBRARY) \
1084          $(LIBCHICKENGUI_IMPORT_LIBRARY)  $(MSVC_CHICKEN_EXPORT_FILES) \
1085          chicken.info $(CLEAN_PCRE) $(CLEAN_MINGW_LIBS) $(CLEAN_MANIFESTS)
1086confclean:
1087        -$(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) chicken-config.h chicken-defaults.h buildsvnrevision
1088
1089spotless: distclean
1090        -$(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) library.c eval.c data-structures.c ports.c files.c \
1091          extras.c lolevel.c utils.c tcp.c srfi-1.c srfi-4.c srfi-13.c srfi-14.c srfi-18.c srfi-69.c \
1092          posixunix.c posixwin.c regex.c scheduler.c profiler.c stub.c match.c \
1093          ulibrary.c ueval.c udata-structures.c uports.c ufiles.c uextras.c ulolevel.c \
1094          uutils.c utcp.c usrfi-1.c usrfi-4.c usrfi-13.c usrfi-14.c \
1095          usrfi-18.c usrfi-69.c uposixunix.c uposixwin.c uregex.c chicken-profile.c chicken-setup.c chicken-bug.c \
1096          csc.c csi.c \
1097          chicken.c batch-driver.c compiler.c optimizer.c support.c \
1098          c-platform.c c-backend.c *.exports
1099
1100distclean: clean confclean
1101
1102# run tests
1103
1104.PHONY: check fullcheck compiler-check
1105
1106check: all
1107        cd tests; sh runtests.sh
1108
1109# Only for UNIX, yet:
1110
1111fullcheck: check compiler-check
1112
1113compiler-check:
1114        @echo "======================================== packing ..."
1115        $(MAKE) -f $(SRCDIR)Makefile.$(PLATFORM) dist
1116        $(REMOVE_COMMAND $(REMOVE_COMMAND_RECURSIVE_OPTIONS) tests/chicken-*
1117        tar -C tests -xzf `ls -t chicken-*.tar.gz | head -1`
1118        @echo "======================================== building stage 1 ..."
1119        $(MAKE) -f $(SRCDIR)Makefile.$(PLATFORM) STATICBUILD=1 -C tests/chicken-* confclean all
1120        touch tests/chicken-*/*.scm
1121        @echo "======================================== building stage 2 ..."
1122        $(MAKE) -f $(SRCDIR)Makefile.$(PLATFORM) STATICBUILD=1 -C tests/chicken-* confclean all
1123        cat tests/chicken-*/*.c >tests/stage2.out
1124        @echo "======================================== building stage 3 ..."
1125        $(MAKE) -f $(SRCDIR)Makefile.$(PLATFORM) STATICBUILD=1 -C tests/chicken-* confclean all
1126        cat tests/chicken-*/*.c >tests/stage3.out
1127        diff tests/stage2.out tests/stage3.out >tests/stages.diff
1128        $(REMOVE_COMMAND) $(REMOVE_COMMAND_RECURSIVE_OPTIONS) tests/chicken-*
1129
1130
1131# bootstrap from C source tarball
1132
1133.PHONY: bootstrap bootstrap.tar.gz
1134
1135bootstrap: $(SRCDIR)bootstrap.tar.gz
1136        gzip -d -c $(SRCDIR)bootstrap.tar.gz | tar xvf -
1137        touch *.c
1138        $(MAKE) -f $(SRCDIR)Makefile.$(PLATFORM) STATICBUILD=1 chicken$(EXE)
1139        cp chicken$(EXE) chicken-boot$(EXE)
1140        touch *.scm
1141
1142$(SRCDIR)bootstrap.tar.gz: distfiles
1143        tar cfz $(SRCDIR)bootstrap.tar.gz library.c eval.c data-structures.c ports.c files.c extras.c \
1144        lolevel.c utils.c tcp.c srfi-1.c srfi-4.c srfi-13.c srfi-14.c srfi-18.c srfi-69.c \
1145        posixunix.c posixwin.c regex.c scheduler.c profiler.c stub.c match.c $(COMPILER_OBJECTS_1:=.c)
1146
Note: See TracBrowser for help on using the repository browser.