~ chicken-core (chicken-5) /defaults.make
Trap1# defaults.make - default settings -*- Makefile -*-2#3# Copyright (c) 2008-2022, The CHICKEN Team4# Copyright (c) 2007, Felix L. Winkelmann5# All rights reserved.6#7# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following8# conditions are met:9#10# Redistributions of source code must retain the above copyright notice, this list of conditions and the following11# disclaimer.12# Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following13# 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 promote15# 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 EXPRESS18# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY19# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR20# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR21# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR22# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY23# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR24# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE25# POSSIBILITY OF SUCH DAMAGE.262728# basic parameters2930BINARYVERSION = 1131STACKDIRECTION ?= 132CROSS_CHICKEN ?= 03334# directories3536SEP ?= /37DESTDIR ?=38PREFIX ?= /usr/local3940BINDIR ?= $(PREFIX)/bin41LIBDIR ?= $(PREFIX)/lib42SHAREDIR ?= $(PREFIX)/share43DATADIR ?= $(SHAREDIR)/$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)44INCLUDEDIR ?= $(PREFIX)/include45MANDIR ?= $(SHAREDIR)/man4647DOCDIR ?= $(DATADIR)/doc48VARDIR ?= $(LIBDIR)49MAN1DIR ?= $(MANDIR)/man150CHICKENLIBDIR ?= $(VARDIR)/$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)51EGGDIR ?= $(CHICKENLIBDIR)/$(BINARYVERSION)52CHICKENINCDIR ?= $(INCLUDEDIR)/$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)5354# For the windows shell, we must distinguish between paths built into55# binaries (system calls may use slash as a separator) and paths56# passed to shell commands when installing. We prefix the latter with57# an 'I':58INST_DIRS=BINDIR LIBDIR SHAREDIR DATADIR MAN1DIR CHICKENINCDIR DOCDIR EGGDIR59$(foreach dir,$(INST_DIRS),$(eval I$(dir)=$(subst /,$(SEP),$($(dir)))))6061INSTALL_LIB_NAME = $(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)62RUNTIME_LINKER_PATH ?= .6364# commands6566ifdef HOSTSYSTEM67C_COMPILER ?= $(HOSTSYSTEM)-gcc68CXX_COMPILER ?= $(HOSTSYSTEM)-g++69LIBRARIAN ?= $(HOSTSYSTEM)-ar70else71C_COMPILER ?= gcc72CXX_COMPILER ?= g++73LIBRARIAN ?= ar74endif75ifdef WINDOWS76ifdef HOSTSYSTEM77RC_COMPILER ?= $(HOSTSYSTEM)-windres78else79RC_COMPILER ?= windres80endif81endif82LINKER ?= $(C_COMPILER)83ASSEMBLER ?= $(C_COMPILER)84ifdef WINDOWS_SHELL85REMOVE_COMMAND ?= del86INSTALL_PROGRAM ?= copy87MAKEDIR_COMMAND ?= -mkdir88else89REMOVE_COMMAND ?= rm90INSTALL_PROGRAM ?= install91MAKEDIR_COMMAND ?= $(INSTALL_PROGRAM)92endif93PREINSTALL_PROGRAM_FIXUP ?= true94POSTINSTALL_STATIC_LIBRARY ?= true95POSTINSTALL_PROGRAM ?= true9697# target variables9899ifdef TARGETSYSTEM100TARGET_C_COMPILER ?= $(TARGETSYSTEM)-$(C_COMPILER)101TARGET_CXX_COMPILER ?= $(TARGETSYSTEM)-$(CXX_COMPILER)102TARGET_RC_COMPILER ?= $(TARGETSYSTEM)-$(RC_COMPILER)103TARGET_LIBRARIAN ?= $(TARGETSYSTEM)-$(LIBRARIAN)104else105TARGET_C_COMPILER ?= $(C_COMPILER)106TARGET_CXX_COMPILER ?= $(CXX_COMPILER)107TARGET_RC_COMPILER ?= $(RC_COMPILER)108TARGET_LIBRARIAN ?= $(LIBRARIAN)109endif110111TARGET_C_COMPILER_OPTIONS ?= $(C_COMPILER_OPTIONS)112TARGET_C_COMPILER_OPTIMIZATION_OPTIONS ?= $(C_COMPILER_OPTIMIZATION_OPTIONS)113TARGET_LIBRARIAN_OPTIONS ?= $(LIBRARIAN_OPTIONS)114TARGET_PREFIX ?= $(PREFIX)115TARGET_RUN_PREFIX ?= $(TARGET_PREFIX)116TARGET_LIBRARIES ?= $(LIBRARIES)117TARGET_LINKER_OPTIONS ?= $(LINKER_OPTIONS)118TARGET_LINKER_OPTIMIZATION_OPTIONS ?= $(LINKER_OPTIMIZATION_OPTIONS)119TARGET_FEATURES ?=120TARGET_LIB_NAME ?= chicken121122ifneq ($(TARGET_C_COMPILER),$(C_COMPILER))123CROSS_CHICKEN = 1124else125CROSS_CHICKEN = 0126endif127128129# options130131INCLUDES ?= -I. -I$(SRCDIR)132C_COMPILER_COMPILE_OPTION ?= -c133C_COMPILER_OUTPUT_OPTION ?= -o134C_COMPILER_OUTPUT ?= $(C_COMPILER_OUTPUT_OPTION) $@135136ifndef NOPTABLES137C_COMPILER_OPTIONS += -DC_ENABLE_PTABLES138endif139140ifdef DEBUGBUILD141ifeq ($(C_COMPILER),gcc)142C_COMPILER_OPTIMIZATION_OPTIONS ?= -g -Wall -Wno-unused143endif144endif145C_COMPILER_BUILD_RUNTIME_OPTIONS ?= -DC_BUILDING_LIBCHICKEN146C_COMPILER_SHARED_OPTIONS ?= -fPIC -DPIC147LINKER_EXECUTABLE_OPTIONS ?= -L.148LINKER_STATIC_OPTIONS ?= $(LINKER_EXECUTABLE_OPTIONS)149LINKER_OUTPUT_OPTION ?= -o150LINKER_OUTPUT ?= $(LINKER_OUTPUT_OPTION) $@151LINKER_LIBRARY_OPTION ?= -l152ifdef STATICBUILD153LINKER_LIBRARY_PREFIX ?= lib154LINKER_LIBRARY_SUFFIX ?= .a155else156LINKER_LIBRARY_PREFIX ?= -l157LINKER_LIBRARY_SUFFIX ?=158endif159LINKER_LINK_SHARED_LIBRARY_OPTIONS ?= -shared160LINKER_LINK_SHARED_DLOADABLE_OPTIONS ?= -shared -L.161LIBRARIAN_OPTIONS ?= cru162LIBRARIAN_OUTPUT_OPTION ?=163LIBRARIAN_OUTPUT ?= $(LIBRARIAN_OUTPUT_OPTION) $@164LIBRARIES ?= -lm165ifdef WINDOWS_SHELL166REMOVE_COMMAND_OPTIONS ?= /f /q167REMOVE_COMMAND_RECURSIVE_OPTIONS ?= /f /s /q168MAKE_READABLE_COMMAND ?= rem169MAKE_WRITABLE_COMMAND ?= rem170INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS ?= /Y171INSTALL_PROGRAM_STATIC_LIBRARY_OPTIONS ?= /Y172INSTALL_PROGRAM_EXECUTABLE_OPTIONS ?= /Y173INSTALL_PROGRAM_FILE_OPTIONS ?= /Y174else175REMOVE_COMMAND_OPTIONS ?= -f176REMOVE_COMMAND_RECURSIVE_OPTIONS ?= -fr177MAKE_READABLE_COMMAND ?= chmod 0644178MAKE_WRITABLE_COMMAND ?= chmod 0755179INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS ?= -m 755180INSTALL_PROGRAM_STATIC_LIBRARY_OPTIONS ?= -m 644181INSTALL_PROGRAM_EXECUTABLE_OPTIONS ?= -m 755182INSTALL_PROGRAM_FILE_OPTIONS ?= -m 644183MAKEDIR_COMMAND_OPTIONS ?= -d -m 755184endif185ASSEMBLER_OPTIONS ?= $(C_COMPILER_OPTIONS)186ASSEMBLER_OUTPUT_OPTION ?= -o187ASSEMBLER_OUTPUT ?= $(ASSEMBLER_OUTPUT_OPTION) $@188ASSEMBLER_COMPILE_OPTION ?= -c189ifdef STATICBUILD190PRIMARY_LIBCHICKEN ?= lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A)191else192ifeq ($(PLATFORM),cygwin)193PRIMARY_LIBCHICKEN = cyg$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)-0.dll194LIBCHICKEN_SO_FILE = cyg$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)-0.dll195else196PRIMARY_LIBCHICKEN ?= lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO)197LIBCHICKEN_SO_FILE ?= lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO)198endif199endif200LIBCHICKEN_SO_LIBRARIES ?= $(LIBRARIES)201202# other settings203204ifdef WINDOWS_SHELL205BUILD_TIME ?= $(shell date /t)206SCRIPT_EXT = .bat207COPY_COMMAND = copy /Y208HOSTNAME ?= $(shell hostname)209UNAME_SYS ?= Windows210# This is a poor man's version of $(file ...) in GNU Make 4.0211# We should consider replacing it when it becomes so widespread212# that systems (Debian, OS X, Haiku, Mingw, Cygwin) are shipping it213echo = echo $(3)$(1)$(2)214else215SCRIPT_EXT =216COPY_COMMAND = cp217echo = echo '$(subst ','\'',$(3))'$(1)$(2)218#' fix Emacs syntax highlighting219endif220WISH ?= "$$wish"221GENERATE_DEBUGGER ?= cat $< >$@; echo 'exec $(WISH) "$(DATADIR)/feathers.tcl" -- "$$@"' >>$@222223224# file extensions225226O ?= .o227A ?= .a228# EXE ?=229SO ?= .so230ASM ?= .S231MAN ?= .mdoc232233# special files234235POSIXFILE ?= posixunix236CHICKEN_CONFIG_H = chicken-config.h237238# bootstrapping compiler239240CHICKEN ?= chicken$(EXE)241242# interpreter for scripts243244CSI ?= csi$(EXE)245246# Scheme compiler flags247248CHICKEN_OPTIONS = -optimize-level 2 -include-path . -include-path $(SRCDIR) -inline -ignore-repository -feature chicken-bootstrap249ifdef DEBUGBUILD250CHICKEN_OPTIONS += -feature debugbuild -verbose251else252CHICKEN_OPTIONS += -no-warnings253endif254ifndef BUILDING_CHICKEN_BOOT255CHICKEN_OPTIONS += -specialize -consult-types-file $(SRCDIR)types.db256endif257CHICKEN_OPTIONS += $(EXTRA_CHICKEN_OPTIONS)258CHICKEN_LIBRARY_OPTIONS = $(CHICKEN_OPTIONS) -explicit-use -no-trace259CHICKEN_PROGRAM_OPTIONS = $(CHICKEN_OPTIONS) -no-lambda-info260CHICKEN_DYNAMIC_OPTIONS = $(CHICKEN_OPTIONS) -feature chicken-compile-shared -dynamic261CHICKEN_IMPORT_LIBRARY_OPTIONS = $(CHICKEN_DYNAMIC_OPTIONS) -no-trace262263ifndef DEBUGBUILD264CHICKEN_PROGRAM_OPTIONS += -no-trace265endif266267CHICKEN_PROGRAM_OPTIONS += $(if $(PROFILE_OBJECTS),-profile)268269# import libraries270271PRIMITIVE_IMPORT_LIBRARIES = chicken.base chicken.condition \272 chicken.csi chicken.foreign chicken.syntax chicken.time273DYNAMIC_IMPORT_LIBRARIES = srfi-4274DYNAMIC_CHICKEN_IMPORT_LIBRARIES = bitwise blob errno file.posix \275 fixnum flonum format gc io keyword load locative memory \276 memory.representation platform plist pretty-print \277 process process.signal process-context process-context.posix \278 random sort string time.posix279DYNAMIC_CHICKEN_COMPILER_IMPORT_LIBRARIES = user-pass280DYNAMIC_CHICKEN_UNIT_IMPORT_LIBRARIES = continuation eval file \281 internal irregex pathname port read-syntax repl tcp282283# targets284285CHICKEN_PROGRAM = $(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)286CSC_PROGRAM = $(PROGRAM_PREFIX)csc$(PROGRAM_SUFFIX)287CSI_PROGRAM = $(PROGRAM_PREFIX)csi$(PROGRAM_SUFFIX)288CHICKEN_PROFILE_PROGRAM = $(PROGRAM_PREFIX)chicken-profile$(PROGRAM_SUFFIX)289CHICKEN_INSTALL_PROGRAM = $(PROGRAM_PREFIX)chicken-install$(PROGRAM_SUFFIX)290CHICKEN_UNINSTALL_PROGRAM = $(PROGRAM_PREFIX)chicken-uninstall$(PROGRAM_SUFFIX)291CHICKEN_STATUS_PROGRAM = $(PROGRAM_PREFIX)chicken-status$(PROGRAM_SUFFIX)292CHICKEN_DO_PROGRAM = $(PROGRAM_PREFIX)chicken-do$(PROGRAM_SUFFIX)293CHICKEN_DEBUGGER_PROGRAM ?= $(PROGRAM_PREFIX)feathers$(PROGRAM_SUFFIX)$(SCRIPT_EXT)294IMPORT_LIBRARIES = $(DYNAMIC_IMPORT_LIBRARIES) \295 $(PRIMITIVE_IMPORT_LIBRARIES) \296 $(foreach lib,$(DYNAMIC_CHICKEN_IMPORT_LIBRARIES),chicken.$(lib)) \297 $(foreach lib,$(DYNAMIC_CHICKEN_UNIT_IMPORT_LIBRARIES),chicken.$(lib)) \298 $(foreach lib,$(DYNAMIC_CHICKEN_COMPILER_IMPORT_LIBRARIES),chicken.compiler.$(lib))299300ifdef STATICBUILD301CHICKEN_STATIC_EXECUTABLE = $(CHICKEN_PROGRAM)$(EXE)302CSI_STATIC_EXECUTABLE = $(CSI_PROGRAM)$(EXE)303CHICKEN_SHARED_EXECUTABLE = $(CHICKEN_PROGRAM)-shared$(EXE)304CSI_SHARED_EXECUTABLE = $(CSI_PROGRAM)-shared$(EXE)305TARGETLIBS ?= lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A)306TARGETS += $(TARGETLIBS) $(CHICKEN_STATIC_EXECUTABLE) \307 $(CSI_STATIC_EXECUTABLE)308else309CHICKEN_STATIC_EXECUTABLE = $(CHICKEN_PROGRAM)-static$(EXE)310CSI_STATIC_EXECUTABLE = $(CSI_PROGRAM)-static$(EXE)311CHICKEN_SHARED_EXECUTABLE = $(CHICKEN_PROGRAM)$(EXE)312CSI_SHARED_EXECUTABLE = $(CSI_PROGRAM)$(EXE)313TARGETLIBS ?= lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A) $(LIBCHICKEN_SO_FILE)314TARGETS += $(TARGETLIBS) $(CHICKEN_SHARED_EXECUTABLE) \315 $(CSI_SHARED_EXECUTABLE) \316 $(IMPORT_LIBRARIES:%=%.import.so)317endif318319TARGETS += $(CHICKEN_INSTALL_PROGRAM)$(EXE) \320 $(CHICKEN_UNINSTALL_PROGRAM)$(EXE) \321 $(CHICKEN_STATUS_PROGRAM)$(EXE) \322 $(CHICKEN_PROFILE_PROGRAM)$(EXE) \323 $(CSC_PROGRAM)$(EXE) \324 $(CHICKEN_DO_PROGRAM)$(EXE) \325 $(CHICKEN_DEBUGGER_PROGRAM)326327ifdef WINDOWS328TARGETS += chicken.rc$(O)329endif330331332# main rule333334.PHONY: all335336all: $(TARGETS)337338# generic part of chicken-config.h339340chicken-defaults.h:341ifdef OPTIMIZE_FOR_SPEED342 $(call echo, >,$@.tmp, /* (this build was optimized for speed) */)343endif344ifdef DEBUGBUILD345 $(call echo, >>, $@.tmp,#define DEBUGBUILD 1)346endif347ifdef STATICBUILD348 $(call echo, >>, $@.tmp,#define STATICBUILD 1)349endif350 $(call echo, >>, $@.tmp,#define C_CHICKEN_PROGRAM "$(CHICKEN_PROGRAM)$(EXE)")351 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_CC)352 $(call echo, >>, $@.tmp,# define C_INSTALL_CC "$(C_COMPILER)")353 $(call echo, >>, $@.tmp,#endif)354 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_CXX)355 $(call echo, >>, $@.tmp,# define C_INSTALL_CXX "$(CXX_COMPILER)")356 $(call echo, >>, $@.tmp,#endif)357 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_POSTINSTALL_PROGRAM)358 $(call echo, >>, $@.tmp,# define C_INSTALL_POSTINSTALL_PROGRAM "$(POSTINSTALL_PROGRAM)")359 $(call echo, >>, $@.tmp,#endif)360 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_RC_COMPILER)361 $(call echo, >>, $@.tmp,# define C_INSTALL_RC_COMPILER "$(RC_COMPILER)")362 $(call echo, >>, $@.tmp,#endif)363 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_CFLAGS)364 $(call echo, >>, $@.tmp,# define C_INSTALL_CFLAGS "$(C_COMPILER_OPTIONS) $(C_COMPILER_OPTIMIZATION_OPTIONS)")365 $(call echo, >>, $@.tmp,#endif)366 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_LDFLAGS)367 $(call echo, >>, $@.tmp,# define C_INSTALL_LDFLAGS "$(LINKER_OPTIONS) $(LINKER_OPTIMIZATION_OPTIONS)")368 $(call echo, >>, $@.tmp,#endif)369 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_PREFIX)370 $(call echo, >>, $@.tmp,# define C_INSTALL_PREFIX "$(PREFIX)")371 $(call echo, >>, $@.tmp,#endif)372 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_SHARE_HOME)373 $(call echo, >>, $@.tmp,# define C_INSTALL_SHARE_HOME "$(DATADIR)")374 $(call echo, >>, $@.tmp,#endif)375 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_BIN_HOME)376 $(call echo, >>, $@.tmp,# define C_INSTALL_BIN_HOME "$(BINDIR)")377 $(call echo, >>, $@.tmp,#endif)378 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_EGG_HOME)379 $(call echo, >>, $@.tmp,# define C_INSTALL_EGG_HOME "$(EGGDIR)")380 $(call echo, >>, $@.tmp,#endif)381 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_LIB_HOME)382 $(call echo, >>, $@.tmp,# define C_INSTALL_LIB_HOME "$(LIBDIR)")383 $(call echo, >>, $@.tmp,#endif)384 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_LIB_NAME)385 $(call echo, >>, $@.tmp,# define C_INSTALL_LIB_NAME "$(INSTALL_LIB_NAME)")386 $(call echo, >>, $@.tmp,#endif)387 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_STATIC_LIB_HOME)388 $(call echo, >>, $@.tmp,# define C_INSTALL_STATIC_LIB_HOME "$(LIBDIR)")389 $(call echo, >>, $@.tmp,#endif)390 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_INCLUDE_HOME)391 $(call echo, >>, $@.tmp,# define C_INSTALL_INCLUDE_HOME "$(CHICKENINCDIR)")392 $(call echo, >>, $@.tmp,#endif)393 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_MORE_LIBS)394 $(call echo, >>, $@.tmp,# define C_INSTALL_MORE_LIBS "$(LIBRARIES)")395 $(call echo, >>, $@.tmp,#endif)396 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_MORE_STATIC_LIBS)397 $(call echo, >>, $@.tmp,# define C_INSTALL_MORE_STATIC_LIBS "$(LIBRARIES)")398 $(call echo, >>, $@.tmp,#endif)399 $(call echo, >>, $@.tmp,#ifndef C_STACK_GROWS_DOWNWARD)400 $(call echo, >>, $@.tmp,# define C_STACK_GROWS_DOWNWARD $(STACKDIRECTION))401 $(call echo, >>, $@.tmp,#endif)402 $(call echo, >>, $@.tmp,#ifndef C_TARGET_MORE_LIBS)403 $(call echo, >>, $@.tmp,# define C_TARGET_MORE_LIBS "$(TARGET_LIBRARIES)")404 $(call echo, >>, $@.tmp,#endif)405 $(call echo, >>, $@.tmp,#ifndef C_TARGET_MORE_STATIC_LIBS)406 $(call echo, >>, $@.tmp,# define C_TARGET_MORE_STATIC_LIBS "$(TARGET_LIBRARIES)")407 $(call echo, >>, $@.tmp,#endif)408 $(call echo, >>, $@.tmp,#ifndef C_TARGET_CC)409 $(call echo, >>, $@.tmp,# define C_TARGET_CC "$(TARGET_C_COMPILER)")410 $(call echo, >>, $@.tmp,#endif)411 $(call echo, >>, $@.tmp,#ifndef C_TARGET_CXX)412 $(call echo, >>, $@.tmp,# define C_TARGET_CXX "$(TARGET_CXX_COMPILER)")413 $(call echo, >>, $@.tmp,#endif)414 $(call echo, >>, $@.tmp,#ifndef C_TARGET_RC_COMPILER)415 $(call echo, >>, $@.tmp,# define C_TARGET_RC_COMPILER "$(TARGET_RC_COMPILER)")416 $(call echo, >>, $@.tmp,#endif)417 $(call echo, >>, $@.tmp,#ifndef C_TARGET_LIBRARIAN)418 $(call echo, >>, $@.tmp,# define C_TARGET_LIBRARIAN "$(TARGET_LIBRARIAN)")419 $(call echo, >>, $@.tmp,#endif)420 $(call echo, >>, $@.tmp,#ifndef C_TARGET_INSTALL_PROGRAM)421 $(call echo, >>, $@.tmp,# define C_TARGET_INSTALL_PROGRAM "$(INSTALL_PROGRAM)")422 $(call echo, >>, $@.tmp,#endif)423 $(call echo, >>, $@.tmp,#ifndef C_TARGET_CFLAGS)424 $(call echo, >>, $@.tmp,# define C_TARGET_CFLAGS "$(TARGET_C_COMPILER_OPTIONS) $(TARGET_C_COMPILER_OPTIMIZATION_OPTIONS)")425 $(call echo, >>, $@.tmp,#endif)426 $(call echo, >>, $@.tmp,#ifndef C_TARGET_LIBRARIAN_FLAGS)427 $(call echo, >>, $@.tmp,# define C_TARGET_LIBRARIAN_FLAGS "$(TARGET_LIBRARIAN_OPTIONS)")428 $(call echo, >>, $@.tmp,#endif)429 $(call echo, >>, $@.tmp,#ifndef C_TARGET_LDFLAGS)430 $(call echo, >>, $@.tmp,# define C_TARGET_LDFLAGS "$(TARGET_LINKER_OPTIONS) $(TARGET_LINKER_OPTIMIZATION_OPTIONS)")431 $(call echo, >>, $@.tmp,#endif)432 $(call echo, >>, $@.tmp,#ifndef C_TARGET_INSTALL_PROGRAM_EXECUTABLE_OPTIONS)433 $(call echo, >>, $@.tmp,# define C_TARGET_INSTALL_PROGRAM_EXECUTABLE_OPTIONS "$(INSTALL_PROGRAM_EXECUTABLE_OPTIONS)")434 $(call echo, >>, $@.tmp,#endif)435 $(call echo, >>, $@.tmp,#ifndef C_TARGET_INSTALL_PROGRAM_FILE_OPTIONS)436 $(call echo, >>, $@.tmp,# define C_TARGET_INSTALL_PROGRAM_FILE_OPTIONS "$(INSTALL_PROGRAM_FILE_OPTIONS)")437 $(call echo, >>, $@.tmp,#endif)438 $(call echo, >>, $@.tmp,#ifndef C_TARGET_FEATURES)439 $(call echo, >>, $@.tmp,# define C_TARGET_FEATURES "$(TARGET_FEATURES)")440 $(call echo, >>, $@.tmp,#endif)441 $(call echo, >>, $@.tmp,#ifndef C_CROSS_CHICKEN)442 $(call echo, >>, $@.tmp,# define C_CROSS_CHICKEN $(CROSS_CHICKEN))443 $(call echo, >>, $@.tmp,#endif)444 $(call echo, >>, $@.tmp,#ifndef C_TARGET_PREFIX)445 $(call echo, >>, $@.tmp,# define C_TARGET_PREFIX "$(TARGET_PREFIX)")446 $(call echo, >>, $@.tmp,#endif)447 $(call echo, >>, $@.tmp,#ifndef C_TARGET_BIN_HOME)448 $(call echo, >>, $@.tmp,# define C_TARGET_BIN_HOME "$(TARGET_PREFIX)/bin")449 $(call echo, >>, $@.tmp,#endif)450 $(call echo, >>, $@.tmp,#ifndef C_TARGET_LIB_HOME)451 $(call echo, >>, $@.tmp,# define C_TARGET_LIB_HOME "$(TARGET_PREFIX)/lib")452 $(call echo, >>, $@.tmp,#endif)453 $(call echo, >>, $@.tmp,#ifndef C_TARGET_LIB_NAME)454 $(call echo, >>, $@.tmp,# define C_TARGET_LIB_NAME "$(TARGET_LIB_NAME)")455 $(call echo, >>, $@.tmp,#endif)456 $(call echo, >>, $@.tmp,#ifndef C_TARGET_RUN_LIB_HOME)457ifdef DLLSINPATH458 $(call echo, >>, $@.tmp,# define C_TARGET_RUN_LIB_HOME "$(TARGET_RUN_PREFIX)/bin")459else460 $(call echo, >>, $@.tmp,# define C_TARGET_RUN_LIB_HOME "$(TARGET_RUN_PREFIX)/lib")461endif462 $(call echo, >>, $@.tmp,#endif)463 $(call echo, >>, $@.tmp,#ifndef C_TARGET_SHARE_HOME)464 $(call echo, >>, $@.tmp,# define C_TARGET_SHARE_HOME "$(TARGET_PREFIX)/share/chicken")465 $(call echo, >>, $@.tmp,#endif)466 $(call echo, >>, $@.tmp,#ifndef C_TARGET_INCLUDE_HOME)467 $(call echo, >>, $@.tmp,# define C_TARGET_INCLUDE_HOME "$(TARGET_PREFIX)/include/chicken")468 $(call echo, >>, $@.tmp,#endif)469 $(call echo, >>, $@.tmp,#ifndef C_TARGET_STATIC_LIB_HOME)470 $(call echo, >>, $@.tmp,# define C_TARGET_STATIC_LIB_HOME "$(TARGET_PREFIX)/lib")471 $(call echo, >>, $@.tmp,#endif)472 $(call echo, >>, $@.tmp,#ifndef C_CHICKEN_PROGRAM)473 $(call echo, >>, $@.tmp,# define C_CHICKEN_PROGRAM "$(CHICKEN_PROGRAM)")474 $(call echo, >>, $@.tmp,#endif)475 $(call echo, >>, $@.tmp,#ifndef C_CSC_PROGRAM)476 $(call echo, >>, $@.tmp,# define C_CSC_PROGRAM "$(CSC_PROGRAM)")477 $(call echo, >>, $@.tmp,#endif)478 $(call echo, >>, $@.tmp,#ifndef C_CSI_PROGRAM)479 $(call echo, >>, $@.tmp,# define C_CSI_PROGRAM "$(CSI_PROGRAM)")480 $(call echo, >>, $@.tmp,#endif)481 $(call echo, >>, $@.tmp,#ifndef C_CHICKEN_DO_PROGRAM)482 $(call echo, >>, $@.tmp,# define C_CHICKEN_DO_PROGRAM "$(CHICKEN_DO_PROGRAM)")483 $(call echo, >>, $@.tmp,#endif)484 $(call echo, >>, $@.tmp,#ifndef C_CHICKEN_INSTALL_PROGRAM)485 $(call echo, >>, $@.tmp,# define C_CHICKEN_INSTALL_PROGRAM "$(CHICKEN_INSTALL_PROGRAM)")486 $(call echo, >>, $@.tmp,#endif)487 $(call echo, >>, $@.tmp,#ifndef C_CHICKEN_UNINSTALL_PROGRAM)488 $(call echo, >>, $@.tmp,# define C_CHICKEN_UNINSTALL_PROGRAM "$(CHICKEN_UNINSTALL_PROGRAM)")489 $(call echo, >>, $@.tmp,#endif)490 $(call echo, >>, $@.tmp,#ifndef C_CHICKEN_STATUS_PROGRAM)491 $(call echo, >>, $@.tmp,# define C_CHICKEN_STATUS_PROGRAM "$(CHICKEN_STATUS_PROGRAM)")492 $(call echo, >>, $@.tmp,#endif)493 $(call echo, >>, $@.tmp,#ifndef C_WINDOWS_SHELL)494ifdef WINDOWS_SHELL495 $(call echo, >>, $@.tmp,# define C_WINDOWS_SHELL 1)496else497 $(call echo, >>, $@.tmp,# define C_WINDOWS_SHELL 0)498endif499 $(call echo, >>, $@.tmp,#endif)500 $(call echo, >>, $@.tmp,#ifndef C_BINARY_VERSION)501 $(call echo, >>, $@.tmp,# define C_BINARY_VERSION $(BINARYVERSION))502 $(call echo, >>, $@.tmp,#endif)503 $(call echo, >>, $@.tmp,#ifndef C_USES_SONAME)504ifdef USES_SONAME505 $(call echo, >>, $@.tmp,# define C_USES_SONAME 1)506else507 $(call echo, >>, $@.tmp,# define C_USES_SONAME 0)508endif509 $(call echo, >>, $@.tmp,#endif)510 $(call echo, >>, $@.tmp,/* END OF FILE */)511 mv $@.tmp $@512513chicken-install.rc:514 $(call echo, >, $@.tmp,/* GENERATED */)515 $(call echo, >>, $@.tmp,1 24 MOVEABLE PURE)516 $(call echo, >>, $@.tmp,BEGIN)517 $(call echo, >>, $@.tmp, "<?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?>\r\n")518 $(call echo, >>, $@.tmp, "<assembly xmlns=""urn:schemas-microsoft-com:asm.v1"" manifestVersion=""1.0"">\r\n")519 $(call echo, >>, $@.tmp, " <assemblyIdentity version=""1.0.0.0"" processorArchitecture=""*"" name=""$(PROGRAM_PREFIX)chicken-install$(PROGRAM_SUFFIX)"" type=""win32""/>\r\n")520 $(call echo, >>, $@.tmp, " <ms_asmv2:trustInfo xmlns:ms_asmv2=""urn:schemas-microsoft-com:asm.v2"">\r\n")521 $(call echo, >>, $@.tmp, " <ms_asmv2:security>\r\n")522 $(call echo, >>, $@.tmp, " <ms_asmv2:requestedPrivileges>\r\n")523 $(call echo, >>, $@.tmp, " <ms_asmv2:requestedExecutionLevel level=""asInvoker"" uiAccess=""false""/>\r\n")524 $(call echo, >>, $@.tmp, " </ms_asmv2:requestedPrivileges>\r\n")525 $(call echo, >>, $@.tmp, " </ms_asmv2:security>\r\n")526 $(call echo, >>, $@.tmp, " </ms_asmv2:trustInfo>\r\n")527 $(call echo, >>, $@.tmp, "</assembly>\r\n")528 $(call echo, >>, $@.tmp,END)529 $(call echo, >>, $@.tmp,/* END OF FILE */)530 mv $@.tmp $@531532chicken-uninstall.rc:533 $(call echo, >, $@.tmp,/* GENERATED */)534 $(call echo, >>, $@.tmp,1 24 MOVEABLE PURE)535 $(call echo, >>, $@.tmp,BEGIN)536 $(call echo, >>, $@.tmp, "<?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?>\r\n")537 $(call echo, >>, $@.tmp, "<assembly xmlns=""urn:schemas-microsoft-com:asm.v1"" manifestVersion=""1.0"">\r\n")538 $(call echo, >>, $@.tmp, " <assemblyIdentity version=""1.0.0.0"" processorArchitecture=""*"" name=""$(PROGRAM_PREFIX)chicken-uninstall$(PROGRAM_SUFFIX)"" type=""win32""/>\r\n")539 $(call echo, >>, $@.tmp, " <ms_asmv2:trustInfo xmlns:ms_asmv2=""urn:schemas-microsoft-com:asm.v2"">\r\n")540 $(call echo, >>, $@.tmp, " <ms_asmv2:security>\r\n")541 $(call echo, >>, $@.tmp, " <ms_asmv2:requestedPrivileges>\r\n")542 $(call echo, >>, $@.tmp, " <ms_asmv2:requestedExecutionLevel level=""asInvoker"" uiAccess=""false""/>\r\n")543 $(call echo, >>, $@.tmp, " </ms_asmv2:requestedPrivileges>\r\n")544 $(call echo, >>, $@.tmp, " </ms_asmv2:security>\r\n")545 $(call echo, >>, $@.tmp, " </ms_asmv2:trustInfo>\r\n")546 $(call echo, >>, $@.tmp, "</assembly>\r\n")547 $(call echo, >>, $@.tmp,END)548 $(call echo, >>, $@.tmp,/* END OF FILE */)549 mv $@.tmp $@