~ chicken-core (master) /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 = 1231STACKDIRECTION ?= 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)84REMOVE_COMMAND ?= rm85INSTALL_PROGRAM ?= install86MAKEDIR_COMMAND ?= $(INSTALL_PROGRAM)87PREINSTALL_PROGRAM_FIXUP ?= true88POSTINSTALL_STATIC_LIBRARY ?= true89POSTINSTALL_PROGRAM ?= true9091# target variables9293ifdef TARGETSYSTEM94TARGET_C_COMPILER ?= $(TARGETSYSTEM)-$(C_COMPILER)95TARGET_CXX_COMPILER ?= $(TARGETSYSTEM)-$(CXX_COMPILER)96TARGET_RC_COMPILER ?= $(TARGETSYSTEM)-$(RC_COMPILER)97TARGET_LIBRARIAN ?= $(TARGETSYSTEM)-$(LIBRARIAN)98else99TARGET_C_COMPILER ?= $(C_COMPILER)100TARGET_CXX_COMPILER ?= $(CXX_COMPILER)101TARGET_RC_COMPILER ?= $(RC_COMPILER)102TARGET_LIBRARIAN ?= $(LIBRARIAN)103endif104105TARGET_C_COMPILER_OPTIONS ?= $(C_COMPILER_OPTIONS)106TARGET_C_COMPILER_OPTIMIZATION_OPTIONS ?= $(C_COMPILER_OPTIMIZATION_OPTIONS)107TARGET_LIBRARIAN_OPTIONS ?= $(LIBRARIAN_OPTIONS)108TARGET_PREFIX ?= $(PREFIX)109TARGET_RUN_PREFIX ?= $(TARGET_PREFIX)110TARGET_LIBRARIES ?= $(LIBRARIES)111TARGET_LINKER_OPTIONS ?= $(LINKER_OPTIONS)112TARGET_LINKER_OPTIMIZATION_OPTIONS ?= $(LINKER_OPTIMIZATION_OPTIONS)113TARGET_FEATURES ?=114TARGET_LIB_NAME ?= chicken115116ifneq ($(TARGET_C_COMPILER),$(C_COMPILER))117CROSS_CHICKEN = 1118else119CROSS_CHICKEN = 0120endif121122123# options124125INCLUDES ?= -I. -I$(SRCDIR)126C_COMPILER_COMPILE_OPTION ?= -c127C_COMPILER_OUTPUT_OPTION ?= -o128C_COMPILER_OUTPUT ?= $(C_COMPILER_OUTPUT_OPTION) $@129130ifndef NOPTABLES131C_COMPILER_OPTIONS += -DC_ENABLE_PTABLES132endif133134ifdef DEBUGBUILD135C_COMPILER_OPTIMIZATION_OPTIONS ?= -g -Wall -Wno-unused136RUNTIME_OPTIMIZATION_OPTIONS ?= -g -Wall -Wno-unused137endif138RUNTIME_OPTIMIZATION_OPTIONS ?= -O2139C_COMPILER_BUILD_RUNTIME_OPTIONS ?= -DC_BUILDING_LIBCHICKEN140C_COMPILER_SHARED_OPTIONS ?= -fPIC -DPIC141LINKER_EXECUTABLE_OPTIONS ?= -L.142LINKER_STATIC_OPTIONS ?= $(LINKER_EXECUTABLE_OPTIONS)143LINKER_OUTPUT_OPTION ?= -o144LINKER_OUTPUT ?= $(LINKER_OUTPUT_OPTION) $@145LINKER_LIBRARY_OPTION ?= -l146ifdef STATICBUILD147LINKER_LIBRARY_PREFIX ?= lib148LINKER_LIBRARY_SUFFIX ?= -static.a149else150LINKER_LIBRARY_PREFIX ?= -l151LINKER_LIBRARY_SUFFIX ?=152endif153LINKER_LINK_SHARED_LIBRARY_OPTIONS ?= -shared154LINKER_LINK_SHARED_DLOADABLE_OPTIONS ?= -shared -L.155LIBRARIAN_OPTIONS ?= cru156LIBRARIAN_OUTPUT_OPTION ?=157LIBRARIAN_OUTPUT ?= $(LIBRARIAN_OUTPUT_OPTION) $@158LIBRARIES ?= -lm159REMOVE_COMMAND_OPTIONS ?= -f160REMOVE_COMMAND_RECURSIVE_OPTIONS ?= -fr161MAKE_READABLE_COMMAND ?= chmod 0644162MAKE_WRITABLE_COMMAND ?= chmod 0755163INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS ?= -m 755164INSTALL_PROGRAM_STATIC_LIBRARY_OPTIONS ?= -m 644165INSTALL_PROGRAM_EXECUTABLE_OPTIONS ?= -m 755166INSTALL_PROGRAM_FILE_OPTIONS ?= -m 644167MAKEDIR_COMMAND_OPTIONS ?= -d -m 755168ASSEMBLER_OPTIONS ?= $(C_COMPILER_OPTIONS)169ASSEMBLER_OUTPUT_OPTION ?= -o170ASSEMBLER_OUTPUT ?= $(ASSEMBLER_OUTPUT_OPTION) $@171ASSEMBLER_COMPILE_OPTION ?= -c172ifdef STATICBUILD173PRIMARY_LIBCHICKEN ?= lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)-static$(A)174else175ifeq ($(PLATFORM),cygwin)176PRIMARY_LIBCHICKEN = cyg$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)-0.dll177LIBCHICKEN_SO_FILE = cyg$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)-0.dll178else179PRIMARY_LIBCHICKEN ?= lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO)180LIBCHICKEN_SO_FILE ?= lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO)181endif182endif183LIBCHICKEN_SO_LIBRARIES ?= $(LIBRARIES)184185# other settings186187COPY_COMMAND = cp188echo = echo '$(subst ','\'',$(3))'$(1)$(2)189#' fix Emacs syntax highlighting190191192# file extensions193194O ?= .o195A ?= .a196# EXE ?=197SO ?= .so198MAN ?= .mdoc199200# special files201202POSIXFILE ?= posixunix203CHICKEN_CONFIG_H = chicken-config.h204205# bootstrapping compiler206207CHICKEN ?= chicken$(EXE)208209# interpreter for scripts210211CSI ?= csi$(EXE)212213# Scheme compiler flags214215CHICKEN_OPTIONS = -optimize-level 2 -include-path . -include-path $(SRCDIR) -inline -ignore-repository -feature chicken-bootstrap216ifdef DEBUGBUILD217CHICKEN_OPTIONS += -feature debugbuild -verbose218else219CHICKEN_OPTIONS += -no-warnings220endif221ifndef BUILDING_CHICKEN_BOOT222CHICKEN_OPTIONS += -specialize -consult-types-file $(SRCDIR)types.db223endif224CHICKEN_OPTIONS += $(EXTRA_CHICKEN_OPTIONS)225CHICKEN_LIBRARY_OPTIONS = $(CHICKEN_OPTIONS) -explicit-use -no-trace226CHICKEN_PROGRAM_OPTIONS = $(CHICKEN_OPTIONS) -no-lambda-info227CHICKEN_DYNAMIC_OPTIONS = $(CHICKEN_OPTIONS) -feature chicken-compile-shared -dynamic228CHICKEN_IMPORT_LIBRARY_OPTIONS = $(CHICKEN_DYNAMIC_OPTIONS) -no-trace229230ifndef DEBUGBUILD231CHICKEN_PROGRAM_OPTIONS += -no-trace232endif233234CHICKEN_PROGRAM_OPTIONS += $(if $(PROFILE_OBJECTS),-profile)235236# import libraries237238PRIMITIVE_IMPORT_LIBRARIES = chicken.base chicken.condition \239 chicken.csi chicken.foreign chicken.syntax chicken.time scheme.write \240 scheme.time scheme.file scheme.process-context241DYNAMIC_IMPORT_LIBRARIES = srfi-4242DYNAMIC_CHICKEN_IMPORT_LIBRARIES = bitwise bytevector errno file.posix \243 fixnum flonum format gc io keyword load locative memory \244 memory.representation platform plist pretty-print version \245 process process.signal process-context process-context.posix \246 random sort string time.posix number-vector247DYNAMIC_CHICKEN_COMPILER_IMPORT_LIBRARIES = user-pass248DYNAMIC_CHICKEN_UNIT_IMPORT_LIBRARIES = continuation eval file \249 internal irregex pathname port read-syntax repl tcp250251# targets252253CHICKEN_PROGRAM = $(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)254CSC_PROGRAM = $(PROGRAM_PREFIX)csc$(PROGRAM_SUFFIX)255CSI_PROGRAM = $(PROGRAM_PREFIX)csi$(PROGRAM_SUFFIX)256CHICKEN_PROFILE_PROGRAM = $(PROGRAM_PREFIX)chicken-profile$(PROGRAM_SUFFIX)257CHICKEN_INSTALL_PROGRAM = $(PROGRAM_PREFIX)chicken-install$(PROGRAM_SUFFIX)258CHICKEN_UNINSTALL_PROGRAM = $(PROGRAM_PREFIX)chicken-uninstall$(PROGRAM_SUFFIX)259CHICKEN_STATUS_PROGRAM = $(PROGRAM_PREFIX)chicken-status$(PROGRAM_SUFFIX)260CHICKEN_DO_PROGRAM = $(PROGRAM_PREFIX)chicken-do$(PROGRAM_SUFFIX)261IMPORT_LIBRARIES = $(DYNAMIC_IMPORT_LIBRARIES) \262 $(PRIMITIVE_IMPORT_LIBRARIES) \263 $(foreach lib,$(DYNAMIC_CHICKEN_IMPORT_LIBRARIES),chicken.$(lib)) \264 $(foreach lib,$(DYNAMIC_CHICKEN_UNIT_IMPORT_LIBRARIES),chicken.$(lib)) \265 $(foreach lib,$(DYNAMIC_CHICKEN_COMPILER_IMPORT_LIBRARIES),chicken.compiler.$(lib))266267ifdef STATICBUILD268CHICKEN_STATIC_EXECUTABLE = $(CHICKEN_PROGRAM)$(EXE)269CSI_STATIC_EXECUTABLE = $(CSI_PROGRAM)$(EXE)270CHICKEN_SHARED_EXECUTABLE = $(CHICKEN_PROGRAM)-shared$(EXE)271CSI_SHARED_EXECUTABLE = $(CSI_PROGRAM)-shared$(EXE)272TARGETLIBS ?= lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)-static$(A)273TARGETS += $(TARGETLIBS) $(CHICKEN_STATIC_EXECUTABLE) \274 $(CSI_STATIC_EXECUTABLE)275else276CHICKEN_STATIC_EXECUTABLE = $(CHICKEN_PROGRAM)-static$(EXE)277CSI_STATIC_EXECUTABLE = $(CSI_PROGRAM)-static$(EXE)278CHICKEN_SHARED_EXECUTABLE = $(CHICKEN_PROGRAM)$(EXE)279CSI_SHARED_EXECUTABLE = $(CSI_PROGRAM)$(EXE)280TARGETLIBS ?= lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)-static$(A) $(LIBCHICKEN_SO_FILE)281TARGETS += $(TARGETLIBS) $(CHICKEN_SHARED_EXECUTABLE) \282 $(CSI_SHARED_EXECUTABLE) \283 $(IMPORT_LIBRARIES:%=%.import.so)284endif285286TARGETS += $(CHICKEN_INSTALL_PROGRAM)$(EXE) \287 $(CHICKEN_UNINSTALL_PROGRAM)$(EXE) \288 $(CHICKEN_STATUS_PROGRAM)$(EXE) \289 $(CHICKEN_PROFILE_PROGRAM)$(EXE) \290 $(CSC_PROGRAM)$(EXE) \291 $(CHICKEN_DO_PROGRAM)$(EXE)292293ifdef WINDOWS294TARGETS += chicken.rc$(O)295endif296297298# main rule299300.PHONY: all301302all: $(TARGETS)303304# generic part of chicken-config.h305306chicken-defaults.h: config.make307ifdef OPTIMIZE_FOR_SPEED308 $(call echo, >,$@.tmp, /* (this build was optimized for speed) */)309endif310ifdef DEBUGBUILD311 $(call echo, >>, $@.tmp,#define DEBUGBUILD 1)312endif313ifdef STATICBUILD314 $(call echo, >>, $@.tmp,#define STATICBUILD 1)315endif316 $(call echo, >>, $@.tmp,#define C_CHICKEN_PROGRAM "$(CHICKEN_PROGRAM)$(EXE)")317 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_CC)318 $(call echo, >>, $@.tmp,# define C_INSTALL_CC "$(C_COMPILER)")319 $(call echo, >>, $@.tmp,#endif)320 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_CXX)321 $(call echo, >>, $@.tmp,# define C_INSTALL_CXX "$(CXX_COMPILER)")322 $(call echo, >>, $@.tmp,#endif)323 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_POSTINSTALL_PROGRAM)324 $(call echo, >>, $@.tmp,# define C_INSTALL_POSTINSTALL_PROGRAM "$(POSTINSTALL_PROGRAM)")325 $(call echo, >>, $@.tmp,#endif)326 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_RC_COMPILER)327 $(call echo, >>, $@.tmp,# define C_INSTALL_RC_COMPILER "$(RC_COMPILER)")328 $(call echo, >>, $@.tmp,#endif)329 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_CFLAGS)330 $(call echo, >>, $@.tmp,# define C_INSTALL_CFLAGS "$(C_COMPILER_OPTIONS) $(C_COMPILER_OPTIMIZATION_OPTIONS)")331 $(call echo, >>, $@.tmp,#endif)332 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_LDFLAGS)333 $(call echo, >>, $@.tmp,# define C_INSTALL_LDFLAGS "$(LINKER_OPTIONS) $(LINKER_OPTIMIZATION_OPTIONS)")334 $(call echo, >>, $@.tmp,#endif)335 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_PREFIX)336 $(call echo, >>, $@.tmp,# define C_INSTALL_PREFIX "$(PREFIX)")337 $(call echo, >>, $@.tmp,#endif)338 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_SHARE_HOME)339 $(call echo, >>, $@.tmp,# define C_INSTALL_SHARE_HOME "$(DATADIR)")340 $(call echo, >>, $@.tmp,#endif)341 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_BIN_HOME)342 $(call echo, >>, $@.tmp,# define C_INSTALL_BIN_HOME "$(BINDIR)")343 $(call echo, >>, $@.tmp,#endif)344 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_EGG_HOME)345 $(call echo, >>, $@.tmp,# define C_INSTALL_EGG_HOME "$(EGGDIR)")346 $(call echo, >>, $@.tmp,#endif)347 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_LIB_HOME)348 $(call echo, >>, $@.tmp,# define C_INSTALL_LIB_HOME "$(LIBDIR)")349 $(call echo, >>, $@.tmp,#endif)350 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_LIB_NAME)351 $(call echo, >>, $@.tmp,# define C_INSTALL_LIB_NAME "$(INSTALL_LIB_NAME)")352 $(call echo, >>, $@.tmp,#endif)353 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_STATIC_LIB_HOME)354 $(call echo, >>, $@.tmp,# define C_INSTALL_STATIC_LIB_HOME "$(LIBDIR)")355 $(call echo, >>, $@.tmp,#endif)356 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_INCLUDE_HOME)357 $(call echo, >>, $@.tmp,# define C_INSTALL_INCLUDE_HOME "$(CHICKENINCDIR)")358 $(call echo, >>, $@.tmp,#endif)359 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_MORE_LIBS)360 $(call echo, >>, $@.tmp,# define C_INSTALL_MORE_LIBS "$(LIBRARIES)")361 $(call echo, >>, $@.tmp,#endif)362 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_MORE_STATIC_LIBS)363 $(call echo, >>, $@.tmp,# define C_INSTALL_MORE_STATIC_LIBS "$(LIBRARIES)")364 $(call echo, >>, $@.tmp,#endif)365 $(call echo, >>, $@.tmp,#ifndef C_STACK_GROWS_DOWNWARD)366 $(call echo, >>, $@.tmp,# define C_STACK_GROWS_DOWNWARD $(STACKDIRECTION))367 $(call echo, >>, $@.tmp,#endif)368 $(call echo, >>, $@.tmp,#ifndef C_TARGET_MORE_LIBS)369 $(call echo, >>, $@.tmp,# define C_TARGET_MORE_LIBS "$(TARGET_LIBRARIES)")370 $(call echo, >>, $@.tmp,#endif)371 $(call echo, >>, $@.tmp,#ifndef C_TARGET_MORE_STATIC_LIBS)372 $(call echo, >>, $@.tmp,# define C_TARGET_MORE_STATIC_LIBS "$(TARGET_LIBRARIES)")373 $(call echo, >>, $@.tmp,#endif)374 $(call echo, >>, $@.tmp,#ifndef C_TARGET_CC)375 $(call echo, >>, $@.tmp,# define C_TARGET_CC "$(TARGET_C_COMPILER)")376 $(call echo, >>, $@.tmp,#endif)377 $(call echo, >>, $@.tmp,#ifndef C_TARGET_CXX)378 $(call echo, >>, $@.tmp,# define C_TARGET_CXX "$(TARGET_CXX_COMPILER)")379 $(call echo, >>, $@.tmp,#endif)380 $(call echo, >>, $@.tmp,#ifndef C_TARGET_RC_COMPILER)381 $(call echo, >>, $@.tmp,# define C_TARGET_RC_COMPILER "$(TARGET_RC_COMPILER)")382 $(call echo, >>, $@.tmp,#endif)383 $(call echo, >>, $@.tmp,#ifndef C_TARGET_LIBRARIAN)384 $(call echo, >>, $@.tmp,# define C_TARGET_LIBRARIAN "$(TARGET_LIBRARIAN)")385 $(call echo, >>, $@.tmp,#endif)386 $(call echo, >>, $@.tmp,#ifndef C_TARGET_INSTALL_PROGRAM)387 $(call echo, >>, $@.tmp,# define C_TARGET_INSTALL_PROGRAM "$(INSTALL_PROGRAM)")388 $(call echo, >>, $@.tmp,#endif)389 $(call echo, >>, $@.tmp,#ifndef C_TARGET_CFLAGS)390 $(call echo, >>, $@.tmp,# define C_TARGET_CFLAGS "$(TARGET_C_COMPILER_OPTIONS) $(TARGET_C_COMPILER_OPTIMIZATION_OPTIONS)")391 $(call echo, >>, $@.tmp,#endif)392 $(call echo, >>, $@.tmp,#ifndef C_TARGET_LIBRARIAN_FLAGS)393 $(call echo, >>, $@.tmp,# define C_TARGET_LIBRARIAN_FLAGS "$(TARGET_LIBRARIAN_OPTIONS)")394 $(call echo, >>, $@.tmp,#endif)395 $(call echo, >>, $@.tmp,#ifndef C_TARGET_LDFLAGS)396 $(call echo, >>, $@.tmp,# define C_TARGET_LDFLAGS "$(TARGET_LINKER_OPTIONS) $(TARGET_LINKER_OPTIMIZATION_OPTIONS)")397 $(call echo, >>, $@.tmp,#endif)398 $(call echo, >>, $@.tmp,#ifndef C_TARGET_INSTALL_PROGRAM_EXECUTABLE_OPTIONS)399 $(call echo, >>, $@.tmp,# define C_TARGET_INSTALL_PROGRAM_EXECUTABLE_OPTIONS "$(INSTALL_PROGRAM_EXECUTABLE_OPTIONS)")400 $(call echo, >>, $@.tmp,#endif)401 $(call echo, >>, $@.tmp,#ifndef C_TARGET_INSTALL_PROGRAM_FILE_OPTIONS)402 $(call echo, >>, $@.tmp,# define C_TARGET_INSTALL_PROGRAM_FILE_OPTIONS "$(INSTALL_PROGRAM_FILE_OPTIONS)")403 $(call echo, >>, $@.tmp,#endif)404 $(call echo, >>, $@.tmp,#ifndef C_TARGET_FEATURES)405 $(call echo, >>, $@.tmp,# define C_TARGET_FEATURES "$(TARGET_FEATURES)")406 $(call echo, >>, $@.tmp,#endif)407 $(call echo, >>, $@.tmp,#ifndef C_CROSS_CHICKEN)408 $(call echo, >>, $@.tmp,# define C_CROSS_CHICKEN $(CROSS_CHICKEN))409 $(call echo, >>, $@.tmp,#endif)410 $(call echo, >>, $@.tmp,#ifndef C_TARGET_PREFIX)411 $(call echo, >>, $@.tmp,# define C_TARGET_PREFIX "$(TARGET_PREFIX)")412 $(call echo, >>, $@.tmp,#endif)413 $(call echo, >>, $@.tmp,#ifndef C_TARGET_BIN_HOME)414 $(call echo, >>, $@.tmp,# define C_TARGET_BIN_HOME "$(TARGET_PREFIX)/bin")415 $(call echo, >>, $@.tmp,#endif)416 $(call echo, >>, $@.tmp,#ifndef C_TARGET_LIB_HOME)417 $(call echo, >>, $@.tmp,# define C_TARGET_LIB_HOME "$(TARGET_PREFIX)/lib")418 $(call echo, >>, $@.tmp,#endif)419 $(call echo, >>, $@.tmp,#ifndef C_TARGET_LIB_NAME)420 $(call echo, >>, $@.tmp,# define C_TARGET_LIB_NAME "$(TARGET_LIB_NAME)")421 $(call echo, >>, $@.tmp,#endif)422 $(call echo, >>, $@.tmp,#ifndef C_TARGET_RUN_LIB_HOME)423ifdef DLLSINPATH424 $(call echo, >>, $@.tmp,# define C_TARGET_RUN_LIB_HOME "$(TARGET_RUN_PREFIX)/bin")425else426 $(call echo, >>, $@.tmp,# define C_TARGET_RUN_LIB_HOME "$(TARGET_RUN_PREFIX)/lib")427endif428 $(call echo, >>, $@.tmp,#endif)429 $(call echo, >>, $@.tmp,#ifndef C_TARGET_SHARE_HOME)430 $(call echo, >>, $@.tmp,# define C_TARGET_SHARE_HOME "$(TARGET_PREFIX)/share/chicken")431 $(call echo, >>, $@.tmp,#endif)432 $(call echo, >>, $@.tmp,#ifndef C_TARGET_INCLUDE_HOME)433 $(call echo, >>, $@.tmp,# define C_TARGET_INCLUDE_HOME "$(TARGET_PREFIX)/include/chicken")434 $(call echo, >>, $@.tmp,#endif)435 $(call echo, >>, $@.tmp,#ifndef C_TARGET_STATIC_LIB_HOME)436 $(call echo, >>, $@.tmp,# define C_TARGET_STATIC_LIB_HOME "$(TARGET_PREFIX)/lib")437 $(call echo, >>, $@.tmp,#endif)438 $(call echo, >>, $@.tmp,#ifndef C_CHICKEN_PROGRAM)439 $(call echo, >>, $@.tmp,# define C_CHICKEN_PROGRAM "$(CHICKEN_PROGRAM)")440 $(call echo, >>, $@.tmp,#endif)441 $(call echo, >>, $@.tmp,#ifndef C_CSC_PROGRAM)442 $(call echo, >>, $@.tmp,# define C_CSC_PROGRAM "$(CSC_PROGRAM)")443 $(call echo, >>, $@.tmp,#endif)444 $(call echo, >>, $@.tmp,#ifndef C_CSI_PROGRAM)445 $(call echo, >>, $@.tmp,# define C_CSI_PROGRAM "$(CSI_PROGRAM)")446 $(call echo, >>, $@.tmp,#endif)447 $(call echo, >>, $@.tmp,#ifndef C_CHICKEN_DO_PROGRAM)448 $(call echo, >>, $@.tmp,# define C_CHICKEN_DO_PROGRAM "$(CHICKEN_DO_PROGRAM)")449 $(call echo, >>, $@.tmp,#endif)450 $(call echo, >>, $@.tmp,#ifndef C_CHICKEN_INSTALL_PROGRAM)451 $(call echo, >>, $@.tmp,# define C_CHICKEN_INSTALL_PROGRAM "$(CHICKEN_INSTALL_PROGRAM)")452 $(call echo, >>, $@.tmp,#endif)453 $(call echo, >>, $@.tmp,#ifndef C_CHICKEN_UNINSTALL_PROGRAM)454 $(call echo, >>, $@.tmp,# define C_CHICKEN_UNINSTALL_PROGRAM "$(CHICKEN_UNINSTALL_PROGRAM)")455 $(call echo, >>, $@.tmp,#endif)456 $(call echo, >>, $@.tmp,#ifndef C_CHICKEN_STATUS_PROGRAM)457 $(call echo, >>, $@.tmp,# define C_CHICKEN_STATUS_PROGRAM "$(CHICKEN_STATUS_PROGRAM)")458 $(call echo, >>, $@.tmp,#endif)459 $(call echo, >>, $@.tmp,#ifndef C_WINDOWS_SHELL)460ifdef WINDOWS_SHELL461 $(call echo, >>, $@.tmp,# define C_WINDOWS_SHELL 1)462else463 $(call echo, >>, $@.tmp,# define C_WINDOWS_SHELL 0)464endif465 $(call echo, >>, $@.tmp,#endif)466 $(call echo, >>, $@.tmp,#ifndef C_BINARY_VERSION)467 $(call echo, >>, $@.tmp,# define C_BINARY_VERSION $(BINARYVERSION))468 $(call echo, >>, $@.tmp,#endif)469 $(call echo, >>, $@.tmp,#ifndef C_USES_SONAME)470ifdef USES_SONAME471 $(call echo, >>, $@.tmp,# define C_USES_SONAME 1)472else473 $(call echo, >>, $@.tmp,# define C_USES_SONAME 0)474endif475 $(call echo, >>, $@.tmp,#endif)476 $(call echo, >>, $@.tmp,/* END OF FILE */)477 mv $@.tmp $@478479chicken-install.rc:480 $(call echo, >, $@.tmp,/* GENERATED */)481 $(call echo, >>, $@.tmp,1 24 MOVEABLE PURE)482 $(call echo, >>, $@.tmp,BEGIN)483 $(call echo, >>, $@.tmp, "<?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?>\r\n")484 $(call echo, >>, $@.tmp, "<assembly xmlns=""urn:schemas-microsoft-com:asm.v1"" manifestVersion=""1.0"">\r\n")485 $(call echo, >>, $@.tmp, " <assemblyIdentity version=""1.0.0.0"" processorArchitecture=""*"" name=""$(PROGRAM_PREFIX)chicken-install$(PROGRAM_SUFFIX)"" type=""win32""/>\r\n")486 $(call echo, >>, $@.tmp, " <ms_asmv2:trustInfo xmlns:ms_asmv2=""urn:schemas-microsoft-com:asm.v2"">\r\n")487 $(call echo, >>, $@.tmp, " <ms_asmv2:security>\r\n")488 $(call echo, >>, $@.tmp, " <ms_asmv2:requestedPrivileges>\r\n")489 $(call echo, >>, $@.tmp, " <ms_asmv2:requestedExecutionLevel level=""asInvoker"" uiAccess=""false""/>\r\n")490 $(call echo, >>, $@.tmp, " </ms_asmv2:requestedPrivileges>\r\n")491 $(call echo, >>, $@.tmp, " </ms_asmv2:security>\r\n")492 $(call echo, >>, $@.tmp, " </ms_asmv2:trustInfo>\r\n")493 $(call echo, >>, $@.tmp, "</assembly>\r\n")494 $(call echo, >>, $@.tmp,END)495 $(call echo, >>, $@.tmp,/* END OF FILE */)496 mv $@.tmp $@497498chicken-uninstall.rc:499 $(call echo, >, $@.tmp,/* GENERATED */)500 $(call echo, >>, $@.tmp,1 24 MOVEABLE PURE)501 $(call echo, >>, $@.tmp,BEGIN)502 $(call echo, >>, $@.tmp, "<?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?>\r\n")503 $(call echo, >>, $@.tmp, "<assembly xmlns=""urn:schemas-microsoft-com:asm.v1"" manifestVersion=""1.0"">\r\n")504 $(call echo, >>, $@.tmp, " <assemblyIdentity version=""1.0.0.0"" processorArchitecture=""*"" name=""$(PROGRAM_PREFIX)chicken-uninstall$(PROGRAM_SUFFIX)"" type=""win32""/>\r\n")505 $(call echo, >>, $@.tmp, " <ms_asmv2:trustInfo xmlns:ms_asmv2=""urn:schemas-microsoft-com:asm.v2"">\r\n")506 $(call echo, >>, $@.tmp, " <ms_asmv2:security>\r\n")507 $(call echo, >>, $@.tmp, " <ms_asmv2:requestedPrivileges>\r\n")508 $(call echo, >>, $@.tmp, " <ms_asmv2:requestedExecutionLevel level=""asInvoker"" uiAccess=""false""/>\r\n")509 $(call echo, >>, $@.tmp, " </ms_asmv2:requestedPrivileges>\r\n")510 $(call echo, >>, $@.tmp, " </ms_asmv2:security>\r\n")511 $(call echo, >>, $@.tmp, " </ms_asmv2:trustInfo>\r\n")512 $(call echo, >>, $@.tmp, "</assembly>\r\n")513 $(call echo, >>, $@.tmp,END)514 $(call echo, >>, $@.tmp,/* END OF FILE */)515 mv $@.tmp $@