lib/standard/string: Moved escape_to_dot from nitcc to standard/string.nit
[nit.git] / contrib / nitcc / src / Makefile
1 NITC=../../../bin/nitg
2
3 all: nitcc calc
4
5 nitcc_parser_gen: nitcc_parser_gen.nit
6 @echo "*** Compile the nitcc bootstrap parser generator -- level 0"
7 ${NITC} nitcc_parser_gen.nit -v
8
9 nitcc0: nitcc.nit nitcc_parser_gen
10 @echo "*** Compile the primitive nitcc --- bootstrap level 0"
11 ./nitcc_parser_gen
12 ${NITC} nitcc.nit -v -o nitcc0
13
14 nitcc1: nitcc0 nitcc.nit nitcc.sablecc
15 @echo "*** Compile the intermediate nitcc --- bootstrap level 1"
16 ./nitcc0 nitcc.sablecc
17 ${NITC} nitcc.nit -v -o nitcc1
18
19 nitcc: nitcc1 nitcc.nit nitcc.sablecc
20 @echo "*** Compile the final nitcc --- bootstrap level 2"
21 ./nitcc1 nitcc.sablecc
22 ${NITC} nitcc.nit -v
23
24 calc: nitcc ../examples/calc.sablecc ../examples/calc.nit
25 @echo "*** Example program, calc"
26 cd ../examples && ../src/nitcc calc.sablecc
27 ${NITC} ../examples/calc.nit -v
28 ./calc -e "1+2*3-40/5+9------1"
29
30 minilang: nitcc ../examples/minilang.sablecc ../examples/minilang.nit
31 @echo "*** Example program, minilang"
32 cd ../examples && ../src/nitcc minilang.sablecc
33 ${NITC} ../examples/minilang.nit -v
34 printf "10\n42\n" | ./minilang ../examples/minilang.minilang
35
36 tests:
37 cd ../tests && ./run
38
39 clean:
40 rm -r .nit_compile \
41 *.dot *.out \
42 nitcc_lexer.nit nitcc_parser.nit nitcc_test_parser.nit nitcc_parser_gen \
43 nitcc0 nitcc1 \
44 calc \
45 ../examples/*.dot ../examples/*.out ../examples/*_lexer.nit ../examples/*_parser.nit ../examples/*_test_parser.nit \
46 2>/dev/null || true
47
48 .PHONY: tests