1 | # defaults.make - default settings -*- Makefile -*- |
---|
2 | # |
---|
3 | # Copyright (c) 2007, Felix L. Winkelmann |
---|
4 | # Copyright (c) 2008-2009, 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 | # basic parameters |
---|
29 | |
---|
30 | BINARYVERSION = 4 |
---|
31 | STACKDIRECTION ?= 1 |
---|
32 | CROSS_CHICKEN ?= 0 |
---|
33 | |
---|
34 | ifeq ($(ARCH),x86-64) |
---|
35 | NURSERY ?= (256*1024) |
---|
36 | else |
---|
37 | NURSERY ?= (128*1024) |
---|
38 | endif |
---|
39 | |
---|
40 | # directories |
---|
41 | |
---|
42 | SEP ?= / |
---|
43 | SRCDIR ?= .$(SEP) |
---|
44 | DESTDIR ?= |
---|
45 | PREFIX ?= /usr/local |
---|
46 | |
---|
47 | BINDIR = $(PREFIX)/bin |
---|
48 | LIBDIR = $(PREFIX)/lib |
---|
49 | SHAREDIR = $(PREFIX)/share |
---|
50 | DATADIR = $(SHAREDIR)/chicken |
---|
51 | TOPMANDIR = $(SHAREDIR)/man |
---|
52 | MANDIR = $(TOPMANDIR)/man1 |
---|
53 | INFODIR = $(SHAREDIR)/info |
---|
54 | INCDIR = $(PREFIX)/include |
---|
55 | DOCDIR = $(DATADIR)/doc |
---|
56 | CHICKENLIBDIR = $(LIBDIR)/chicken |
---|
57 | EGGDIR = $(CHICKENLIBDIR)/$(BINARYVERSION) |
---|
58 | |
---|
59 | ifdef WINDOWS_SHELL |
---|
60 | SPREFIX = $(subst /,\\,$(PREFIX)) |
---|
61 | IBINDIR = $(SPREFIX)$(SEP)bin |
---|
62 | ILIBDIR = $(SPREFIX)$(SEP)lib |
---|
63 | ISHAREDIR = $(SPREFIX)$(SEP)share |
---|
64 | IDATADIR = $(ISHAREDIR)$(SEP)chicken |
---|
65 | ITOPMANDIR = $(ISHAREDIR)$(SEP)man |
---|
66 | IMANDIR = $(ITOPMANDIR)$(SEP)man1 |
---|
67 | IINFODIR = $(ISHAREDIR)$(SEP)info |
---|
68 | IINCDIR = $(SPREFIX)$(SEP)include |
---|
69 | IDOCDIR = $(IDATADIR)$(SEP)doc |
---|
70 | ICHICKENLIBDIR = $(ILIBDIR)$(SEP)chicken |
---|
71 | IEGGDIR = $(ICHICKENLIBDIR)$(SEP)$(BINARYVERSION) |
---|
72 | else |
---|
73 | SPREFIX = $(PREFIX) |
---|
74 | IBINDIR = $(BINDIR) |
---|
75 | ILIBDIR = $(LIBDIR) |
---|
76 | ISHAREDIR = $(SHAREDIR) |
---|
77 | IDATADIR = $(DATADIR) |
---|
78 | ITOPMANDIR = $(TOPMANDIR) |
---|
79 | IMANDIR = $(MANDIR) |
---|
80 | IINFODIR = $(INFODIR) |
---|
81 | IINCDIR = $(INCDIR) |
---|
82 | IDOCDIR = $(DOCDIR) |
---|
83 | ICHICKENLIBDIR = $(CHICKENLIBDIR) |
---|
84 | IEGGDIR = $(EGGDIR) |
---|
85 | endif |
---|
86 | |
---|
87 | RUNTIME_LINKER_PATH ?= . |
---|
88 | |
---|
89 | # commands |
---|
90 | |
---|
91 | ifdef HOSTSYSTEM |
---|
92 | C_COMPILER ?= $(HOSTSYSTEM)-gcc |
---|
93 | CXX_COMPILER ?= $(HOSTSYSTEM)-g++ |
---|
94 | LIBRARIAN ?= $(HOSTSYSTEM)-ar |
---|
95 | else |
---|
96 | C_COMPILER ?= gcc |
---|
97 | CXX_COMPILER ?= g++ |
---|
98 | LIBRARIAN ?= ar |
---|
99 | endif |
---|
100 | LINKER ?= $(C_COMPILER) |
---|
101 | ifdef WINDOWS_SHELL |
---|
102 | REMOVE_COMMAND ?= del |
---|
103 | else |
---|
104 | REMOVE_COMMAND ?= rm |
---|
105 | endif |
---|
106 | ASSEMBLER ?= $(C_COMPILER) |
---|
107 | MAKEINFO_PROGRAM ?= -makeinfo |
---|
108 | ifdef WINDOWS_SHELL |
---|
109 | INSTALL_PROGRAM ?= copy |
---|
110 | MAKEDIR_COMMAND ?= -mkdir |
---|
111 | else |
---|
112 | INSTALL_PROGRAM ?= install |
---|
113 | MAKEDIR_COMMAND ?= mkdir |
---|
114 | endif |
---|
115 | POSTINSTALL_STATIC_LIBRARY ?= true |
---|
116 | POSTINSTALL_PROGRAM ?= true |
---|
117 | INSTALLINFO_PROGRAM ?= -install-info |
---|
118 | UNINSTALLINFO_PROGRAM ?= -install-info |
---|
119 | |
---|
120 | # cross tools |
---|
121 | |
---|
122 | HOST_C_COMPILER ?= $(C_COMPILER) |
---|
123 | HOST_LIBRARIAN ?= $(LIBRARIAN) |
---|
124 | |
---|
125 | # target variables |
---|
126 | |
---|
127 | ifdef TARGETSYSTEM |
---|
128 | TARGET_C_COMPILER ?= $(TARGETSYSTEM)-$(C_COMPILER) |
---|
129 | TARGET_CXX_COMPILER ?= $(TARGETSYSTEM)-$(CXX_COMPILER) |
---|
130 | else |
---|
131 | TARGET_C_COMPILER ?= $(C_COMPILER) |
---|
132 | TARGET_CXX_COMPILER ?= $(CXX_COMPILER) |
---|
133 | endif |
---|
134 | |
---|
135 | TARGET_C_COMPILER_OPTIONS ?= $(C_COMPILER_OPTIONS) |
---|
136 | TARGET_C_COMPILER_OPTIMIZATION_OPTIONS ?= $(C_COMPILER_OPTIMIZATION_OPTIONS) |
---|
137 | TARGET_PREFIX ?= $(PREFIX) |
---|
138 | TARGET_RUN_PREFIX ?= $(TARGET_PREFIX) |
---|
139 | TARGET_LIBRARIES ?= $(LIBRARIES) |
---|
140 | TARGET_LINKER_OPTIONS ?= $(LINKER_OPTIONS) |
---|
141 | |
---|
142 | ifneq ($(TARGET_C_COMPILER),$(C_COMPILER)) |
---|
143 | CROSS_CHICKEN = 1 |
---|
144 | else |
---|
145 | CROSS_CHICKEN = 0 |
---|
146 | endif |
---|
147 | |
---|
148 | |
---|
149 | # options |
---|
150 | |
---|
151 | ifndef NOPTABLES |
---|
152 | C_COMPILER_PTABLES_OPTIONS ?= -DC_ENABLE_PTABLES |
---|
153 | endif |
---|
154 | INCLUDES ?= -I. -I$(SRCDIR) |
---|
155 | C_COMPILER_COMPILE_OPTION ?= -c |
---|
156 | C_COMPILER_OUTPUT_OPTION ?= -o |
---|
157 | C_COMPILER_OUTPUT ?= $(C_COMPILER_OUTPUT_OPTION) $@ |
---|
158 | |
---|
159 | ifdef DEBUGBUILD |
---|
160 | ifeq ($(C_COMPILER),gcc) |
---|
161 | C_COMPILER_OPTIMIZATION_OPTIONS ?= -g -Wall -Wno-unused |
---|
162 | endif |
---|
163 | endif |
---|
164 | C_COMPILER_BUILD_RUNTIME_OPTIONS ?= -DC_BUILDING_LIBCHICKEN |
---|
165 | C_COMPILER_BUILD_UNSAFE_RUNTIME_OPTIONS ?= $(C_COMPILER_BUILD_RUNTIME_OPTIONS) -DNDEBUG -DC_UNSAFE_RUNTIME |
---|
166 | C_COMPILER_SHARED_OPTIONS ?= -fPIC -DPIC |
---|
167 | LINKER_EXECUTABLE_OPTIONS ?= -L. |
---|
168 | LINKER_STATIC_OPTIONS ?= $(LINKER_EXECUTABLE_OPTIONS) |
---|
169 | LINKER_OUTPUT_OPTION ?= -o |
---|
170 | LINKER_OUTPUT ?= $(LINKER_OUTPUT_OPTION) $@ |
---|
171 | LINKER_LIBRARY_OPTION ?= -l |
---|
172 | ifdef STATICBUILD |
---|
173 | LINKER_LIBRARY_PREFIX ?= lib |
---|
174 | LINKER_LIBRARY_SUFFIX ?= .a |
---|
175 | else |
---|
176 | LINKER_LIBRARY_PREFIX ?= -l |
---|
177 | LINKER_LIBRARY_SUFFIX ?= |
---|
178 | endif |
---|
179 | LINKER_LINK_SHARED_LIBRARY_OPTIONS ?= -shared |
---|
180 | LINKER_LINK_SHARED_DLOADABLE_OPTIONS ?= -shared -L. |
---|
181 | LIBRARIAN_OPTIONS ?= cru |
---|
182 | LIBRARIAN_OUTPUT_OPTION ?= |
---|
183 | LIBRARIAN_OUTPUT ?= $(LIBRARIAN_OUTPUT_OPTION) $@ |
---|
184 | LIBRARIES ?= -lm |
---|
185 | ifdef WINDOWS_SHELL |
---|
186 | REMOVE_COMMAND_OPTIONS ?= /f /q |
---|
187 | REMOVE_COMMAND_RECURSIVE_OPTIONS ?= /f /s /q |
---|
188 | MAKE_WRITABLE_COMMAND ?= rem |
---|
189 | else |
---|
190 | REMOVE_COMMAND_OPTIONS ?= -f |
---|
191 | REMOVE_COMMAND_RECURSIVE_OPTIONS ?= -fr |
---|
192 | MAKE_WRITABLE_COMMAND ?= chmod 0755 |
---|
193 | endif |
---|
194 | MAKEINFO_PROGRAM_OPTIONS ?= --no-split |
---|
195 | ifndef WINDOWS_SHELL |
---|
196 | INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS ?= -m755 |
---|
197 | INSTALL_PROGRAM_STATIC_LIBRARY_OPTIONS ?= -m644 |
---|
198 | INSTALL_PROGRAM_EXECUTABLE_OPTIONS ?= -m755 |
---|
199 | INSTALL_PROGRAM_FILE_OPTIONS ?= -m644 |
---|
200 | MAKEDIR_COMMAND_OPTIONS ?= -p |
---|
201 | endif |
---|
202 | ASSEMBLER_OPTIONS ?= $(C_COMPILER_OPTIONS) |
---|
203 | ASSEMBLER_OUTPUT_OPTION ?= -o |
---|
204 | ASSEMBLER_OUTPUT ?= $(ASSEMBLER_OUTPUT_OPTION) $@ |
---|
205 | ASSEMBLER_COMPILE_OPTION ?= -c |
---|
206 | ifdef STATICBUILD |
---|
207 | PRIMARY_LIBCHICKEN ?= libchicken$(A) |
---|
208 | else |
---|
209 | ifeq ($(PLATFORM),cygwin) |
---|
210 | PRIMARY_LIBCHICKEN = cygchicken-0.dll |
---|
211 | LIBCHICKEN_SO_FILE = cygchicken-0.dll |
---|
212 | LIBUCHICKEN_SO_FILE = cyguchicken-0.dll |
---|
213 | LIBCHICKENGUI_SO_FILE ?= |
---|
214 | else |
---|
215 | PRIMARY_LIBCHICKEN ?= libchicken$(SO)$(SONAME_VERSION) |
---|
216 | LIBCHICKEN_SO_FILE ?= libchicken$(SO)$(SONAME_VERSION) |
---|
217 | LIBUCHICKEN_SO_FILE ?= libuchicken$(SO)$(SONAME_VERSION) |
---|
218 | LIBCHICKENGUI_SO_FILE ?= |
---|
219 | endif |
---|
220 | endif |
---|
221 | UNINSTALLINFO_PROGRAM_OPTIONS ?= --delete |
---|
222 | LIBCHICKEN_SO_LIBRARIES ?= $(LIBRARIES) |
---|
223 | LIBUCHICKEN_SO_LIBRARIES ?= $(LIBRARIES) |
---|
224 | LIBCHICKENGUI_SO_LIBRARIES ?= $(LIBRARIES) |
---|
225 | |
---|
226 | # cross settings |
---|
227 | |
---|
228 | HOST_C_COMPILER_OPTIONS ?= $(C_COMPILER_OPTIONS) |
---|
229 | HOST_C_COMPILER_PTABLES_OPTIONS ?= $(C_COMPILER_PTABLES_OPTIONS) |
---|
230 | HOST_C_COMPILER_COMPILE_OPTION ?= $(C_COMPILER_COMPILE_OPTION) |
---|
231 | HOST_C_COMPILER_OPTIMIZATION_OPTIONS ?= $(C_COMPILER_OPTIMIZATION_OPTIONS) |
---|
232 | HOST_C_COMPILER_SHARED_OPTIONS ?= $(C_COMPILER_SHARED_OPTIONS) |
---|
233 | HOST_C_COMPILER_BUILD_RUNTIME_OPTIONS ?= $(C_COMPILER_BUILD_RUNTIME_OPTIONS) |
---|
234 | HOST_C_COMPILER_OUTPUT ?= $(C_COMPILER_OUTPUT) |
---|
235 | HOST_INCLUDES ?= $(INCLUDES) |
---|
236 | HOST_LINKER ?= $(LINKER) |
---|
237 | HOST_LINKER_OPTIONS ?= $(LINKER_OPTIONS) |
---|
238 | HOST_LINKER_LINK_SHARED_DLOADABLE_OPTIONS ?= $(LINKER_LINK_SHARED_DLOADABLE_OPTIONS) |
---|
239 | HOST_LINKER_OUTPUT_OPTION ?= $(LINKER_OUTPUT_OPTION) |
---|
240 | HOST_LINKER_LIBRARY_PREFIX ?= $(LINKER_LIBRARY_PREFIX) |
---|
241 | HOST_LINKER_LIBRARY_SUFFIX ?= $(LINKER_LIBRARY_SUFFIX) |
---|
242 | HOST_LIBRARIES ?= $(LIBRARIES) |
---|
243 | |
---|
244 | # other settings |
---|
245 | |
---|
246 | HOSTNAME ?= $(shell hostname) |
---|
247 | |
---|
248 | ifdef WINDOWS_SHELL |
---|
249 | BUILD_TIME ?= $(shell date /t) |
---|
250 | COPY_COMMAND = copy /Y |
---|
251 | else |
---|
252 | BUILD_TIME ?= $(shell date +%Y-%m-%d) |
---|
253 | UNAME_SYS ?= $(shell uname) |
---|
254 | COPY_COMMAND = cp |
---|
255 | endif |
---|
256 | BUILD_TAG ?= compiled $(BUILD_TIME) on $(HOSTNAME) ($(UNAME_SYS)) |
---|
257 | COPYMANY = |
---|
258 | |
---|
259 | |
---|
260 | # file extensions |
---|
261 | |
---|
262 | O ?= .o |
---|
263 | A ?= .a |
---|
264 | # EXE ?= |
---|
265 | SO ?= .so |
---|
266 | ASM ?= .s |
---|
267 | |
---|
268 | # special files |
---|
269 | |
---|
270 | POSIXFILE ?= posixunix |
---|
271 | CHICKEN_CONFIG_H = chicken-config.h |
---|
272 | |
---|
273 | ifneq ($(ARCH),) |
---|
274 | HACKED_APPLY ?= 1 |
---|
275 | APPLY_HACK_SRC ?= apply-hack.$(ARCH)$(ASM) |
---|
276 | APPLY_HACK_OBJECT ?= apply-hack.$(ARCH)$(O) |
---|
277 | endif |
---|
278 | |
---|
279 | # bootstrapping compiler |
---|
280 | |
---|
281 | CHICKEN ?= chicken$(EXE) |
---|
282 | |
---|
283 | # interpreter for scripts |
---|
284 | |
---|
285 | CSI ?= csi$(EXE) |
---|
286 | |
---|
287 | # Scheme compiler flags |
---|
288 | |
---|
289 | CHICKEN_OPTIONS = \ |
---|
290 | -no-trace -optimize-level 2 \ |
---|
291 | -include-path . -include-path $(SRCDIR) |
---|
292 | ifdef DEBUGBUILD |
---|
293 | CHICKEN_OPTIONS += -feature debugbuild |
---|
294 | endif |
---|
295 | CHICKEN_LIBRARY_OPTIONS = $(CHICKEN_OPTIONS) -explicit-use |
---|
296 | CHICKEN_PROGRAM_OPTIONS = $(CHICKEN_OPTIONS) -no-lambda-info -inline -local |
---|
297 | CHICKEN_COMPILER_OPTIONS = $(CHICKEN_PROGRAM_OPTIONS) -extend private-namespace.scm |
---|
298 | CHICKEN_UNSAFE_OPTIONS = -unsafe -no-lambda-info |
---|
299 | CHICKEN_DYNAMIC_OPTIONS = $(CHICKEN_OPTIONS) -feature chicken-compile-shared -dynamic |
---|
300 | CHICKEN_IMPORT_LIBRARY_OPTIONS = $(CHICKEN_DYNAMIC_OPTIONS) |
---|
301 | |
---|
302 | # targets |
---|
303 | |
---|
304 | CHICKEN_PROGRAM = $(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX) |
---|
305 | CSC_PROGRAM = $(PROGRAM_PREFIX)csc$(PROGRAM_SUFFIX) |
---|
306 | CSI_PROGRAM = $(PROGRAM_PREFIX)csi$(PROGRAM_SUFFIX) |
---|
307 | CHICKEN_PROFILE_PROGRAM = $(PROGRAM_PREFIX)chicken-profile$(PROGRAM_SUFFIX) |
---|
308 | CHICKEN_INSTALL_PROGRAM = $(PROGRAM_PREFIX)chicken-install$(PROGRAM_SUFFIX) |
---|
309 | CHICKEN_UNINSTALL_PROGRAM = $(PROGRAM_PREFIX)chicken-uninstall$(PROGRAM_SUFFIX) |
---|
310 | CHICKEN_STATUS_PROGRAM = $(PROGRAM_PREFIX)chicken-status$(PROGRAM_SUFFIX) |
---|
311 | CHICKEN_BUG_PROGRAM = $(PROGRAM_PREFIX)chicken-bug$(PROGRAM_SUFFIX) |
---|
312 | IMPORT_LIBRARIES = chicken lolevel srfi-1 srfi-4 data-structures ports files posix srfi-13 srfi-69 extras \ |
---|
313 | regex srfi-14 tcp foreign compiler scheme srfi-18 utils csi irregex |
---|
314 | IMPORT_LIBRARIES += setup-api setup-download |
---|
315 | |
---|
316 | ifdef STATICBUILD |
---|
317 | CHICKEN_STATIC_EXECUTABLE = $(CHICKEN_PROGRAM)$(EXE) |
---|
318 | CSI_STATIC_EXECUTABLE = $(CSI_PROGRAM)$(EXE) |
---|
319 | CHICKEN_SHARED_EXECUTABLE = $(CHICKEN_PROGRAM)-shared$(EXE) |
---|
320 | CSI_SHARED_EXECUTABLE = $(CSI_PROGRAM)-shared$(EXE) |
---|
321 | TARGETLIBS ?= libchicken$(A) libuchicken$(A) |
---|
322 | TARGETS ?= $(TARGETLIBS) $(CHICKEN_STATIC_EXECUTABLE) \ |
---|
323 | $(CSI_STATIC_EXECUTABLE) $(CHICKEN_PROFILE_PROGRAM)$(EXE) \ |
---|
324 | $(CSC_PROGRAM)$(EXE) \ |
---|
325 | chicken.info $(CHICKEN_BUG_PROGRAM)$(EXE) |
---|
326 | else |
---|
327 | CHICKEN_STATIC_EXECUTABLE = $(CHICKEN_PROGRAM)-static$(EXE) |
---|
328 | CSI_STATIC_EXECUTABLE = $(CSI_PROGRAM)-static$(EXE) |
---|
329 | CHICKEN_SHARED_EXECUTABLE = $(CHICKEN_PROGRAM)$(EXE) |
---|
330 | CSI_SHARED_EXECUTABLE = $(CSI_PROGRAM)$(EXE) |
---|
331 | TARGETLIBS ?= libchicken$(A) libuchicken$(A) \ |
---|
332 | $(LIBCHICKEN_SO_FILE) $(LIBUCHICKEN_SO_FILE) |
---|
333 | TARGETS ?= $(TARGETLIBS) $(CHICKEN_SHARED_EXECUTABLE) \ |
---|
334 | $(CSI_SHARED_EXECUTABLE) $(CHICKEN_PROFILE_PROGRAM)$(EXE) \ |
---|
335 | $(CSC_PROGRAM)$(EXE) $(CHICKEN_INSTALL_PROGRAM)$(EXE) $(CHICKEN_UNINSTALL_PROGRAM)$(EXE) \ |
---|
336 | $(CHICKEN_STATUS_PROGRAM)$(EXE) setup-download.so setup-api.so \ |
---|
337 | chicken.info $(CHICKEN_BUG_PROGRAM)$(EXE) \ |
---|
338 | $(IMPORT_LIBRARIES:%=%.import.so) |
---|
339 | endif |
---|
340 | |
---|
341 | # main rule |
---|
342 | |
---|
343 | .PHONY: buildsvnrevision all |
---|
344 | |
---|
345 | all: buildsvnrevision $(TARGETS) |
---|
346 | |
---|
347 | buildsvnrevision: |
---|
348 | ifdef WINDOWS_SHELL |
---|
349 | else |
---|
350 | sh $(SRCDIR)svnrevision.sh |
---|
351 | endif |
---|
352 | |
---|
353 | # generic part of chicken-config.h |
---|
354 | |
---|
355 | ifndef CUSTOM_CHICKEN_DEFAULTS |
---|
356 | chicken-defaults.h: buildsvnrevision |
---|
357 | echo "/* generated */" >$@ |
---|
358 | echo "#define C_BUILD_TAG \"$(BUILD_TAG)\"" >>$@ |
---|
359 | echo "#define C_CHICKEN_PROGRAM \"$(CHICKEN_PROGRAM)$(EXE)\"" >>$@ |
---|
360 | echo "#define C_SVN_REVISION $(shell cat buildsvnrevision)" >>$@ |
---|
361 | echo "#ifndef C_INSTALL_CC" >>$@ |
---|
362 | echo "# define C_INSTALL_CC \"$(C_COMPILER)\"" >>$@ |
---|
363 | echo "#endif" >>$@ |
---|
364 | echo "#ifndef C_INSTALL_CXX" >>$@ |
---|
365 | echo "# define C_INSTALL_CXX \"$(CXX_COMPILER)\"" >>$@ |
---|
366 | echo "#endif" >>$@ |
---|
367 | echo "#ifndef C_INSTALL_CFLAGS" >>$@ |
---|
368 | echo "# define C_INSTALL_CFLAGS \"$(C_COMPILER_OPTIONS) $(C_COMPILER_OPTIMIZATION_OPTIONS)\"" >>$@ |
---|
369 | echo "#endif" >>$@ |
---|
370 | echo "#ifndef C_INSTALL_LDFLAGS" >>$@ |
---|
371 | echo "# define C_INSTALL_LDFLAGS \"$(LINKER_OPTIONS) $(LINKER_OPTIMIZATION_OPTIONS)\"" >>$@ |
---|
372 | echo "#endif" >>$@ |
---|
373 | echo "#ifndef C_INSTALL_SHARE_HOME" >>$@ |
---|
374 | echo "# define C_INSTALL_SHARE_HOME \"$(DATADIR)\"" >>$@ |
---|
375 | echo "#endif" >>$@ |
---|
376 | echo "#ifndef C_INSTALL_BIN_HOME" >>$@ |
---|
377 | echo "# define C_INSTALL_BIN_HOME \"$(BINDIR)\"" >>$@ |
---|
378 | echo "#endif" >>$@ |
---|
379 | echo "#ifndef C_INSTALL_EGG_HOME" >>$@ |
---|
380 | echo "# define C_INSTALL_EGG_HOME \"$(EGGDIR)\"" >>$@ |
---|
381 | echo "#endif" >>$@ |
---|
382 | echo "#ifndef C_INSTALL_LIB_HOME" >>$@ |
---|
383 | echo "# define C_INSTALL_LIB_HOME \"$(LIBDIR)\"" >>$@ |
---|
384 | echo "#endif" >>$@ |
---|
385 | echo "#ifndef C_INSTALL_STATIC_LIB_HOME" >>$@ |
---|
386 | echo "# define C_INSTALL_STATIC_LIB_HOME \"$(LIBDIR)\"" >>$@ |
---|
387 | echo "#endif" >>$@ |
---|
388 | echo "#ifndef C_INSTALL_INCLUDE_HOME" >>$@ |
---|
389 | echo "# define C_INSTALL_INCLUDE_HOME \"$(INCDIR)\"" >>$@ |
---|
390 | echo "#endif" >>$@ |
---|
391 | echo "#ifndef C_INSTALL_MORE_LIBS" >>$@ |
---|
392 | echo "# define C_INSTALL_MORE_LIBS \"$(LIBRARIES)\"" >>$@ |
---|
393 | echo "#endif" >>$@ |
---|
394 | echo "#ifndef C_INSTALL_MORE_STATIC_LIBS" >>$@ |
---|
395 | echo "# define C_INSTALL_MORE_STATIC_LIBS \"$(LIBRARIES)\"" >>$@ |
---|
396 | echo "#endif" >>$@ |
---|
397 | echo "#ifndef C_DEFAULT_TARGET_STACK_SIZE" >>$@ |
---|
398 | echo "# define C_DEFAULT_TARGET_STACK_SIZE $(NURSERY)" >>$@ |
---|
399 | echo "#endif" >>$@ |
---|
400 | echo "#ifndef C_DEFAULT_TARGET_HEAP_SIZE" >>$@ |
---|
401 | echo "# define C_DEFAULT_TARGET_HEAP_SIZE 0" >>$@ |
---|
402 | echo "#endif" >>$@ |
---|
403 | echo "#ifndef C_STACK_GROWS_DOWNWARD" >>$@ |
---|
404 | echo "# define C_STACK_GROWS_DOWNWARD $(STACKDIRECTION)" >>$@ |
---|
405 | echo "#endif" >>$@ |
---|
406 | echo "#ifndef C_TARGET_MORE_LIBS" >>$@ |
---|
407 | echo "# define C_TARGET_MORE_LIBS \"$(TARGET_LIBRARIES)\"" >>$@ |
---|
408 | echo "#endif" >>$@ |
---|
409 | echo "#ifndef C_TARGET_MORE_STATIC_LIBS" >>$@ |
---|
410 | echo "# define C_TARGET_MORE_STATIC_LIBS \"$(TARGET_LIBRARIES)\"" >>$@ |
---|
411 | echo "#endif" >>$@ |
---|
412 | echo "#ifndef C_TARGET_CC" >>$@ |
---|
413 | echo "# define C_TARGET_CC \"$(TARGET_C_COMPILER)\"" >>$@ |
---|
414 | echo "#endif" >>$@ |
---|
415 | echo "#ifndef C_TARGET_CXX" >>$@ |
---|
416 | echo "# define C_TARGET_CXX \"$(TARGET_CXX_COMPILER)\"" >>$@ |
---|
417 | echo "#endif" >>$@ |
---|
418 | echo "#ifndef C_TARGET_CFLAGS" >>$@ |
---|
419 | echo "# define C_TARGET_CFLAGS \"$(TARGET_C_COMPILER_OPTIONS) $(TARGET_C_COMPILER_OPTIMIZATION_OPTIONS)\"" >>$@ |
---|
420 | echo "#endif" >>$@ |
---|
421 | echo "#ifndef C_TARGET_LDFLAGS" >>$@ |
---|
422 | echo "# define C_TARGET_LDFLAGS \"$(TARGET_LINKER_OPTIONS) $(TARGET_LINKER_OPTIMIZATION_OPTIONS)\"" >>$@ |
---|
423 | echo "#endif" >>$@ |
---|
424 | echo "#ifndef C_CROSS_CHICKEN" >>$@ |
---|
425 | echo "# define C_CROSS_CHICKEN $(CROSS_CHICKEN)" >>$@ |
---|
426 | echo "#endif" >>$@ |
---|
427 | echo "#ifndef C_TARGET_BIN_HOME" >>$@ |
---|
428 | echo "# define C_TARGET_BIN_HOME \"$(TARGET_PREFIX)/bin\"" >>$@ |
---|
429 | echo "#endif" >>$@ |
---|
430 | echo "#ifndef C_TARGET_LIB_HOME" >>$@ |
---|
431 | echo "# define C_TARGET_LIB_HOME \"$(TARGET_PREFIX)/lib\"" >>$@ |
---|
432 | echo "#endif" >>$@ |
---|
433 | echo "#ifndef C_TARGET_RUN_LIB_HOME" >>$@ |
---|
434 | echo "# define C_TARGET_RUN_LIB_HOME \"$(TARGET_RUN_PREFIX)/lib\"" >>$@ |
---|
435 | echo "#endif" >>$@ |
---|
436 | echo "#ifndef C_TARGET_SHARE_HOME" >>$@ |
---|
437 | echo "# define C_TARGET_SHARE_HOME \"$(TARGET_PREFIX)/share\"" >>$@ |
---|
438 | echo "#endif" >>$@ |
---|
439 | echo "#ifndef C_TARGET_INCLUDE_HOME" >>$@ |
---|
440 | echo "# define C_TARGET_INCLUDE_HOME \"$(TARGET_PREFIX)/include\"" >>$@ |
---|
441 | echo "#endif" >>$@ |
---|
442 | echo "#ifndef C_TARGET_STATIC_LIB_HOME" >>$@ |
---|
443 | echo "# define C_TARGET_STATIC_LIB_HOME \"$(TARGET_PREFIX)/lib\"" >>$@ |
---|
444 | echo "#endif" >>$@ |
---|
445 | echo "#ifndef C_CHICKEN_PROGRAM" >>$@ |
---|
446 | echo "# define C_CHICKEN_PROGRAM \"$(CHICKEN_PROGRAM)\"" >>$@ |
---|
447 | echo "#endif" >>$@ |
---|
448 | echo "#ifndef C_CSC_PROGRAM" >>$@ |
---|
449 | echo "# define C_CSC_PROGRAM \"$(CSC_PROGRAM)\"" >>$@ |
---|
450 | echo "#endif" >>$@ |
---|
451 | echo "#ifndef C_CSI_PROGRAM" >>$@ |
---|
452 | echo "# define C_CSI_PROGRAM \"$(CSI_PROGRAM)\"" >>$@ |
---|
453 | echo "#endif" >>$@ |
---|
454 | echo "#ifndef C_CHICKEN_BUG_PROGRAM" >>$@ |
---|
455 | echo "# define C_CHICKEN_BUG_PROGRAM \"$(CHICKEN_BUG_PROGRAM)\"" >>$@ |
---|
456 | echo "#endif" >>$@ |
---|
457 | echo "#ifndef C_WINDOWS_SHELL" >>$@ |
---|
458 | ifdef WINDOWS_SHELL |
---|
459 | echo "# define C_WINDOWS_SHELL 1" >>$@ |
---|
460 | else |
---|
461 | echo "# define C_WINDOWS_SHELL 0" >>$@ |
---|
462 | endif |
---|
463 | echo "#endif" >>$@ |
---|
464 | echo "#ifndef C_BINARY_VERSION" >>$@ |
---|
465 | echo "# define C_BINARY_VERSION $(BINARYVERSION)" >>$@ |
---|
466 | echo "#endif" >>$@ |
---|
467 | endif |
---|