~ 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_WRITABLE_COMMAND ?= rem169INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS ?= /Y170INSTALL_PROGRAM_STATIC_LIBRARY_OPTIONS ?= /Y171INSTALL_PROGRAM_EXECUTABLE_OPTIONS ?= /Y172INSTALL_PROGRAM_FILE_OPTIONS ?= /Y173else174REMOVE_COMMAND_OPTIONS ?= -f175REMOVE_COMMAND_RECURSIVE_OPTIONS ?= -fr176MAKE_WRITABLE_COMMAND ?= chmod 0755177INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS ?= -m 755178INSTALL_PROGRAM_STATIC_LIBRARY_OPTIONS ?= -m 644179INSTALL_PROGRAM_EXECUTABLE_OPTIONS ?= -m 755180INSTALL_PROGRAM_FILE_OPTIONS ?= -m 644181MAKEDIR_COMMAND_OPTIONS ?= -d -m 755182endif183ASSEMBLER_OPTIONS ?= $(C_COMPILER_OPTIONS)184ASSEMBLER_OUTPUT_OPTION ?= -o185ASSEMBLER_OUTPUT ?= $(ASSEMBLER_OUTPUT_OPTION) $@186ASSEMBLER_COMPILE_OPTION ?= -c187ifdef STATICBUILD188PRIMARY_LIBCHICKEN ?= lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A)189else190ifeq ($(PLATFORM),cygwin)191PRIMARY_LIBCHICKEN = cyg$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)-0.dll192LIBCHICKEN_SO_FILE = cyg$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)-0.dll193else194PRIMARY_LIBCHICKEN ?= lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO)195LIBCHICKEN_SO_FILE ?= lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO)196endif197endif198LIBCHICKEN_SO_LIBRARIES ?= $(LIBRARIES)199200# other settings201202ifdef WINDOWS_SHELL203BUILD_TIME ?= $(shell date /t)204SCRIPT_EXT = .bat205COPY_COMMAND = copy /Y206HOSTNAME ?= $(shell hostname)207UNAME_SYS ?= Windows208# This is a poor man's version of $(file ...) in GNU Make 4.0209# We should consider replacing it when it becomes so widespread210# that systems (Debian, OS X, Haiku, Mingw, Cygwin) are shipping it211echo = echo $(3)$(1)$(2)212else213SCRIPT_EXT =214COPY_COMMAND = cp215echo = echo '$(subst ','\'',$(3))'$(1)$(2)216#' fix Emacs syntax highlighting217endif218WISH ?= "$$wish"219GENERATE_DEBUGGER ?= cat $< >$@; echo 'exec $(WISH) "$(DATADIR)/feathers.tcl" -- "$$@"' >>$@220221222# file extensions223224O ?= .o225A ?= .a226# EXE ?=227SO ?= .so228ASM ?= .S229MAN ?= .mdoc230231# special files232233POSIXFILE ?= posixunix234CHICKEN_CONFIG_H = chicken-config.h235236# bootstrapping compiler237238CHICKEN ?= chicken$(EXE)239240# interpreter for scripts241242CSI ?= csi$(EXE)243244# Scheme compiler flags245246CHICKEN_OPTIONS = -optimize-level 2 -include-path . -include-path $(SRCDIR) -inline -ignore-repository -feature chicken-bootstrap247ifdef DEBUGBUILD248CHICKEN_OPTIONS += -feature debugbuild -verbose249else250CHICKEN_OPTIONS += -no-warnings251endif252ifndef BUILDING_CHICKEN_BOOT253CHICKEN_OPTIONS += -specialize -consult-types-file $(SRCDIR)types.db254endif255CHICKEN_OPTIONS += $(EXTRA_CHICKEN_OPTIONS)256CHICKEN_LIBRARY_OPTIONS = $(CHICKEN_OPTIONS) -explicit-use -no-trace257CHICKEN_PROGRAM_OPTIONS = $(CHICKEN_OPTIONS) -no-lambda-info258CHICKEN_DYNAMIC_OPTIONS = $(CHICKEN_OPTIONS) -feature chicken-compile-shared -dynamic259CHICKEN_IMPORT_LIBRARY_OPTIONS = $(CHICKEN_DYNAMIC_OPTIONS) -no-trace260261ifndef DEBUGBUILD262CHICKEN_PROGRAM_OPTIONS += -no-trace263endif264265CHICKEN_PROGRAM_OPTIONS += $(if $(PROFILE_OBJECTS),-profile)266267# import libraries268269PRIMITIVE_IMPORT_LIBRARIES = chicken.base chicken.condition \270 chicken.csi chicken.foreign chicken.syntax chicken.time271DYNAMIC_IMPORT_LIBRARIES = srfi-4272DYNAMIC_CHICKEN_IMPORT_LIBRARIES = bitwise blob errno file.posix \273 fixnum flonum format gc io keyword load locative memory \274 memory.representation platform plist pretty-print \275 process process.signal process-context process-context.posix \276 random sort string time.posix277DYNAMIC_CHICKEN_COMPILER_IMPORT_LIBRARIES = user-pass278DYNAMIC_CHICKEN_UNIT_IMPORT_LIBRARIES = continuation eval file \279 internal irregex pathname port read-syntax repl tcp280281# targets282283CHICKEN_PROGRAM = $(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)284CSC_PROGRAM = $(PROGRAM_PREFIX)csc$(PROGRAM_SUFFIX)285CSI_PROGRAM = $(PROGRAM_PREFIX)csi$(PROGRAM_SUFFIX)286CHICKEN_PROFILE_PROGRAM = $(PROGRAM_PREFIX)chicken-profile$(PROGRAM_SUFFIX)287CHICKEN_INSTALL_PROGRAM = $(PROGRAM_PREFIX)chicken-install$(PROGRAM_SUFFIX)288CHICKEN_UNINSTALL_PROGRAM = $(PROGRAM_PREFIX)chicken-uninstall$(PROGRAM_SUFFIX)289CHICKEN_STATUS_PROGRAM = $(PROGRAM_PREFIX)chicken-status$(PROGRAM_SUFFIX)290CHICKEN_DO_PROGRAM = $(PROGRAM_PREFIX)chicken-do$(PROGRAM_SUFFIX)291CHICKEN_DEBUGGER_PROGRAM ?= $(PROGRAM_PREFIX)feathers$(PROGRAM_SUFFIX)$(SCRIPT_EXT)292IMPORT_LIBRARIES = $(DYNAMIC_IMPORT_LIBRARIES) \293 $(PRIMITIVE_IMPORT_LIBRARIES) \294 $(foreach lib,$(DYNAMIC_CHICKEN_IMPORT_LIBRARIES),chicken.$(lib)) \295 $(foreach lib,$(DYNAMIC_CHICKEN_UNIT_IMPORT_LIBRARIES),chicken.$(lib)) \296 $(foreach lib,$(DYNAMIC_CHICKEN_COMPILER_IMPORT_LIBRARIES),chicken.compiler.$(lib))297298ifdef STATICBUILD299CHICKEN_STATIC_EXECUTABLE = $(CHICKEN_PROGRAM)$(EXE)300CSI_STATIC_EXECUTABLE = $(CSI_PROGRAM)$(EXE)301CHICKEN_SHARED_EXECUTABLE = $(CHICKEN_PROGRAM)-shared$(EXE)302CSI_SHARED_EXECUTABLE = $(CSI_PROGRAM)-shared$(EXE)303TARGETLIBS ?= lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A)304TARGETS += $(TARGETLIBS) $(CHICKEN_STATIC_EXECUTABLE) \305 $(CSI_STATIC_EXECUTABLE)306else307CHICKEN_STATIC_EXECUTABLE = $(CHICKEN_PROGRAM)-static$(EXE)308CSI_STATIC_EXECUTABLE = $(CSI_PROGRAM)-static$(EXE)309CHICKEN_SHARED_EXECUTABLE = $(CHICKEN_PROGRAM)$(EXE)310CSI_SHARED_EXECUTABLE = $(CSI_PROGRAM)$(EXE)311TARGETLIBS ?= lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A) $(LIBCHICKEN_SO_FILE)312TARGETS += $(TARGETLIBS) $(CHICKEN_SHARED_EXECUTABLE) \313 $(CSI_SHARED_EXECUTABLE) \314 $(IMPORT_LIBRARIES:%=%.import.so)315endif316317TARGETS += $(CHICKEN_INSTALL_PROGRAM)$(EXE) \318 $(CHICKEN_UNINSTALL_PROGRAM)$(EXE) \319 $(CHICKEN_STATUS_PROGRAM)$(EXE) \320 $(CHICKEN_PROFILE_PROGRAM)$(EXE) \321 $(CSC_PROGRAM)$(EXE) \322 $(CHICKEN_DO_PROGRAM)$(EXE) \323 $(CHICKEN_DEBUGGER_PROGRAM)324325ifdef WINDOWS326TARGETS += chicken.rc$(O)327endif328329330# main rule331332.PHONY: all333334all: $(TARGETS)335336# generic part of chicken-config.h337338chicken-defaults.h:339ifdef OPTIMIZE_FOR_SPEED340 $(call echo, >,$@.tmp, /* (this build was optimized for speed) */)341endif342ifdef DEBUGBUILD343 $(call echo, >>, $@.tmp,#define DEBUGBUILD 1)344endif345ifdef STATICBUILD346 $(call echo, >>, $@.tmp,#define STATICBUILD 1)347endif348 $(call echo, >>, $@.tmp,#define C_CHICKEN_PROGRAM "$(CHICKEN_PROGRAM)$(EXE)")349 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_CC)350 $(call echo, >>, $@.tmp,# define C_INSTALL_CC "$(C_COMPILER)")351 $(call echo, >>, $@.tmp,#endif)352 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_CXX)353 $(call echo, >>, $@.tmp,# define C_INSTALL_CXX "$(CXX_COMPILER)")354 $(call echo, >>, $@.tmp,#endif)355 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_POSTINSTALL_PROGRAM)356 $(call echo, >>, $@.tmp,# define C_INSTALL_POSTINSTALL_PROGRAM "$(POSTINSTALL_PROGRAM)")357 $(call echo, >>, $@.tmp,#endif)358 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_RC_COMPILER)359 $(call echo, >>, $@.tmp,# define C_INSTALL_RC_COMPILER "$(RC_COMPILER)")360 $(call echo, >>, $@.tmp,#endif)361 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_CFLAGS)362 $(call echo, >>, $@.tmp,# define C_INSTALL_CFLAGS "$(C_COMPILER_OPTIONS) $(C_COMPILER_OPTIMIZATION_OPTIONS)")363 $(call echo, >>, $@.tmp,#endif)364 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_LDFLAGS)365 $(call echo, >>, $@.tmp,# define C_INSTALL_LDFLAGS "$(LINKER_OPTIONS) $(LINKER_OPTIMIZATION_OPTIONS)")366 $(call echo, >>, $@.tmp,#endif)367 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_PREFIX)368 $(call echo, >>, $@.tmp,# define C_INSTALL_PREFIX "$(PREFIX)")369 $(call echo, >>, $@.tmp,#endif)370 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_SHARE_HOME)371 $(call echo, >>, $@.tmp,# define C_INSTALL_SHARE_HOME "$(DATADIR)")372 $(call echo, >>, $@.tmp,#endif)373 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_BIN_HOME)374 $(call echo, >>, $@.tmp,# define C_INSTALL_BIN_HOME "$(BINDIR)")375 $(call echo, >>, $@.tmp,#endif)376 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_EGG_HOME)377 $(call echo, >>, $@.tmp,# define C_INSTALL_EGG_HOME "$(EGGDIR)")378 $(call echo, >>, $@.tmp,#endif)379 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_LIB_HOME)380 $(call echo, >>, $@.tmp,# define C_INSTALL_LIB_HOME "$(LIBDIR)")381 $(call echo, >>, $@.tmp,#endif)382 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_LIB_NAME)383 $(call echo, >>, $@.tmp,# define C_INSTALL_LIB_NAME "$(INSTALL_LIB_NAME)")384 $(call echo, >>, $@.tmp,#endif)385 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_STATIC_LIB_HOME)386 $(call echo, >>, $@.tmp,# define C_INSTALL_STATIC_LIB_HOME "$(LIBDIR)")387 $(call echo, >>, $@.tmp,#endif)388 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_INCLUDE_HOME)389 $(call echo, >>, $@.tmp,# define C_INSTALL_INCLUDE_HOME "$(CHICKENINCDIR)")390 $(call echo, >>, $@.tmp,#endif)391 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_MORE_LIBS)392 $(call echo, >>, $@.tmp,# define C_INSTALL_MORE_LIBS "$(LIBRARIES)")393 $(call echo, >>, $@.tmp,#endif)394 $(call echo, >>, $@.tmp,#ifndef C_INSTALL_MORE_STATIC_LIBS)395 $(call echo, >>, $@.tmp,# define C_INSTALL_MORE_STATIC_LIBS "$(LIBRARIES)")396 $(call echo, >>, $@.tmp,#endif)397 $(call echo, >>, $@.tmp,#ifndef C_STACK_GROWS_DOWNWARD)398 $(call echo, >>, $@.tmp,# define C_STACK_GROWS_DOWNWARD $(STACKDIRECTION))399 $(call echo, >>, $@.tmp,#endif)400 $(call echo, >>, $@.tmp,#ifndef C_TARGET_MORE_LIBS)401 $(call echo, >>, $@.tmp,# define C_TARGET_MORE_LIBS "$(TARGET_LIBRARIES)")402 $(call echo, >>, $@.tmp,#endif)403 $(call echo, >>, $@.tmp,#ifndef C_TARGET_MORE_STATIC_LIBS)404 $(call echo, >>, $@.tmp,# define C_TARGET_MORE_STATIC_LIBS "$(TARGET_LIBRARIES)")405 $(call echo, >>, $@.tmp,#endif)406 $(call echo, >>, $@.tmp,#ifndef C_TARGET_CC)407 $(call echo, >>, $@.tmp,# define C_TARGET_CC "$(TARGET_C_COMPILER)")408 $(call echo, >>, $@.tmp,#endif)409 $(call echo, >>, $@.tmp,#ifndef C_TARGET_CXX)410 $(call echo, >>, $@.tmp,# define C_TARGET_CXX "$(TARGET_CXX_COMPILER)")411 $(call echo, >>, $@.tmp,#endif)412 $(call echo, >>, $@.tmp,#ifndef C_TARGET_RC_COMPILER)413 $(call echo, >>, $@.tmp,# define C_TARGET_RC_COMPILER "$(TARGET_RC_COMPILER)")414 $(call echo, >>, $@.tmp,#endif)415 $(call echo, >>, $@.tmp,#ifndef C_TARGET_LIBRARIAN)416 $(call echo, >>, $@.tmp,# define C_TARGET_LIBRARIAN "$(TARGET_LIBRARIAN)")417 $(call echo, >>, $@.tmp,#endif)418 $(call echo, >>, $@.tmp,#ifndef C_TARGET_INSTALL_PROGRAM)419 $(call echo, >>, $@.tmp,# define C_TARGET_INSTALL_PROGRAM "$(INSTALL_PROGRAM)")420 $(call echo, >>, $@.tmp,#endif)421 $(call echo, >>, $@.tmp,#ifndef C_TARGET_CFLAGS)422 $(call echo, >>, $@.tmp,# define C_TARGET_CFLAGS "$(TARGET_C_COMPILER_OPTIONS) $(TARGET_C_COMPILER_OPTIMIZATION_OPTIONS)")423 $(call echo, >>, $@.tmp,#endif)424 $(call echo, >>, $@.tmp,#ifndef C_TARGET_LIBRARIAN_FLAGS)425 $(call echo, >>, $@.tmp,# define C_TARGET_LIBRARIAN_FLAGS "$(TARGET_LIBRARIAN_OPTIONS)")426 $(call echo, >>, $@.tmp,#endif)427 $(call echo, >>, $@.tmp,#ifndef C_TARGET_LDFLAGS)428 $(call echo, >>, $@.tmp,# define C_TARGET_LDFLAGS "$(TARGET_LINKER_OPTIONS) $(TARGET_LINKER_OPTIMIZATION_OPTIONS)")429 $(call echo, >>, $@.tmp,#endif)430 $(call echo, >>, $@.tmp,#ifndef C_TARGET_INSTALL_PROGRAM_EXECUTABLE_OPTIONS)431 $(call echo, >>, $@.tmp,# define C_TARGET_INSTALL_PROGRAM_EXECUTABLE_OPTIONS "$(INSTALL_PROGRAM_EXECUTABLE_OPTIONS)")432 $(call echo, >>, $@.tmp,#endif)433 $(call echo, >>, $@.tmp,#ifndef C_TARGET_INSTALL_PROGRAM_FILE_OPTIONS)434 $(call echo, >>, $@.tmp,# define C_TARGET_INSTALL_PROGRAM_FILE_OPTIONS "$(INSTALL_PROGRAM_FILE_OPTIONS)")435 $(call echo, >>, $@.tmp,#endif)436 $(call echo, >>, $@.tmp,#ifndef C_TARGET_FEATURES)437 $(call echo, >>, $@.tmp,# define C_TARGET_FEATURES "$(TARGET_FEATURES)")438 $(call echo, >>, $@.tmp,#endif)439 $(call echo, >>, $@.tmp,#ifndef C_CROSS_CHICKEN)440 $(call echo, >>, $@.tmp,# define C_CROSS_CHICKEN $(CROSS_CHICKEN))441 $(call echo, >>, $@.tmp,#endif)442 $(call echo, >>, $@.tmp,#ifndef C_TARGET_PREFIX)443 $(call echo, >>, $@.tmp,# define C_TARGET_PREFIX "$(TARGET_PREFIX)")444 $(call echo, >>, $@.tmp,#endif)445 $(call echo, >>, $@.tmp,#ifndef C_TARGET_BIN_HOME)446 $(call echo, >>, $@.tmp,# define C_TARGET_BIN_HOME "$(TARGET_PREFIX)/bin")447 $(call echo, >>, $@.tmp,#endif)448 $(call echo, >>, $@.tmp,#ifndef C_TARGET_LIB_HOME)449 $(call echo, >>, $@.tmp,# define C_TARGET_LIB_HOME "$(TARGET_PREFIX)/lib")450 $(call echo, >>, $@.tmp,#endif)451 $(call echo, >>, $@.tmp,#ifndef C_TARGET_LIB_NAME)452 $(call echo, >>, $@.tmp,# define C_TARGET_LIB_NAME "$(TARGET_LIB_NAME)")453 $(call echo, >>, $@.tmp,#endif)454 $(call echo, >>, $@.tmp,#ifndef C_TARGET_RUN_LIB_HOME)455ifdef DLLSINPATH456 $(call echo, >>, $@.tmp,# define C_TARGET_RUN_LIB_HOME "$(TARGET_RUN_PREFIX)/bin")457else458 $(call echo, >>, $@.tmp,# define C_TARGET_RUN_LIB_HOME "$(TARGET_RUN_PREFIX)/lib")459endif460 $(call echo, >>, $@.tmp,#endif)461 $(call echo, >>, $@.tmp,#ifndef C_TARGET_SHARE_HOME)462 $(call echo, >>, $@.tmp,# define C_TARGET_SHARE_HOME "$(TARGET_PREFIX)/share/chicken")463 $(call echo, >>, $@.tmp,#endif)464 $(call echo, >>, $@.tmp,#ifndef C_TARGET_INCLUDE_HOME)465 $(call echo, >>, $@.tmp,# define C_TARGET_INCLUDE_HOME "$(TARGET_PREFIX)/include/chicken")466 $(call echo, >>, $@.tmp,#endif)467 $(call echo, >>, $@.tmp,#ifndef C_TARGET_STATIC_LIB_HOME)468 $(call echo, >>, $@.tmp,# define C_TARGET_STATIC_LIB_HOME "$(TARGET_PREFIX)/lib")469 $(call echo, >>, $@.tmp,#endif)470 $(call echo, >>, $@.tmp,#ifndef C_CHICKEN_PROGRAM)471 $(call echo, >>, $@.tmp,# define C_CHICKEN_PROGRAM "$(CHICKEN_PROGRAM)")472 $(call echo, >>, $@.tmp,#endif)473 $(call echo, >>, $@.tmp,#ifndef C_CSC_PROGRAM)474 $(call echo, >>, $@.tmp,# define C_CSC_PROGRAM "$(CSC_PROGRAM)")475 $(call echo, >>, $@.tmp,#endif)476 $(call echo, >>, $@.tmp,#ifndef C_CSI_PROGRAM)477 $(call echo, >>, $@.tmp,# define C_CSI_PROGRAM "$(CSI_PROGRAM)")478 $(call echo, >>, $@.tmp,#endif)479 $(call echo, >>, $@.tmp,#ifndef C_CHICKEN_DO_PROGRAM)480 $(call echo, >>, $@.tmp,# define C_CHICKEN_DO_PROGRAM "$(CHICKEN_DO_PROGRAM)")481 $(call echo, >>, $@.tmp,#endif)482 $(call echo, >>, $@.tmp,#ifndef C_CHICKEN_INSTALL_PROGRAM)483 $(call echo, >>, $@.tmp,# define C_CHICKEN_INSTALL_PROGRAM "$(CHICKEN_INSTALL_PROGRAM)")484 $(call echo, >>, $@.tmp,#endif)485 $(call echo, >>, $@.tmp,#ifndef C_CHICKEN_UNINSTALL_PROGRAM)486 $(call echo, >>, $@.tmp,# define C_CHICKEN_UNINSTALL_PROGRAM "$(CHICKEN_UNINSTALL_PROGRAM)")487 $(call echo, >>, $@.tmp,#endif)488 $(call echo, >>, $@.tmp,#ifndef C_CHICKEN_STATUS_PROGRAM)489 $(call echo, >>, $@.tmp,# define C_CHICKEN_STATUS_PROGRAM "$(CHICKEN_STATUS_PROGRAM)")490 $(call echo, >>, $@.tmp,#endif)491 $(call echo, >>, $@.tmp,#ifndef C_WINDOWS_SHELL)492ifdef WINDOWS_SHELL493 $(call echo, >>, $@.tmp,# define C_WINDOWS_SHELL 1)494else495 $(call echo, >>, $@.tmp,# define C_WINDOWS_SHELL 0)496endif497 $(call echo, >>, $@.tmp,#endif)498 $(call echo, >>, $@.tmp,#ifndef C_BINARY_VERSION)499 $(call echo, >>, $@.tmp,# define C_BINARY_VERSION $(BINARYVERSION))500 $(call echo, >>, $@.tmp,#endif)501 $(call echo, >>, $@.tmp,#ifndef C_USES_SONAME)502ifdef USES_SONAME503 $(call echo, >>, $@.tmp,# define C_USES_SONAME 1)504else505 $(call echo, >>, $@.tmp,# define C_USES_SONAME 0)506endif507 $(call echo, >>, $@.tmp,#endif)508 $(call echo, >>, $@.tmp,/* END OF FILE */)509 mv $@.tmp $@510511chicken-install.rc:512 $(call echo, >, $@.tmp,/* GENERATED */)513 $(call echo, >>, $@.tmp,1 24 MOVEABLE PURE)514 $(call echo, >>, $@.tmp,BEGIN)515 $(call echo, >>, $@.tmp, "<?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?>\r\n")516 $(call echo, >>, $@.tmp, "<assembly xmlns=""urn:schemas-microsoft-com:asm.v1"" manifestVersion=""1.0"">\r\n")517 $(call echo, >>, $@.tmp, " <assemblyIdentity version=""1.0.0.0"" processorArchitecture=""*"" name=""$(PROGRAM_PREFIX)chicken-install$(PROGRAM_SUFFIX)"" type=""win32""/>\r\n")518 $(call echo, >>, $@.tmp, " <ms_asmv2:trustInfo xmlns:ms_asmv2=""urn:schemas-microsoft-com:asm.v2"">\r\n")519 $(call echo, >>, $@.tmp, " <ms_asmv2:security>\r\n")520 $(call echo, >>, $@.tmp, " <ms_asmv2:requestedPrivileges>\r\n")521 $(call echo, >>, $@.tmp, " <ms_asmv2:requestedExecutionLevel level=""asInvoker"" uiAccess=""false""/>\r\n")522 $(call echo, >>, $@.tmp, " </ms_asmv2:requestedPrivileges>\r\n")523 $(call echo, >>, $@.tmp, " </ms_asmv2:security>\r\n")524 $(call echo, >>, $@.tmp, " </ms_asmv2:trustInfo>\r\n")525 $(call echo, >>, $@.tmp, "</assembly>\r\n")526 $(call echo, >>, $@.tmp,END)527 $(call echo, >>, $@.tmp,/* END OF FILE */)528 mv $@.tmp $@529530chicken-uninstall.rc:531 $(call echo, >, $@.tmp,/* GENERATED */)532 $(call echo, >>, $@.tmp,1 24 MOVEABLE PURE)533 $(call echo, >>, $@.tmp,BEGIN)534 $(call echo, >>, $@.tmp, "<?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?>\r\n")535 $(call echo, >>, $@.tmp, "<assembly xmlns=""urn:schemas-microsoft-com:asm.v1"" manifestVersion=""1.0"">\r\n")536 $(call echo, >>, $@.tmp, " <assemblyIdentity version=""1.0.0.0"" processorArchitecture=""*"" name=""$(PROGRAM_PREFIX)chicken-uninstall$(PROGRAM_SUFFIX)"" type=""win32""/>\r\n")537 $(call echo, >>, $@.tmp, " <ms_asmv2:trustInfo xmlns:ms_asmv2=""urn:schemas-microsoft-com:asm.v2"">\r\n")538 $(call echo, >>, $@.tmp, " <ms_asmv2:security>\r\n")539 $(call echo, >>, $@.tmp, " <ms_asmv2:requestedPrivileges>\r\n")540 $(call echo, >>, $@.tmp, " <ms_asmv2:requestedExecutionLevel level=""asInvoker"" uiAccess=""false""/>\r\n")541 $(call echo, >>, $@.tmp, " </ms_asmv2:requestedPrivileges>\r\n")542 $(call echo, >>, $@.tmp, " </ms_asmv2:security>\r\n")543 $(call echo, >>, $@.tmp, " </ms_asmv2:trustInfo>\r\n")544 $(call echo, >>, $@.tmp, "</assembly>\r\n")545 $(call echo, >>, $@.tmp,END)546 $(call echo, >>, $@.tmp,/* END OF FILE */)547 mv $@.tmp $@