Issue #476 - Build libraries / interpreter using local cyclone

This commit is contained in:
Justin Ethier 2021-08-12 22:15:21 -04:00
parent 140f26ebe9
commit 15a8f2cfe5

View file

@ -5,7 +5,12 @@
include Makefile.config include Makefile.config
# Commands # Commands
CYCLONE = cyclone -A . #
# Set up Cyclone here to build the compiler itself using a system-installed
# compiler (EG: from bootstrap or an earlier cyclone version). Everything
# else can then be built using our local binary.
CYCLONE_SYSTEM = cyclone -A .
CYCLONE_LOCAL = ./cyclone -A . -COPT '-Iinclude' -CLNK '-L.'
CCOMP = $(CC) $(CFLAGS) CCOMP = $(CC) $(CFLAGS)
INDENT_CMD = indent -linux -l80 -i2 -nut INDENT_CMD = indent -linux -l80 -i2 -nut
@ -146,12 +151,12 @@ doc :
.PHONY: clean full bench bootstrap tags indent debug test doc .PHONY: clean full bench bootstrap tags indent debug test doc
$(TESTS) : %: %.scm $(TESTS) : %: %.scm
$(CYCLONE) -I . $< $(CYCLONE_LOCAL) -I . $<
./$@ ./$@
rm -rf $@ rm -rf $@
$(EXAMPLES) : %: %.scm $(EXAMPLES) : %: %.scm
$(CYCLONE) $< $(CYCLONE_LOCAL) $<
game-of-life : game-of-life :
cd $(EXAMPLE_DIR)/game-of-life ; $(MAKE) cd $(EXAMPLE_DIR)/game-of-life ; $(MAKE)
@ -162,13 +167,13 @@ hello-library/hello :
libs : $(COBJECTS) libs : $(COBJECTS)
$(COBJECTS) : %.o: %.sld $(COBJECTS) : %.o: %.sld
$(CYCLONE) $< $(CYCLONE_LOCAL) $<
cyclone : cyclone.scm $(CYC_RT_LIB) $(CYC_BN_LIB) cyclone : cyclone.scm $(CYC_RT_LIB) $(CYC_BN_LIB)
$(CYCLONE) cyclone.scm $(CYCLONE_SYSTEM) cyclone.scm
icyc : icyc.scm $(CYC_RT_LIB) $(CYC_BN_LIB) icyc : icyc.scm $(CYC_RT_LIB) $(CYC_BN_LIB)
$(CYCLONE) $< $(CYCLONE_LOCAL) $<
$(CYC_RT_LIB) : $(CFILES) $(HEADERS) $(CYC_BN_LIB) $(CYC_RT_LIB) : $(CFILES) $(HEADERS) $(CYC_BN_LIB)