1
1
mirror of https://github.com/kanaka/mal.git synced 2024-10-05 18:08:55 +03:00

Update to CHICKEN 5

This commit is contained in:
Vasilij Schneidermann 2021-09-11 17:21:56 +02:00 committed by Joel Martin
parent 7d72c1293c
commit 3d34e31ca9
3 changed files with 11 additions and 21 deletions

View File

@ -1,4 +1,4 @@
FROM ubuntu:xenial
FROM ubuntu:focal
MAINTAINER Joel Martin <github@martintribe.org>
##########################################################
@ -23,6 +23,7 @@ WORKDIR /mal
# Prepackaged Scheme implementations
RUN apt-get -y install gauche chicken-bin
RUN chicken-install r7rs
# Chibi
RUN apt-get -y install bison gcc g++ flex

View File

@ -14,10 +14,9 @@ KAWA_STEP1_DEPS = out/lib/util.class out/lib/reader.class \
out/lib/printer.class out/lib/types.class
KAWA_STEP3_DEPS = $(KAWA_STEP1_DEPS) out/lib/env.class
KAWA_STEP4_DEPS = $(KAWA_STEP3_DEPS) out/lib/core.class
CHICKEN_STEP1_DEPS = eggs/lib.util.so eggs/lib.types.so \
eggs/lib.reader.so eggs/lib.printer.so
CHICKEN_STEP3_DEPS = $(CHICKEN_STEP1_DEPS) eggs/lib.env.so
CHICKEN_STEP4_DEPS = $(CHICKEN_STEP3_DEPS) eggs/lib.core.so
CHICKEN_STEP1_DEPS = lib.util.so lib.types.so lib.reader.so lib.printer.so
CHICKEN_STEP3_DEPS = $(CHICKEN_STEP1_DEPS) lib.env.so
CHICKEN_STEP4_DEPS = $(CHICKEN_STEP3_DEPS) lib.core.so
CYCLONE_STEP1_DEPS = lib/util.so lib/reader.so lib/printer.so lib/types.so
CYCLONE_STEP3_DEPS = $(CYCLONE_STEP1_DEPS) lib/env.so
CYCLONE_STEP4_DEPS = $(CYCLONE_STEP3_DEPS) lib/core.so
@ -34,8 +33,8 @@ STEP4_DEPS = $(if $(filter kawa,$(scheme_MODE)),$(KAWA_STEP4_DEPS),\
KAWALIB = kawa --r7rs --no-warn-unused -d out -C
KAWA = kawa --r7rs --no-warn-unused -d out --main -C
CHICKEN = CHICKEN_REPOSITORY=$(CURDIR)/eggs csc -O3 -R r7rs
CHICKENLIB = $(CHICKEN) -sJ
CHICKEN = csc -setup-mode -host -O3 -R r7rs
CHICKENLIB = $(CHICKEN) -D compiling-extension -J -s -regenerate-import-libraries
CYCLONELIB = cyclone -O2
CYCLONE = $(CYCLONELIB)
@ -54,26 +53,19 @@ RMR = rm -rf
all: $(STEPS)
.PHONY: clean
.PRECIOUS: lib/%.scm eggs/lib.%.scm
eggs/r7rs.so:
chicken-install -init eggs
CHICKEN_REPOSITORY=$(CURDIR)/eggs chicken-install r7rs
.PRECIOUS: lib/%.scm
lib/%.scm: lib/%.sld
$(SYMLINK) $< $@
eggs/lib.%.scm: lib/%.sld
$(SYMLINK) $< $@
out/lib/%.class: lib/%.scm
$(SCMLIB) $<
out/%.class: %.scm
$(SCM) $<
eggs/lib.%.so: eggs/lib.%.scm
$(SCMLIB) $<
lib.%.so: lib/%.sld
$(SCMLIB) $< -o $@
lib/%.so: lib/%.sld
$(SCMLIB) $<
@ -85,14 +77,11 @@ out/step1_read_print.class out/step2_eval.class: $(STEP1_DEPS)
out/step3_env.class: $(STEP3_DEPS)
out/step4_if_fn_do.class out/step5_tco.class out/step6_file.class out/step7_quote.class out/step8_macros.class out/step9_try.class out/stepA_mal.class: $(STEP4_DEPS)
step0_repl: $(if $(filter chicken,$(scheme_MODE)),eggs/r7rs.so,)
step1_read_print.scm step2_eval.scm: $(STEP1_DEPS)
step3_env.scm: $(STEP3_DEPS)
step4_if_fn_do.scm step5_tco.scm step6_file.scm step7_quote.scm step8_macros.scm step9_try.scm stepA_mal.scm: $(STEP4_DEPS)
clean:
$(RM) lib/*.scm lib/*.so lib/*.c lib/*.o lib/*.meta
$(RM) lib.*.scm *.so *.c *.o $(BINS)
$(RM) eggs/*
$(RM) lib.*.scm *.build.sh *.install.sh *.link *.so *.c *.o $(BINS)
$(RMR) out