1 BINS
= step0_repl step1_read_print step2_eval step3_env step4_if_fn_do step5_tco
2 BINS
+= step6_file step7_quote step8_macros step9_try stepA_mal
5 CLASSSTEPS
= out
/step0_repl.class out
/step1_read_print.class \
6 out
/step3_env.class out
/step4_if_fn_do.class out
/step5_tco.class \
7 out
/step6_file.class out
/step7_quote.class out
/step8_macros.class \
8 out
/step9_try.class out
/stepA_mal.class
9 STEPS
= $(if
$(filter kawa
,$(scheme_MODE
)),$(CLASSSTEPS
),\
10 $(if
$(filter chicken
,$(scheme_MODE
)),$(BINS
),\
11 $(if
$(filter cyclone
,$(scheme_MODE
)),$(BINS
))))
13 KAWA_STEP1_DEPS
= out
/lib
/util.class out
/lib
/reader.class \
14 out
/lib
/printer.class out
/lib
/types.class
15 KAWA_STEP3_DEPS
= $(KAWA_STEP1_DEPS
) out
/lib
/env.class
16 KAWA_STEP4_DEPS
= $(KAWA_STEP3_DEPS
) out
/lib
/core.class
17 GAUCHE_STEP1_DEPS
= lib
/util.scm lib
/reader.scm lib
/printer.scm lib
/types.scm
18 GAUCHE_STEP3_DEPS
= $(GAUCHE_STEP1_DEPS
) lib
/env.scm
19 GAUCHE_STEP4_DEPS
= $(GAUCHE_STEP3_DEPS
) lib
/core.scm
20 CHICKEN_STEP1_DEPS
= eggs
/lib.util.so eggs
/lib.types.so \
21 eggs
/lib.reader.so eggs
/lib.printer.so
22 CHICKEN_STEP3_DEPS
= $(CHICKEN_STEP1_DEPS
) eggs
/lib.env.so
23 CHICKEN_STEP4_DEPS
= $(CHICKEN_STEP3_DEPS
) eggs
/lib.core.so
24 CYCLONE_STEP1_DEPS
= lib
/util.so lib
/reader.so lib
/printer.so lib
/types.so
25 CYCLONE_STEP3_DEPS
= $(CYCLONE_STEP1_DEPS
) lib
/env.so
26 CYCLONE_STEP4_DEPS
= $(CYCLONE_STEP3_DEPS
) lib
/core.so
28 STEP1_DEPS
= $(if
$(filter kawa
,$(scheme_MODE
)),$(KAWA_STEP1_DEPS
),\
29 $(if
$(filter gauche
,$(scheme_MODE
)),$(GAUCHE_STEP1_DEPS
),\
30 $(if
$(filter chicken
,$(scheme_MODE
)),$(CHICKEN_STEP1_DEPS
),\
31 $(if
$(filter cyclone
,$(scheme_MODE
)),$(CYCLONE_STEP1_DEPS
)))))
32 STEP3_DEPS
= $(if
$(filter kawa
,$(scheme_MODE
)),$(KAWA_STEP3_DEPS
),\
33 $(if
$(filter gauche
,$(scheme_MODE
)),$(GAUCHE_STEP3_DEPS
),\
34 $(if
$(filter chicken
,$(scheme_MODE
)),$(CHICKEN_STEP3_DEPS
),\
35 $(if
$(filter cyclone
,$(scheme_MODE
)),$(CYCLONE_STEP3_DEPS
)))))
36 STEP4_DEPS
= $(if
$(filter kawa
,$(scheme_MODE
)),$(KAWA_STEP4_DEPS
),\
37 $(if
$(filter gauche
,$(scheme_MODE
)),$(GAUCHE_STEP4_DEPS
),\
38 $(if
$(filter chicken
,$(scheme_MODE
)),$(CHICKEN_STEP4_DEPS
),\
39 $(if
$(filter cyclone
,$(scheme_MODE
)),$(CYCLONE_STEP4_DEPS
)))))
41 KAWALIB
= kawa
--r7rs
--no-warn-unused
-d out
-C
42 KAWA
= kawa
--r7rs
--no-warn-unused
-d out
--main
-C
43 CHICKEN
= CHICKEN_REPOSITORY
=$(CURDIR
)/eggs csc
-O3
-R r7rs
44 CHICKENLIB
= $(CHICKEN
) -sJ
45 CYCLONELIB
= cyclone
-O2
46 CYCLONE
= $(CYCLONELIB
)
48 SCMLIB
= $(if
$(filter kawa
,$(scheme_MODE
)),$(KAWALIB
),\
49 $(if
$(filter chicken
,$(scheme_MODE
)),$(CHICKENLIB
),\
50 $(if
$(filter cyclone
,$(scheme_MODE
)),$(CYCLONELIB
))))
51 SCM
= $(if
$(filter kawa
,$(scheme_MODE
)),$(KAWA
),\
52 $(if
$(filter chicken
,$(scheme_MODE
)),$(CHICKEN
),\
53 $(if
$(filter cyclone
,$(scheme_MODE
)),$(CYCLONE
))))
63 .PRECIOUS
: lib
/%.scm eggs
/lib.
%.scm
66 chicken-install
-init eggs
67 CHICKEN_REPOSITORY
=$(CURDIR
)/eggs chicken-install r7rs
72 eggs
/lib.
%.scm
: lib
/%.sld
75 out
/lib
/%.class
: lib
/%.scm
81 eggs
/lib.
%.so
: eggs
/lib.
%.scm
90 out
/step1_read_print.class out
/step2_eval.class
: $(STEP1_DEPS
)
91 out
/step3_env.class
: $(STEP3_DEPS
)
92 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
)
94 step0_repl
: $(if
$(filter chicken
,$(scheme_MODE
)),eggs
/r7rs.so
,)
96 step1_read_print.scm step2_eval.scm
: $(STEP1_DEPS
)
97 step3_env.scm
: $(STEP3_DEPS
)
98 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
)
101 $(RM
) lib
/*.scm lib
/*.so lib
/*.c lib
/*.o lib
/*.meta
102 $(RM
) lib.
*.scm
*.so
*.c
*.o
$(BINS
)