>From 6a82b3a91af50a8044028589fcc005d101b6f66e Mon Sep 17 00:00:00 2001
From: Peter Bex
Date: Sat, 25 Jan 2014 21:36:40 +0100
Subject: [PATCH 3/3] Remove more Makefile redundancy
Remove even more ugly duplication in Mingw Makefile by moving the
quoting style into a function which depends on the shell type.
Now the call looks pretty ugly, but in time we can hopefully replace
the $(call echo, >>, $@,foo) pattern with $(file >> $@,foo)
At least this reduces the possibility of mistakes when tweaking the
generated chicken header files or resource files.
---
Makefile.mingw | 177 ---------------------------
defaults.make | 368 ++++++++++++++++++++++++++++----------------------------
2 files changed, 182 insertions(+), 363 deletions(-)
diff --git a/Makefile.mingw b/Makefile.mingw
index 9f803e7..aa7ab00 100644
--- a/Makefile.mingw
+++ b/Makefile.mingw
@@ -73,7 +73,6 @@ LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,--out-implib,lib$(PROGRAM_PREFIX)chicken$(PRO
LIBCHICKEN_SO_LIBRARIES = -lm -lws2_32
LIBCHICKEN_IMPORT_LIBRARY = lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).dll.a
MAKEDIR_COMMAND_OPTIONS =
-CUSTOM_RC_FILE = 1
# special files
@@ -83,8 +82,6 @@ POSIXFILE = posixwin
# select default and internal settings
-CUSTOM_CHICKEN_DEFAULTS=1
-
include $(SRCDIR)defaults.make
chicken-config.h: chicken-defaults.h
@@ -122,178 +119,4 @@ ifneq ($(HACKED_APPLY),)
endif
type chicken-defaults.h >>$@
-chicken-defaults.h:
-ifdef OPTIMIZE_FOR_SPEED
- echo /* (this build was optimized for speed) */ >>$@
-endif
- echo #define C_CHICKEN_PROGRAM "$(CHICKEN_PROGRAM)$(EXE)" >>$@
- echo #define C_WINDOWS_SHELL 1 >>$@
- echo #ifndef C_INSTALL_CC >>$@
- echo # define C_INSTALL_CC "$(C_COMPILER)" >>$@
- echo #endif >>$@
- echo #ifndef C_INSTALL_CXX >>$@
- echo # define C_INSTALL_CXX "$(CXX_COMPILER)" >>$@
- echo #endif >>$@
- echo #ifndef C_INSTALL_RC_COMPILER >>$@
- echo # define C_INSTALL_RC_COMPILER "$(RC_COMPILER)" >>$@
- echo #endif >>$@
- echo #ifndef C_INSTALL_CFLAGS >>$@
- echo # define C_INSTALL_CFLAGS "$(C_COMPILER_OPTIONS) $(C_COMPILER_OPTIMIZATION_OPTIONS)" >>$@
- echo #endif >>$@
- echo #ifndef C_INSTALL_LDFLAGS >>$@
- echo # define C_INSTALL_LDFLAGS "$(LINKER_OPTIONS) $(LINKER_OPTIMIZATION_OPTIONS)" >>$@
- echo #endif >>$@
- echo #ifndef C_INSTALL_PREFIX >>$@
- echo # define C_INSTALL_PREFIX "$(PREFIX)" >>$@
- echo #endif >>$@
- echo #ifndef C_INSTALL_SHARE_HOME >>$@
- echo # define C_INSTALL_SHARE_HOME "$(DATADIR)" >>$@
- echo #endif >>$@
- echo #ifndef C_INSTALL_BIN_HOME >>$@
- echo # define C_INSTALL_BIN_HOME "$(BINDIR)" >>$@
- echo #endif >>$@
- echo #ifndef C_INSTALL_EGG_HOME >>$@
- echo # define C_INSTALL_EGG_HOME "$(EGGDIR)" >>$@
- echo #endif >>$@
- echo #ifndef C_INSTALL_LIB_HOME >>$@
- echo # define C_INSTALL_LIB_HOME "$(LIBDIR)" >>$@
- echo #endif >>$@
- echo #ifndef C_INSTALL_LIB_NAME >>$@
- echo # define C_INSTALL_LIB_NAME "$(INSTALL_LIB_NAME)" >>$@
- echo #endif >>$@
- echo #ifndef C_INSTALL_STATIC_LIB_HOME >>$@
- echo # define C_INSTALL_STATIC_LIB_HOME "$(LIBDIR)" >>$@
- echo #endif >>$@
- echo #ifndef C_INSTALL_INCLUDE_HOME >>$@
- echo # define C_INSTALL_INCLUDE_HOME "$(INCDIR)" >>$@
- echo #endif >>$@
- echo #ifndef C_INSTALL_MORE_LIBS >>$@
- echo # define C_INSTALL_MORE_LIBS "$(LIBRARIES)" >>$@
- echo #endif >>$@
- echo #ifndef C_INSTALL_MORE_STATIC_LIBS >>$@
- echo # define C_INSTALL_MORE_STATIC_LIBS "$(LIBRARIES)" >>$@
- echo #endif >>$@
- echo #ifndef C_DEFAULT_TARGET_HEAP_SIZE >>$@
- echo # define C_DEFAULT_TARGET_HEAP_SIZE 0 >>$@
- echo #endif >>$@
- echo #ifndef C_STACK_GROWS_DOWNWARD >>$@
- echo # define C_STACK_GROWS_DOWNWARD $(STACKDIRECTION) >>$@
- echo #endif >>$@
- echo #ifndef C_TARGET_MORE_LIBS >>$@
- echo # define C_TARGET_MORE_LIBS "$(TARGET_LIBRARIES)" >>$@
- echo #endif >>$@
- echo #ifndef C_TARGET_MORE_STATIC_LIBS >>$@
- echo # define C_TARGET_MORE_STATIC_LIBS "$(TARGET_LIBRARIES)" >>$@
- echo #endif >>$@
- echo #ifndef C_TARGET_CC >>$@
- echo # define C_TARGET_CC "$(TARGET_C_COMPILER)" >>$@
- echo #endif >>$@
- echo #ifndef C_TARGET_CXX >>$@
- echo # define C_TARGET_CXX "$(TARGET_CXX_COMPILER)" >>$@
- echo #endif >>$@
- echo #ifndef C_TARGET_RC_COMPILER >>$@
- echo # define C_TARGET_RC_COMPILER "$(TARGET_RC_COMPILER)" >>$@
- echo #endif >>$@
- echo #ifndef C_TARGET_CFLAGS >>$@
- echo # define C_TARGET_CFLAGS "$(TARGET_C_COMPILER_OPTIONS) $(TARGET_C_COMPILER_OPTIMIZATION_OPTIONS)" >>$@
- echo #endif >>$@
- echo #ifndef C_TARGET_LDFLAGS >>$@
- echo # define C_TARGET_LDFLAGS "$(TARGET_LINKER_OPTIONS) $(TARGET_LINKER_OPTIMIZATION_OPTIONS)" >>$@
- echo #endif >>$@
- echo #ifndef C_TARGET_FEATURES >>$@
- echo # define C_TARGET_FEATURES "$(TARGET_FEATURES)" >>$@
- echo #endif >>$@
- echo #ifndef C_CROSS_CHICKEN >>$@
- echo # define C_CROSS_CHICKEN $(CROSS_CHICKEN) >>$@
- echo #endif >>$@
- echo #ifndef C_TARGET_PREFIX >>$@
- echo # define C_TARGET_PREFIX "$(TARGET_PREFIX)" >>$@
- echo #endif >>$@
- echo #ifndef C_TARGET_BIN_HOME >>$@
- echo # define C_TARGET_BIN_HOME "$(TARGET_PREFIX)/bin" >>$@
- echo #endif >>$@
- echo #ifndef C_TARGET_LIB_HOME >>$@
- echo # define C_TARGET_LIB_HOME "$(TARGET_PREFIX)/lib" >>$@
- echo #endif >>$@
- echo #ifndef C_TARGET_LIB_NAME >>$@
- echo # define C_TARGET_LIB_NAME "$(TARGET_LIB_NAME)" >>$@
- echo #endif >>$@
- echo #ifndef C_TARGET_RUN_LIB_HOME >>$@
- echo # define C_TARGET_RUN_LIB_HOME "$(TARGET_PREFIX)/bin" >>$@
- echo #endif >>$@
- echo #ifndef C_TARGET_SHARE_HOME >>$@
- echo # define C_TARGET_SHARE_HOME "$(TARGET_PREFIX)/share" >>$@
- echo #endif >>$@
- echo #ifndef C_TARGET_INCLUDE_HOME >>$@
- echo # define C_TARGET_INCLUDE_HOME "$(TARGET_PREFIX)/include/chicken" >>$@
- echo #endif >>$@
- echo #ifndef C_TARGET_STATIC_LIB_HOME >>$@
- echo # define C_TARGET_STATIC_LIB_HOME "$(TARGET_PREFIX)/lib" >>$@
- echo #endif >>$@
- echo #ifndef C_CSC_PROGRAM >>$@
- echo # define C_CSC_PROGRAM "$(CSC_PROGRAM)" >>$@
- echo #endif >>$@
- echo #ifndef C_CSI_PROGRAM >>$@
- echo # define C_CSI_PROGRAM "$(CSI_PROGRAM)" >>$@
- echo #endif >>$@
- echo #ifndef C_CHICKEN_BUG_PROGRAM >>$@
- echo # define C_CHICKEN_BUG_PROGRAM "$(CHICKEN_BUG_PROGRAM)" >>$@
- echo #endif >>$@
- echo #ifndef C_CHICKEN_INSTALL_PROGRAM >>$@
- echo # define C_CHICKEN_INSTALL_PROGRAM "$(CHICKEN_INSTALL_PROGRAM)" >>$@
- echo #endif >>$@
- echo #ifndef C_CHICKEN_UNINSTALL_PROGRAM >>$@
- echo # define C_CHICKEN_UNINSTALL_PROGRAM "$(CHICKEN_UNINSTALL_PROGRAM)" >>$@
- echo #endif >>$@
- echo #ifndef C_CHICKEN_STATUS_PROGRAM >>$@
- echo # define C_CHICKEN_STATUS_PROGRAM "$(CHICKEN_STATUS_PROGRAM)" >>$@
- echo #endif >>$@
- echo #ifndef C_BINARY_VERSION >>$@
- echo # define C_BINARY_VERSION $(BINARYVERSION) >>$@
- echo #endif >>$@
- echo #ifndef C_USES_SONAME >>$@
-ifdef USES_SONAME
- echo # define C_USES_SONAME 1 >>$@
-else
- echo # define C_USES_SONAME 0 >>$@
-endif
- echo #endif >>$@
- echo /* END OF FILE */ >>$@
-
-chicken-install.rc:
- echo /* GENERATED */ >$@
- echo 1 24 MOVEABLE PURE >>$@
- echo BEGIN >>$@
- echo "\r\n" >>$@
- echo "\r\n" >>$@
- echo " \r\n" >>$@
- echo " \r\n" >>$@
- echo " \r\n" >>$@
- echo " \r\n" >>$@
- echo " \r\n" >>$@
- echo " \r\n" >>$@
- echo " \r\n" >>$@
- echo " \r\n" >>$@
- echo "\r\n" >>$@
- echo END >>$@
- echo /* END OF FILE */ >>$@
-
-chicken-uninstall.rc:
- echo /* END OF FILE */ >$@
- echo 1 24 MOVEABLE PURE >>$@
- echo BEGIN >>$@
- echo "\r\n" >>$@
- echo "\r\n" >>$@
- echo " \r\n" >>$@
- echo " \r\n" >>$@
- echo " \r\n" >>$@
- echo " \r\n" >>$@
- echo " \r\n" >>$@
- echo " \r\n" >>$@
- echo " \r\n" >>$@
- echo " \r\n" >>$@
- echo "\r\n" >>$@
- echo END >>$@
- echo /* END OF FILE */ >>$@
-
include $(SRCDIR)rules.make
diff --git a/defaults.make b/defaults.make
index 8cf5dff..a92630a 100644
--- a/defaults.make
+++ b/defaults.make
@@ -225,11 +225,15 @@ COPY_COMMAND = copy /Y
HOSTNAME ?= $(shell hostname)
UNAME_SYS ?= Windows
BUILD_TAG ?= compiled $(BUILD_TIME) on $(HOSTNAME) ($(UNAME_SYS))
+# This is a poor man's version of $(file ...) in GNU Make 4.0
+# We should consider replacing it when it becomes so widespread
+# that systems (Debian, OS X, Haiku, Mingw, Cygwin) are shipping it
+echo = echo $(3)$(1)$(2)
else
COPY_COMMAND = cp
+echo = echo '$(subst ','\'',$(3))'$(1)$(2)
+#' fix Emacs syntax highlighting
endif
-COPYMANY =
-
# file extensions
@@ -340,203 +344,195 @@ all: $(TARGETS)
# generic part of chicken-config.h
-# IMPORTANT: If you change anything here, remember to make a
-# corresponding change in the makefiles which have
-# CUSTOM_CHICKEN_DEFAULTS (currently only mingw)
-ifndef CUSTOM_CHICKEN_DEFAULTS
chicken-defaults.h:
ifdef OPTIMIZE_FOR_SPEED
- echo "/* (this build was optimized for speed) */" >$@
+ $(call echo, >,$@, /* (this build was optimized for speed) */)
endif
ifdef DEBUGBUILD
- echo "#define DEBUGBUILD 1" >> $@
-endif
- echo "#define C_CHICKEN_PROGRAM \"$(CHICKEN_PROGRAM)$(EXE)\"" >>$@
- echo "#ifndef C_INSTALL_CC" >>$@
- echo "# define C_INSTALL_CC \"$(C_COMPILER)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_INSTALL_CXX" >>$@
- echo "# define C_INSTALL_CXX \"$(CXX_COMPILER)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_INSTALL_RC_COMPILER" >>$@
- echo "# define C_INSTALL_RC_COMPILER \"$(RC_COMPILER)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_INSTALL_POSTINSTALL_PROGRAM" >>$@
- echo "# define C_INSTALL_POSTINSTALL_PROGRAM \"$(POSTINSTALL_PROGRAM)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_INSTALL_CFLAGS" >>$@
- echo "# define C_INSTALL_CFLAGS \"$(C_COMPILER_OPTIONS) $(C_COMPILER_OPTIMIZATION_OPTIONS)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_INSTALL_LDFLAGS" >>$@
- echo "# define C_INSTALL_LDFLAGS \"$(LINKER_OPTIONS) $(LINKER_OPTIMIZATION_OPTIONS)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_INSTALL_PREFIX" >>$@
- echo "# define C_INSTALL_PREFIX \"$(PREFIX)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_INSTALL_SHARE_HOME" >>$@
- echo "# define C_INSTALL_SHARE_HOME \"$(DATADIR)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_INSTALL_BIN_HOME" >>$@
- echo "# define C_INSTALL_BIN_HOME \"$(BINDIR)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_INSTALL_EGG_HOME" >>$@
- echo "# define C_INSTALL_EGG_HOME \"$(EGGDIR)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_INSTALL_LIB_HOME" >>$@
- echo "# define C_INSTALL_LIB_HOME \"$(LIBDIR)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_INSTALL_LIB_NAME" >>$@
- echo "# define C_INSTALL_LIB_NAME \"$(INSTALL_LIB_NAME)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_INSTALL_STATIC_LIB_HOME" >>$@
- echo "# define C_INSTALL_STATIC_LIB_HOME \"$(LIBDIR)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_INSTALL_INCLUDE_HOME" >>$@
- echo "# define C_INSTALL_INCLUDE_HOME \"$(INCDIR)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_INSTALL_MORE_LIBS" >>$@
- echo "# define C_INSTALL_MORE_LIBS \"$(LIBRARIES)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_INSTALL_MORE_STATIC_LIBS" >>$@
- echo "# define C_INSTALL_MORE_STATIC_LIBS \"$(LIBRARIES)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_DEFAULT_TARGET_HEAP_SIZE" >>$@
- echo "# define C_DEFAULT_TARGET_HEAP_SIZE 0" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_STACK_GROWS_DOWNWARD" >>$@
- echo "# define C_STACK_GROWS_DOWNWARD $(STACKDIRECTION)" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_TARGET_MORE_LIBS" >>$@
- echo "# define C_TARGET_MORE_LIBS \"$(TARGET_LIBRARIES)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_TARGET_MORE_STATIC_LIBS" >>$@
- echo "# define C_TARGET_MORE_STATIC_LIBS \"$(TARGET_LIBRARIES)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_TARGET_CC" >>$@
- echo "# define C_TARGET_CC \"$(TARGET_C_COMPILER)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_TARGET_CXX" >>$@
- echo "# define C_TARGET_CXX \"$(TARGET_CXX_COMPILER)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_TARGET_RC_COMPILER" >>$@
- echo "# define C_TARGET_RC_COMPILER \"$(TARGET_RC_COMPILER)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_TARGET_CFLAGS" >>$@
- echo "# define C_TARGET_CFLAGS \"$(TARGET_C_COMPILER_OPTIONS) $(TARGET_C_COMPILER_OPTIMIZATION_OPTIONS)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_TARGET_LDFLAGS" >>$@
- echo "# define C_TARGET_LDFLAGS \"$(TARGET_LINKER_OPTIONS) $(TARGET_LINKER_OPTIMIZATION_OPTIONS)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_TARGET_FEATURES" >>$@
- echo "# define C_TARGET_FEATURES \"$(TARGET_FEATURES)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_CROSS_CHICKEN" >>$@
- echo "# define C_CROSS_CHICKEN $(CROSS_CHICKEN)" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_TARGET_PREFIX" >>$@
- echo "# define C_TARGET_PREFIX \"$(TARGET_PREFIX)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_TARGET_BIN_HOME" >>$@
- echo "# define C_TARGET_BIN_HOME \"$(TARGET_PREFIX)/bin\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_TARGET_LIB_HOME" >>$@
- echo "# define C_TARGET_LIB_HOME \"$(TARGET_PREFIX)/lib\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_TARGET_LIB_NAME" >>$@
- echo "# define C_TARGET_LIB_NAME \"$(TARGET_LIB_NAME)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_TARGET_RUN_LIB_HOME" >>$@
+ $(call echo, >>, $@,#define DEBUGBUILD 1)
+endif
+ $(call echo, >>, $@,#define C_CHICKEN_PROGRAM "$(CHICKEN_PROGRAM)$(EXE)")
+ $(call echo, >>, $@,#ifndef C_INSTALL_CC)
+ $(call echo, >>, $@,# define C_INSTALL_CC "$(C_COMPILER)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_INSTALL_CXX)
+ $(call echo, >>, $@,# define C_INSTALL_CXX "$(CXX_COMPILER)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_INSTALL_POSTINSTALL_PROGRAM)
+ $(call echo, >>, $@,# define C_INSTALL_POSTINSTALL_PROGRAM "$(POSTINSTALL_PROGRAM)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_INSTALL_RC_COMPILER)
+ $(call echo, >>, $@,# define C_INSTALL_RC_COMPILER "$(RC_COMPILER)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_INSTALL_CFLAGS)
+ $(call echo, >>, $@,# define C_INSTALL_CFLAGS "$(C_COMPILER_OPTIONS) $(C_COMPILER_OPTIMIZATION_OPTIONS)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_INSTALL_LDFLAGS)
+ $(call echo, >>, $@,# define C_INSTALL_LDFLAGS "$(LINKER_OPTIONS) $(LINKER_OPTIMIZATION_OPTIONS)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_INSTALL_PREFIX)
+ $(call echo, >>, $@,# define C_INSTALL_PREFIX "$(PREFIX)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_INSTALL_SHARE_HOME)
+ $(call echo, >>, $@,# define C_INSTALL_SHARE_HOME "$(DATADIR)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_INSTALL_BIN_HOME)
+ $(call echo, >>, $@,# define C_INSTALL_BIN_HOME "$(BINDIR)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_INSTALL_EGG_HOME)
+ $(call echo, >>, $@,# define C_INSTALL_EGG_HOME "$(EGGDIR)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_INSTALL_LIB_HOME)
+ $(call echo, >>, $@,# define C_INSTALL_LIB_HOME "$(LIBDIR)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_INSTALL_LIB_NAME)
+ $(call echo, >>, $@,# define C_INSTALL_LIB_NAME "$(INSTALL_LIB_NAME)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_INSTALL_STATIC_LIB_HOME)
+ $(call echo, >>, $@,# define C_INSTALL_STATIC_LIB_HOME "$(LIBDIR)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_INSTALL_INCLUDE_HOME)
+ $(call echo, >>, $@,# define C_INSTALL_INCLUDE_HOME "$(INCDIR)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_INSTALL_MORE_LIBS)
+ $(call echo, >>, $@,# define C_INSTALL_MORE_LIBS "$(LIBRARIES)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_INSTALL_MORE_STATIC_LIBS)
+ $(call echo, >>, $@,# define C_INSTALL_MORE_STATIC_LIBS "$(LIBRARIES)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_DEFAULT_TARGET_HEAP_SIZE)
+ $(call echo, >>, $@,# define C_DEFAULT_TARGET_HEAP_SIZE 0)
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_STACK_GROWS_DOWNWARD)
+ $(call echo, >>, $@,# define C_STACK_GROWS_DOWNWARD $(STACKDIRECTION))
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_TARGET_MORE_LIBS)
+ $(call echo, >>, $@,# define C_TARGET_MORE_LIBS "$(TARGET_LIBRARIES)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_TARGET_MORE_STATIC_LIBS)
+ $(call echo, >>, $@,# define C_TARGET_MORE_STATIC_LIBS "$(TARGET_LIBRARIES)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_TARGET_CC)
+ $(call echo, >>, $@,# define C_TARGET_CC "$(TARGET_C_COMPILER)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_TARGET_CXX)
+ $(call echo, >>, $@,# define C_TARGET_CXX "$(TARGET_CXX_COMPILER)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_TARGET_RC_COMPILER)
+ $(call echo, >>, $@,# define C_TARGET_RC_COMPILER "$(TARGET_RC_COMPILER)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_TARGET_CFLAGS)
+ $(call echo, >>, $@,# define C_TARGET_CFLAGS "$(TARGET_C_COMPILER_OPTIONS) $(TARGET_C_COMPILER_OPTIMIZATION_OPTIONS)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_TARGET_LDFLAGS)
+ $(call echo, >>, $@,# define C_TARGET_LDFLAGS "$(TARGET_LINKER_OPTIONS) $(TARGET_LINKER_OPTIMIZATION_OPTIONS)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_TARGET_FEATURES)
+ $(call echo, >>, $@,# define C_TARGET_FEATURES "$(TARGET_FEATURES)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_CROSS_CHICKEN)
+ $(call echo, >>, $@,# define C_CROSS_CHICKEN $(CROSS_CHICKEN))
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_TARGET_PREFIX)
+ $(call echo, >>, $@,# define C_TARGET_PREFIX "$(TARGET_PREFIX)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_TARGET_BIN_HOME)
+ $(call echo, >>, $@,# define C_TARGET_BIN_HOME "$(TARGET_PREFIX)/bin")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_TARGET_LIB_HOME)
+ $(call echo, >>, $@,# define C_TARGET_LIB_HOME "$(TARGET_PREFIX)/lib")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_TARGET_LIB_NAME)
+ $(call echo, >>, $@,# define C_TARGET_LIB_NAME "$(TARGET_LIB_NAME)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_TARGET_RUN_LIB_HOME)
ifdef DLLSINPATH
- echo "# define C_TARGET_RUN_LIB_HOME \"$(TARGET_RUN_PREFIX)/bin\"" >>$@
+ $(call echo, >>, $@,# define C_TARGET_RUN_LIB_HOME "$(TARGET_RUN_PREFIX)/bin")
else
- echo "# define C_TARGET_RUN_LIB_HOME \"$(TARGET_RUN_PREFIX)/lib\"" >>$@
-endif
- echo "#endif" >>$@
- echo "#ifndef C_TARGET_SHARE_HOME" >>$@
- echo "# define C_TARGET_SHARE_HOME \"$(TARGET_PREFIX)/share\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_TARGET_INCLUDE_HOME" >>$@
- echo "# define C_TARGET_INCLUDE_HOME \"$(TARGET_PREFIX)/include/chicken\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_TARGET_STATIC_LIB_HOME" >>$@
- echo "# define C_TARGET_STATIC_LIB_HOME \"$(TARGET_PREFIX)/lib\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_CHICKEN_PROGRAM" >>$@
- echo "# define C_CHICKEN_PROGRAM \"$(CHICKEN_PROGRAM)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_CSC_PROGRAM" >>$@
- echo "# define C_CSC_PROGRAM \"$(CSC_PROGRAM)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_CSI_PROGRAM" >>$@
- echo "# define C_CSI_PROGRAM \"$(CSI_PROGRAM)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_CHICKEN_BUG_PROGRAM" >>$@
- echo "# define C_CHICKEN_BUG_PROGRAM \"$(CHICKEN_BUG_PROGRAM)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_CHICKEN_INSTALL_PROGRAM" >>$@
- echo "# define C_CHICKEN_INSTALL_PROGRAM \"$(CHICKEN_INSTALL_PROGRAM)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_CHICKEN_UNINSTALL_PROGRAM" >>$@
- echo "# define C_CHICKEN_UNINSTALL_PROGRAM \"$(CHICKEN_UNINSTALL_PROGRAM)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_CHICKEN_STATUS_PROGRAM" >>$@
- echo "# define C_CHICKEN_STATUS_PROGRAM \"$(CHICKEN_STATUS_PROGRAM)\"" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_WINDOWS_SHELL" >>$@
+ $(call echo, >>, $@,# define C_TARGET_RUN_LIB_HOME "$(TARGET_RUN_PREFIX)/lib")
+endif
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_TARGET_SHARE_HOME)
+ $(call echo, >>, $@,# define C_TARGET_SHARE_HOME "$(TARGET_PREFIX)/share")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_TARGET_INCLUDE_HOME)
+ $(call echo, >>, $@,# define C_TARGET_INCLUDE_HOME "$(TARGET_PREFIX)/include/chicken")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_TARGET_STATIC_LIB_HOME)
+ $(call echo, >>, $@,# define C_TARGET_STATIC_LIB_HOME "$(TARGET_PREFIX)/lib")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_CHICKEN_PROGRAM)
+ $(call echo, >>, $@,# define C_CHICKEN_PROGRAM "$(CHICKEN_PROGRAM)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_CSC_PROGRAM)
+ $(call echo, >>, $@,# define C_CSC_PROGRAM "$(CSC_PROGRAM)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_CSI_PROGRAM)
+ $(call echo, >>, $@,# define C_CSI_PROGRAM "$(CSI_PROGRAM)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_CHICKEN_BUG_PROGRAM)
+ $(call echo, >>, $@,# define C_CHICKEN_BUG_PROGRAM "$(CHICKEN_BUG_PROGRAM)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_CHICKEN_INSTALL_PROGRAM)
+ $(call echo, >>, $@,# define C_CHICKEN_INSTALL_PROGRAM "$(CHICKEN_INSTALL_PROGRAM)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_CHICKEN_UNINSTALL_PROGRAM)
+ $(call echo, >>, $@,# define C_CHICKEN_UNINSTALL_PROGRAM "$(CHICKEN_UNINSTALL_PROGRAM)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_CHICKEN_STATUS_PROGRAM)
+ $(call echo, >>, $@,# define C_CHICKEN_STATUS_PROGRAM "$(CHICKEN_STATUS_PROGRAM)")
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_WINDOWS_SHELL)
ifdef WINDOWS_SHELL
- echo "# define C_WINDOWS_SHELL 1" >>$@
+ $(call echo, >>, $@,# define C_WINDOWS_SHELL 1)
else
- echo "# define C_WINDOWS_SHELL 0" >>$@
+ $(call echo, >>, $@,# define C_WINDOWS_SHELL 0)
endif
- echo "#endif" >>$@
- echo "#ifndef C_BINARY_VERSION" >>$@
- echo "# define C_BINARY_VERSION $(BINARYVERSION)" >>$@
- echo "#endif" >>$@
- echo "#ifndef C_USES_SONAME" >>$@
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_BINARY_VERSION)
+ $(call echo, >>, $@,# define C_BINARY_VERSION $(BINARYVERSION))
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,#ifndef C_USES_SONAME)
ifdef USES_SONAME
- echo "# define C_USES_SONAME 1" >>$@
+ $(call echo, >>, $@,# define C_USES_SONAME 1)
else
- echo "# define C_USES_SONAME 0" >>$@
+ $(call echo, >>, $@,# define C_USES_SONAME 0)
endif
- echo "#endif" >>$@
- echo "/* END OF FILE */" >>$@
-endif
-# IMPORTANT: Did you read the note at the start of this Make rule?
+ $(call echo, >>, $@,#endif)
+ $(call echo, >>, $@,/* END OF FILE */)
-ifndef CUSTOM_RC_FILE
chicken-install.rc:
- echo '/* GENERATED */' >$@
- echo '1 24 MOVEABLE PURE' >>$@
- echo 'BEGIN' >>$@
- echo ' "\r\n"' >>$@
- echo ' "\r\n"' >>$@
- echo ' " \r\n"' >>$@
- echo ' " \r\n"' >>$@
- echo ' " \r\n"' >>$@
- echo ' " \r\n"' >>$@
- echo ' " \r\n"' >>$@
- echo ' " \r\n"' >>$@
- echo ' " \r\n"' >>$@
- echo ' " \r\n"' >>$@
- echo ' "\r\n"' >>$@
- echo 'END' >>$@
- echo '/* END OF FILE */' >>$@
+ $(call echo, >, $@,/* GENERATED */)
+ $(call echo, >>, $@,1 24 MOVEABLE PURE)
+ $(call echo, >>, $@,BEGIN)
+ $(call echo, >>, $@, "\r\n")
+ $(call echo, >>, $@, "\r\n")
+ $(call echo, >>, $@, " \r\n")
+ $(call echo, >>, $@, " \r\n")
+ $(call echo, >>, $@, " \r\n")
+ $(call echo, >>, $@, " \r\n")
+ $(call echo, >>, $@, " \r\n")
+ $(call echo, >>, $@, " \r\n")
+ $(call echo, >>, $@, " \r\n")
+ $(call echo, >>, $@, " \r\n")
+ $(call echo, >>, $@, "\r\n")
+ $(call echo, >>, $@,END)
+ $(call echo, >>, $@,/* END OF FILE */)
chicken-uninstall.rc:
- echo '/* GENERATED */' >$@
- echo '1 24 MOVEABLE PURE' >>$@
- echo 'BEGIN' >>$@
- echo ' "\r\n"' >>$@
- echo ' "\r\n"' >>$@
- echo ' " \r\n"' >>$@
- echo ' " \r\n"' >>$@
- echo ' " \r\n"' >>$@
- echo ' " \r\n"' >>$@
- echo ' " \r\n"' >>$@
- echo ' " \r\n"' >>$@
- echo ' " \r\n"' >>$@
- echo ' " \r\n"' >>$@
- echo ' "\r\n"' >>$@
- echo 'END' >>$@
- echo '/* END OF FILE */' >>$@
-endif
+ $(call echo, >, $@,/* GENERATED */)
+ $(call echo, >>, $@,1 24 MOVEABLE PURE)
+ $(call echo, >>, $@,BEGIN)
+ $(call echo, >>, $@, "\r\n")
+ $(call echo, >>, $@, "\r\n")
+ $(call echo, >>, $@, " \r\n")
+ $(call echo, >>, $@, " \r\n")
+ $(call echo, >>, $@, " \r\n")
+ $(call echo, >>, $@, " \r\n")
+ $(call echo, >>, $@, " \r\n")
+ $(call echo, >>, $@, " \r\n")
+ $(call echo, >>, $@, " \r\n")
+ $(call echo, >>, $@, " \r\n")
+ $(call echo, >>, $@, "\r\n")
+ $(call echo, >>, $@,END)
+ $(call echo, >>, $@,/* END OF FILE */)
--
1.7.10.4