check:
./microcode/scheme --library lib --batch-mode \
- --load ../tests/check.scm --eval '(%exit)'
+ --load ../tests/check </dev/null
+ all-native: microcode/scheme
all-native: lib/runtime.com
all-native: lib/all.com
- all-native: compile-compiler
- all-native: compile-cref
- all-native: compile-ffi
- all-native: compile-imail
- all-native: compile-runtime
- all-native: compile-sf
- all-native: compile-sos
- all-native: compile-ssp
- all-native: compile-star-parser
- all-native: compile-win32
- all-native: compile-xml
-
- lib/runtime.com: compile-runtime
+ all-native: all-compiler
+ all-native: all-cref
+ all-native: all-edwin
+ all-native: all-ffi
+ all-native: all-imail
+ all-native: all-runtime
+ all-native: all-sf
+ all-native: all-sos
+ all-native: all-ssp
+ all-native: all-star-parser
+ all-native: all-win32
+ all-native: all-xml
+ all-native: cross-target
+
+ @IF_CROSS@COMPILER_SETTINGS_CROSS = (set! compiler:cross-compiling? true)
+ @IF_LIARC@COMPILER_SETTINGS_LIARC = (set! compiler:invoke-c-compiler? false)
+
+ TOOL_COMPILER_SETTINGS = \
+ $(COMPILER_SETTINGS_CROSS) \
+ $(COMPILER_SETTINGS_LIARC)
+
+ HOST_SCHEME = '$(MIT_SCHEME_EXE)' --batch-mode
+ TOOL_COMPILER = $(TOOL_TOOLCHAIN)
+ TOOL_SYNTAXER = $(HOST_SCHEME) --band ./tools/syntaxer.com
+ TOOL_TOOLCHAIN = $(HOST_SCHEME) --band ./tools/compiler.com \
+ --eval '(begin $(TOOL_COMPILER_SETTINGS))'
+
+ .PHONY: toolchain
+ toolchain: tools/compiler.com
+
+ tools/compiler.com:
+ $(MAKE) -f Makefile.tools clean && $(MAKE) -f Makefile.tools allclean
+
+ # This target toolchain crud is a kludge until the whole system can be
+ # cross-compiled. Currently only IMAIL can't be.
+ TARGET_COMPILER_SETTINGS = \
+ $(COMPILER_SETTINGS_LIARC)
+
+ TARGET_RUNTIME = ./microcode/scheme \
+ --library lib --band runtime.com --batch-mode
+ TARGET_COMPILER = $(TARGET_RUNTIME) \
+ --eval '(load-option (quote COMPILER))' \
+ --eval '(begin $(TARGET_COMPILER_SETTINGS))'
+ TARGET_SYNTAXER = $(TARGET_RUNTIME) \
+ --eval '(load-option (quote CREF))' \
+ --eval '(load-option (quote SF))'
+ TARGET_TOOLCHAIN = $(TARGET_RUNTIME) \
+ --eval '(load-option (quote COMPILER))' \
+ --eval '(load-option (quote CREF))' \
+ --eval '(load-option (quote SF))' \
+ --eval '(begin $(TARGET_COMPILER_SETTINGS))'
+
+ .PHONY: target-toolchain
+ target-toolchain: all-compiler
+ target-toolchain: all-cref
+ target-toolchain: all-sf
+ target-toolchain: cross-target
+ target-toolchain: lib/runtime.com
+
+ @IF_LIARC@microcode/scheme: compile-runtime
+ @IF_SVM@microcode/scheme: microcode/svm1-defns.h
+ microcode/scheme:
+ (cd microcode && $(MAKE) all)
+
+ lib/runtime.com: all-runtime
+ lib/runtime.com: cross-target
lib/runtime.com: microcode/scheme
(. etc/functions.sh && get_fasl_file && cd runtime \
- && (echo '(disk-save "../lib/runtime.com")' \
+ && (echo '(disk-save "../$@")' \
| ../microcode/scheme --batch-mode --library ../lib \
--fasl "$${FASL}"))