From 00cbb08cc46ea6d3635d90960890cab271c6b3ea Mon Sep 17 00:00:00 2001
From: felix <felix@call-with-current-continuation.org>
Date: Thu, 1 Aug 2013 17:12:45 +0200
Subject: [PATCH 1/2] Add set of extra options for compiler, linker and
assembler. This allows easier customization of the
build process for specific targets.
---
Makefile.cygwin | 8 ++++----
Makefile.mingw | 8 ++++----
defaults.make | 15 +++++++++------
rules.make | 26 +++++++++++++-------------
4 files changed, 30 insertions(+), 27 deletions(-)
diff --git a/Makefile.cygwin b/Makefile.cygwin
index 5772caf..7bcfb0e 100644
|
a
|
b
|
chicken-defaults.h: |
| 137 | 137 | echo "# define C_INSTALL_CXX \"$(CXX_COMPILER)\"" >>$@ |
| 138 | 138 | echo "#endif" >>$@ |
| 139 | 139 | echo "#ifndef C_INSTALL_CFLAGS" >>$@ |
| 140 | | echo "# define C_INSTALL_CFLAGS \"$(C_COMPILER_OPTIONS) $(C_COMPILER_OPTIMIZATION_OPTIONS)\"" >>$@ |
| | 140 | echo "# define C_INSTALL_CFLAGS \"$(C_COMPILER_OPTIONS) $(C_COMPILER_EXTRA_OPTIONS) $(C_COMPILER_OPTIMIZATION_OPTIONS)\"" >>$@ |
| 141 | 141 | echo "#endif" >>$@ |
| 142 | 142 | echo "#ifndef C_INSTALL_LDFLAGS" >>$@ |
| 143 | | echo "# define C_INSTALL_LDFLAGS \"$(LINKER_OPTIONS) $(LINKER_OPTIMIZATION_OPTIONS)\"" >>$@ |
| | 143 | echo "# define C_INSTALL_LDFLAGS \"$(LINKER_OPTIONS) $(LINKER_EXTRA_OPTIONS) $(LINKER_OPTIMIZATION_OPTIONS)\"" >>$@ |
| 144 | 144 | echo "#endif" >>$@ |
| 145 | 145 | echo "#ifndef C_INSTALL_PREFIX" >>$@ |
| 146 | 146 | echo "# define C_INSTALL_PREFIX \"$(PREFIX)\"" >>$@ |
| … |
… |
chicken-defaults.h: |
| 197 | 197 | echo "# define C_TARGET_CXX \"$(TARGET_CXX_COMPILER)\"" >>$@ |
| 198 | 198 | echo "#endif" >>$@ |
| 199 | 199 | echo "#ifndef C_TARGET_CFLAGS" >>$@ |
| 200 | | echo "# define C_TARGET_CFLAGS \"$(TARGET_C_COMPILER_OPTIONS) $(TARGET_C_COMPILER_OPTIMIZATION_OPTIONS)\"" >>$@ |
| | 200 | echo "# define C_TARGET_CFLAGS \"$(TARGET_C_COMPILER_OPTIONS) $(TARGET_C_COMPILER_EXTRA_OPTIONS) $(TARGET_C_COMPILER_OPTIMIZATION_OPTIONS)\"" >>$@ |
| 201 | 201 | echo "#endif" >>$@ |
| 202 | 202 | echo "#ifndef C_TARGET_LDFLAGS" >>$@ |
| 203 | | echo "# define C_TARGET_LDFLAGS \"$(TARGET_LINKER_OPTIONS) $(TARGET_LINKER_OPTIMIZATION_OPTIONS)\"" >>$@ |
| | 203 | echo "# define C_TARGET_LDFLAGS \"$(TARGET_LINKER_OPTIONS) $(TARGET_LINKER_EXTRA_OPTIONS) $(TARGET_LINKER_OPTIMIZATION_OPTIONS)\"" >>$@ |
| 204 | 204 | echo "#endif" >>$@ |
| 205 | 205 | echo "#ifndef C_TARGET_FEATURES" >>$@ |
| 206 | 206 | echo "# define C_TARGET_FEATURES \"$(TARGET_FEATURES)\"" >>$@ |
diff --git a/Makefile.mingw b/Makefile.mingw
index e34f604..8694e2d 100644
|
a
|
b
|
endif |
| 143 | 143 | echo # define C_INSTALL_RC_COMPILER "$(RC_COMPILER)" >>$@ |
| 144 | 144 | echo #endif >>$@ |
| 145 | 145 | echo #ifndef C_INSTALL_CFLAGS >>$@ |
| 146 | | echo # define C_INSTALL_CFLAGS "$(C_COMPILER_OPTIONS) $(C_COMPILER_OPTIMIZATION_OPTIONS)" >>$@ |
| | 146 | echo # define C_INSTALL_CFLAGS "$(C_COMPILER_OPTIONS) $(C_COMPILER_EXTRA_OPTIONS) $(C_COMPILER_OPTIMIZATION_OPTIONS)" >>$@ |
| 147 | 147 | echo #endif >>$@ |
| 148 | 148 | echo #ifndef C_INSTALL_LDFLAGS >>$@ |
| 149 | | echo # define C_INSTALL_LDFLAGS "$(LINKER_OPTIONS) $(LINKER_OPTIMIZATION_OPTIONS)" >>$@ |
| | 149 | echo # define C_INSTALL_LDFLAGS "$(LINKER_OPTIONS) $(LINKER_EXTRA_OPTIONS) $(LINKER_OPTIMIZATION_OPTIONS)" >>$@ |
| 150 | 150 | echo #endif >>$@ |
| 151 | 151 | echo #ifndef C_INSTALL_PREFIX >>$@ |
| 152 | 152 | echo # define C_INSTALL_PREFIX "$(PREFIX)" >>$@ |
| … |
… |
endif |
| 200 | 200 | echo # define C_TARGET_RC_COMPILER "$(TARGET_RC_COMPILER)" >>$@ |
| 201 | 201 | echo #endif >>$@ |
| 202 | 202 | echo #ifndef C_TARGET_CFLAGS >>$@ |
| 203 | | echo # define C_TARGET_CFLAGS "$(TARGET_C_COMPILER_OPTIONS) $(TARGET_C_COMPILER_OPTIMIZATION_OPTIONS)" >>$@ |
| | 203 | echo # define C_TARGET_CFLAGS "$(TARGET_C_COMPILER_OPTIONS) $(TARGET_C_COMPILER_EXTRA_OPTIONS) $(TARGET_C_COMPILER_OPTIMIZATION_OPTIONS)" >>$@ |
| 204 | 204 | echo #endif >>$@ |
| 205 | 205 | echo #ifndef C_TARGET_LDFLAGS >>$@ |
| 206 | | echo # define C_TARGET_LDFLAGS "$(TARGET_LINKER_OPTIONS) $(TARGET_LINKER_OPTIMIZATION_OPTIONS)" >>$@ |
| | 206 | echo # define C_TARGET_LDFLAGS "$(TARGET_LINKER_OPTIONS) $(TARGET_LINKER_EXTRA_OPTIONS) $(TARGET_LINKER_OPTIMIZATION_OPTIONS)" >>$@ |
| 207 | 207 | echo #endif >>$@ |
| 208 | 208 | echo #ifndef C_TARGET_FEATURES >>$@ |
| 209 | 209 | echo # define C_TARGET_FEATURES "$(TARGET_FEATURES)" >>$@ |
diff --git a/defaults.make b/defaults.make
index 9bb2baf..6ef993e 100644
|
a
|
b
|
endif |
| 128 | 128 | |
| 129 | 129 | TARGET_C_COMPILER_OPTIONS ?= $(C_COMPILER_OPTIONS) |
| 130 | 130 | TARGET_C_COMPILER_OPTIMIZATION_OPTIONS ?= $(C_COMPILER_OPTIMIZATION_OPTIONS) |
| | 131 | TARGET_C_COMPILER_EXTRA_OPTIONS ?= $(C_COMPILER_EXTRA_OPTIONS) |
| 131 | 132 | TARGET_PREFIX ?= $(PREFIX) |
| 132 | 133 | TARGET_RUN_PREFIX ?= $(TARGET_PREFIX) |
| 133 | 134 | TARGET_LIBRARIES ?= $(LIBRARIES) |
| 134 | 135 | TARGET_LINKER_OPTIONS ?= $(LINKER_OPTIONS) |
| 135 | 136 | TARGET_LINKER_OPTIMIZATION_OPTIONS ?= $(LINKER_OPTIMIZATION_OPTIONS) |
| | 137 | TARGET_LINKER_EXTRA_OPTIONS ?= $(LINKER_EXTRA_OPTIONS) |
| 136 | 138 | TARGET_FEATURES ?= |
| 137 | | TARGET_LIB_NAME ?= chicken |
| 138 | 139 | |
| 139 | 140 | ifneq ($(TARGET_C_COMPILER),$(C_COMPILER)) |
| 140 | 141 | CROSS_CHICKEN = 1 |
| | 142 | TARGET_LIB_NAME ?= chicken |
| 141 | 143 | else |
| 142 | 144 | CROSS_CHICKEN = 0 |
| | 145 | TARGET_LIB_NAME ?= $(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX) |
| 143 | 146 | endif |
| 144 | 147 | |
| 145 | 148 | |
| … |
… |
INSTALL_PROGRAM_EXECUTABLE_OPTIONS ?= -m755 |
| 200 | 203 | INSTALL_PROGRAM_FILE_OPTIONS ?= -m644 |
| 201 | 204 | MAKEDIR_COMMAND_OPTIONS ?= -p |
| 202 | 205 | endif |
| 203 | | ASSEMBLER_OPTIONS ?= $(C_COMPILER_OPTIONS) |
| | 206 | ASSEMBLER_OPTIONS ?= $(C_COMPILER_OPTIONS) $(C_COMPILER_EXTRA_OPTIONS) |
| 204 | 207 | ASSEMBLER_OUTPUT_OPTION ?= -o |
| 205 | 208 | ASSEMBLER_OUTPUT ?= $(ASSEMBLER_OUTPUT_OPTION) $@ |
| 206 | 209 | ASSEMBLER_COMPILE_OPTION ?= -c |
| … |
… |
endif |
| 356 | 359 | echo "# define C_INSTALL_RC_COMPILER \"$(RC_COMPILER)\"" >>$@ |
| 357 | 360 | echo "#endif" >>$@ |
| 358 | 361 | echo "#ifndef C_INSTALL_CFLAGS" >>$@ |
| 359 | | echo "# define C_INSTALL_CFLAGS \"$(C_COMPILER_OPTIONS) $(C_COMPILER_OPTIMIZATION_OPTIONS)\"" >>$@ |
| | 362 | echo "# define C_INSTALL_CFLAGS \"$(C_COMPILER_OPTIONS) $(C_COMPILER_EXTRA_OPTIONS) $(C_COMPILER_OPTIMIZATION_OPTIONS)\"" >>$@ |
| 360 | 363 | echo "#endif" >>$@ |
| 361 | 364 | echo "#ifndef C_INSTALL_LDFLAGS" >>$@ |
| 362 | | echo "# define C_INSTALL_LDFLAGS \"$(LINKER_OPTIONS) $(LINKER_OPTIMIZATION_OPTIONS)\"" >>$@ |
| | 365 | echo "# define C_INSTALL_LDFLAGS \"$(LINKER_OPTIONS) $(LINKER_EXTRA_OPTIONS) $(LINKER_OPTIMIZATION_OPTIONS)\"" >>$@ |
| 363 | 366 | echo "#endif" >>$@ |
| 364 | 367 | echo "#ifndef C_INSTALL_PREFIX" >>$@ |
| 365 | 368 | echo "# define C_INSTALL_PREFIX \"$(PREFIX)\"" >>$@ |
| … |
… |
endif |
| 413 | 416 | echo "# define C_TARGET_RC_COMPILER \"$(TARGET_RC_COMPILER)\"" >>$@ |
| 414 | 417 | echo "#endif" >>$@ |
| 415 | 418 | echo "#ifndef C_TARGET_CFLAGS" >>$@ |
| 416 | | echo "# define C_TARGET_CFLAGS \"$(TARGET_C_COMPILER_OPTIONS) $(TARGET_C_COMPILER_OPTIMIZATION_OPTIONS)\"" >>$@ |
| | 419 | echo "# define C_TARGET_CFLAGS \"$(TARGET_C_COMPILER_OPTIONS) $(TARGET_C_COMPILER_EXTRA_OPTIONS) $(TARGET_C_COMPILER_OPTIMIZATION_OPTIONS)\"" >>$@ |
| 417 | 420 | echo "#endif" >>$@ |
| 418 | 421 | echo "#ifndef C_TARGET_LDFLAGS" >>$@ |
| 419 | | echo "# define C_TARGET_LDFLAGS \"$(TARGET_LINKER_OPTIONS) $(TARGET_LINKER_OPTIMIZATION_OPTIONS)\"" >>$@ |
| | 422 | echo "# define C_TARGET_LDFLAGS \"$(TARGET_LINKER_OPTIONS) $(TARGET_LINKER_EXTRA_OPTIONS) $(TARGET_LINKER_OPTIMIZATION_OPTIONS)\"" >>$@ |
| 420 | 423 | echo "#endif" >>$@ |
| 421 | 424 | echo "#ifndef C_TARGET_FEATURES" >>$@ |
| 422 | 425 | echo "# define C_TARGET_FEATURES \"$(TARGET_FEATURES)\"" >>$@ |
diff --git a/rules.make b/rules.make
index 30c53fd..cb56bad 100644
|
a
|
b
|
DISTFILES := $(sort $(DISTFILES)) |
| 103 | 103 | |
| 104 | 104 | define declare-shared-library-object |
| 105 | 105 | $(1)$(O): $(1).c chicken.h $$(CHICKEN_CONFIG_H) |
| 106 | | $$(C_COMPILER) $$(C_COMPILER_OPTIONS) \ |
| | 106 | $$(C_COMPILER) $$(C_COMPILER_OPTIONS) $$(C_COMPILER_EXTRA_OPTIONS) \ |
| 107 | 107 | $$(C_COMPILER_COMPILE_OPTION) $$(C_COMPILER_OPTIMIZATION_OPTIONS) $$(C_COMPILER_SHARED_OPTIONS) \ |
| 108 | 108 | $$(C_COMPILER_BUILD_RUNTIME_OPTIONS) $$< $$(C_COMPILER_OUTPUT) \ |
| 109 | 109 | $$(INCLUDES) |
| … |
… |
$(foreach obj, $(LIBCHICKEN_OBJECTS_1),\ |
| 119 | 119 | |
| 120 | 120 | define declare-static-library-object |
| 121 | 121 | $(1)-static$(O): $(1).c chicken.h $$(CHICKEN_CONFIG_H) |
| 122 | | $$(C_COMPILER) $$(C_COMPILER_OPTIONS) \ |
| | 122 | $$(C_COMPILER) $$(C_COMPILER_OPTIONS) $$(C_COMPILER_EXTRA_OPTIONS) \ |
| 123 | 123 | $$(C_COMPILER_COMPILE_OPTION) $$(C_COMPILER_OPTIMIZATION_OPTIONS) \ |
| 124 | 124 | $$(C_COMPILER_STATIC_OPTIONS) \ |
| 125 | 125 | $$(C_COMPILER_BUILD_RUNTIME_OPTIONS) $$< $$(C_COMPILER_OUTPUT) \ |
| … |
… |
$(foreach obj, $(LIBCHICKEN_OBJECTS_1),\ |
| 135 | 135 | |
| 136 | 136 | define declare-import-lib-object |
| 137 | 137 | $(1).import$(O): $(1).import.c chicken.h $$(CHICKEN_CONFIG_H) |
| 138 | | $$(C_COMPILER) $$(C_COMPILER_OPTIONS) $$(C_COMPILER_PTABLES_OPTIONS) \ |
| | 138 | $$(C_COMPILER) $$(C_COMPILER_OPTIONS) $$(C_COMPILER_EXTRA_OPTIONS) $$(C_COMPILER_PTABLES_OPTIONS) \ |
| 139 | 139 | -DC_SHARED $$(C_COMPILER_COMPILE_OPTION) \ |
| 140 | 140 | $$(C_COMPILER_OPTIMIZATION_OPTIONS) $$(C_COMPILER_SHARED_OPTIONS) \ |
| 141 | 141 | $$(C_COMPILER_BUILD_RUNTIME_OPTIONS) $$< $$(C_COMPILER_OUTPUT) \ |
| … |
… |
$(foreach obj,$(SETUP_API_OBJECTS_1),\ |
| 156 | 156 | |
| 157 | 157 | define declare-compiler-object |
| 158 | 158 | $(1)$(O): $(1).c chicken.h $$(CHICKEN_CONFIG_H) |
| 159 | | $$(C_COMPILER) $$(C_COMPILER_OPTIONS) \ |
| | 159 | $$(C_COMPILER) $$(C_COMPILER_OPTIONS) $$(C_COMPILER_EXTRA_OPTIONS) \ |
| 160 | 160 | $$(C_COMPILER_COMPILE_OPTION) $$(C_COMPILER_OPTIMIZATION_OPTIONS) $$(C_COMPILER_SHARED_OPTIONS) $$< \ |
| 161 | 161 | $$(C_COMPILER_OUTPUT) $$(INCLUDES) |
| 162 | 162 | endef |
| … |
… |
$(foreach obj, $(COMPILER_OBJECTS_1),\ |
| 168 | 168 | |
| 169 | 169 | define declare-static-compiler-object |
| 170 | 170 | $(1)-static$(O): $(1).c chicken.h $$(CHICKEN_CONFIG_H) |
| 171 | | $$(C_COMPILER) $$(C_COMPILER_OPTIONS) \ |
| | 171 | $$(C_COMPILER) $$(C_COMPILER_OPTIONS) $$(C_COMPILER_EXTRA_OPTIONS) \ |
| 172 | 172 | $$(C_COMPILER_STATIC_OPTIONS) \ |
| 173 | 173 | $$(C_COMPILER_COMPILE_OPTION) $$(C_COMPILER_OPTIMIZATION_OPTIONS) $$< $$(C_COMPILER_OUTPUT) \ |
| 174 | 174 | $$(INCLUDES) |
| … |
… |
endif |
| 188 | 188 | |
| 189 | 189 | define declare-utility-program-object |
| 190 | 190 | $(1)$(O): $(1).c chicken.h $$(CHICKEN_CONFIG_H) |
| 191 | | $$(C_COMPILER) $$(C_COMPILER_OPTIONS) $$(C_COMPILER_SHARED_OPTIONS) \ |
| | 191 | $$(C_COMPILER) $$(C_COMPILER_OPTIONS) $$(C_COMPILER_EXTRA_OPTIONS) $$(C_COMPILER_SHARED_OPTIONS) \ |
| 192 | 192 | $$(C_COMPILER_COMPILE_OPTION) $$(C_COMPILER_OPTIMIZATION_OPTIONS) $$< $$(C_COMPILER_OUTPUT) \ |
| 193 | 193 | $$(INCLUDES) |
| 194 | 194 | endef |
| … |
… |
$(foreach obj, $(UTILITY_PROGRAM_OBJECTS_1),\ |
| 201 | 201 | |
| 202 | 202 | define declare-always-static-utility-program-object |
| 203 | 203 | $(1)$(O): $(1).c chicken.h $$(CHICKEN_CONFIG_H) |
| 204 | | $$(C_COMPILER) $$(C_COMPILER_OPTIONS) \ |
| | 204 | $$(C_COMPILER) $$(C_COMPILER_OPTIONS) $$(C_COMPILER_EXTRA_OPTIONS) \ |
| 205 | 205 | $$(C_COMPILER_STATIC_OPTIONS) \ |
| 206 | 206 | $$(C_COMPILER_COMPILE_OPTION) $$(C_COMPILER_OPTIMIZATION_OPTIONS) $$< $$(C_COMPILER_OUTPUT) \ |
| 207 | 207 | $$(INCLUDES) |
| … |
… |
$(foreach obj, $(ALWAYS_STATIC_UTILITY_PROGRAM_OBJECTS_1),\ |
| 222 | 222 | libs: $(TARGETLIBS) |
| 223 | 223 | |
| 224 | 224 | lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO): $(LIBCHICKEN_SHARED_OBJECTS) $(APPLY_HACK_OBJECT) |
| 225 | | $(LINKER) $(LINKER_OPTIONS) $(LINKER_LINK_SHARED_LIBRARY_OPTIONS) $(LIBCHICKEN_SO_LINKER_OPTIONS) \ |
| | 225 | $(LINKER) $(LINKER_OPTIONS) $(LINKER_EXTRA_OPTIONS) $(LINKER_LINK_SHARED_LIBRARY_OPTIONS) $(LIBCHICKEN_SO_LINKER_OPTIONS) \ |
| 226 | 226 | $(LINKER_OUTPUT) $^ $(LIBCHICKEN_SO_LIBRARIES) |
| 227 | 227 | ifdef USES_SONAME |
| 228 | 228 | ln -sf $(LIBCHICKEN_SO_FILE) $(LIBCHICKEN_SO_FILE).$(BINARYVERSION) |
| … |
… |
lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A): $(APPLY_HACK_OBJECT) $(LIBCHIC |
| 244 | 244 | # import libraries and extensions |
| 245 | 245 | |
| 246 | 246 | %.so: %.o |
| 247 | | $(LINKER) $(LINKER_OPTIONS) $(LINKER_LINK_SHARED_DLOADABLE_OPTIONS) $^ $(LINKER_OUTPUT_OPTION) $@ \ |
| | 247 | $(LINKER) $(LINKER_OPTIONS) $(LINKER_EXTRA_OPTIONS) $(LINKER_LINK_SHARED_DLOADABLE_OPTIONS) $^ $(LINKER_OUTPUT_OPTION) $@ \ |
| 248 | 248 | $(LINKER_LIBRARY_PREFIX)$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(LINKER_LIBRARY_SUFFIX) \ |
| 249 | 249 | $(LIBRARIES) |
| 250 | 250 | |
| 251 | 251 | # executables |
| 252 | 252 | |
| 253 | 253 | $(CHICKEN_SHARED_EXECUTABLE): $(COMPILER_OBJECTS) $(PRIMARY_LIBCHICKEN) |
| 254 | | $(LINKER) $(LINKER_OPTIONS) $(LINKER_EXECUTABLE_OPTIONS) $(COMPILER_OBJECTS) $(LINKER_OUTPUT) \ |
| | 254 | $(LINKER) $(LINKER_OPTIONS) $(LINKER_EXTRA_OPTIONS) $(LINKER_EXECUTABLE_OPTIONS) $(COMPILER_OBJECTS) $(LINKER_OUTPUT) \ |
| 255 | 255 | $(LINKER_LIBRARY_PREFIX)$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(LINKER_LIBRARY_SUFFIX) $(LINKER_LINK_SHARED_PROGRAM_OPTIONS) $(LIBRARIES) |
| 256 | 256 | |
| 257 | 257 | define declare-program-from-object |
| 258 | 258 | $(1)-RC_FILE = $(if $(and $(RC_COMPILER),$(3)),$(2).rc$(O)) |
| 259 | 259 | |
| 260 | 260 | $(1): $(2)$(O) $$(PRIMARY_LIBCHICKEN) $$($(1)-RC_FILE) |
| 261 | | $$(LINKER) $$(LINKER_OPTIONS) $$(LINKER_EXECUTABLE_OPTIONS) $$< \ |
| | 261 | $$(LINKER) $$(LINKER_OPTIONS) $$(LINKER_EXTRA_OPTIONS) $$(LINKER_EXECUTABLE_OPTIONS) $$< \ |
| 262 | 262 | $$($(1)-RC_FILE) $$(LINKER_OUTPUT) \ |
| 263 | 263 | $$(LINKER_LIBRARY_PREFIX)$$(PROGRAM_PREFIX)chicken$$(PROGRAM_SUFFIX)$$(LINKER_LIBRARY_SUFFIX) \ |
| 264 | 264 | $$(LINKER_LINK_SHARED_PROGRAM_OPTIONS) $$(LIBRARIES) |
| … |
… |
$(eval $(call declare-program-from-object,$(CSC_PROGRAM)$(EXE),csc)) |
| 276 | 276 | # static executables |
| 277 | 277 | |
| 278 | 278 | $(CHICKEN_STATIC_EXECUTABLE): $(COMPILER_STATIC_OBJECTS) lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A) |
| 279 | | $(LINKER) $(LINKER_OPTIONS) $(LINKER_STATIC_OPTIONS) $(COMPILER_STATIC_OBJECTS) $(LINKER_OUTPUT) lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A) $(LIBRARIES) |
| | 279 | $(LINKER) $(LINKER_OPTIONS) $(LINKER_EXTRA_OPTIONS) $(LINKER_STATIC_OPTIONS) $(COMPILER_STATIC_OBJECTS) $(LINKER_OUTPUT) lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A) $(LIBRARIES) |
| 280 | 280 | |
| 281 | 281 | define declare-static-program-from-object |
| 282 | 282 | $(1): $(2)$(O) lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A) |
| 283 | | $$(LINKER) $$(LINKER_OPTIONS) $$(LINKER_STATIC_OPTIONS) $$< $$(LINKER_OUTPUT) lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A) $$(LIBRARIES) |
| | 283 | $$(LINKER) $$(LINKER_OPTIONS) $$(LINKER_EXTRA_OPTIONS) $$(LINKER_STATIC_OPTIONS) $$< $$(LINKER_OUTPUT) lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A) $$(LIBRARIES) |
| 284 | 284 | endef |
| 285 | 285 | |
| 286 | 286 | $(eval $(call declare-program-from-object,$(CSI_STATIC_EXECUTABLE),csi)) |