2 PROGS
=step0_repl step1_read_print step2_eval step3_env step4_if_fn_do \
3 step5_tco step6_file step7_quote step8_macros step9_try stepA_mal
6 STEP1_DEPS
=${STEP0_DEPS} types.ad
[bs
] types-vector.ad
[bs
] types-hash_map.ad
[bs
] \
7 reader.ad
[bs
] printer.ad
[bs
] smart_pointers.ad
[bs
]
8 STEP2_DEPS
=${STEP1_DEPS}
9 STEP3_DEPS
=${STEP2_DEPS} envs.ad
[bs
] eval_callback.ads
10 STEP4_DEPS
=${STEP3_DEPS} core.ad
[bs
]
12 SOURCES
= $(filter-out $(STEP0_DEPS
),$(STEP4_DEPS
)) stepA_mal.gpr stepa_mal.adb
13 SOURCES_LISP
= $(filter-out $(STEP2_DEPS
),$(SOURCES
))
21 gnatmake
-O3
-gnata
-o
$@
-P
$@
23 step0_repl
: step0_repl.adb
${STEP0_DEPS}
24 step1_read_print
: step1_read_print.adb
${STEP1_DEPS}
25 step2_eval
: step2_eval.adb
${STEP2_DEPS}
26 step3_env
: step3_env.adb eval_callback.ads
${STEP3_DEPS}
27 step4_if_fn_do
: step4_if_fn_do.adb
${STEP4_DEPS}
28 step5_tco
: step5_tco.adb
${STEP4_DEPS}
29 step6_file
: step6_file.adb
${STEP4_DEPS}
30 step7_quote
: step7_quote.adb
${STEP4_DEPS}
31 step8_macros
: step8_macros.adb
${STEP4_DEPS}
32 step9_try
: step9_try.adb
${STEP4_DEPS}
33 stepA_mal
: stepa_mal.adb
${STEP4_DEPS}
39 .PHONY
: stats stats-lisp
43 @printf
"%5s %5s %5s %s\n" `grep -E "^[[:space:]]*--|^[[:space:]]*$$" $^ | wc` "[comments/blanks]"
45 stats-lisp
: $(SOURCES_LISP
)
47 @printf
"%5s %5s %5s %s\n" `grep -E "^[[:space:]]*--|^[[:space:]]*$$" $^ | wc` "[comments/blanks]"