NITC=../../../bin/nitg all: nitcc calc nitcc_parser_gen: nitcc_parser_gen.nit @echo "*** Compile the nitcc bootstrap parser generator -- level 0" ${NITC} nitcc_parser_gen.nit -v nitcc0: nitcc.nit nitcc_parser_gen @echo "*** Compile the primitive nitcc --- bootstrap level 0" ./nitcc_parser_gen ${NITC} nitcc.nit -v -o nitcc0 nitcc1: nitcc0 nitcc.nit @echo "*** Compile the intermediate nitcc --- bootstrap level 1" ./nitcc0 nitcc.sablecc ${NITC} nitcc.nit -v -o nitcc1 nitcc: nitcc1 nitcc.nit @echo "*** Compile the final nitcc --- bootstrap level 2" ./nitcc1 nitcc.sablecc ${NITC} nitcc.nit -v calc: nitcc ../examples/calc.sablecc ../examples/calc.nit @echo "*** Example program, calc" cd ../examples && ../src/nitcc calc.sablecc ${NITC} ../examples/calc.nit -v ./calc -e "1+2*3-40/5+9------1" minilang: nitcc ../examples/minilang.sablecc ../examples/minilang.nit @echo "*** Example program, minilang" cd ../examples && ../src/nitcc minilang.sablecc ${NITC} ../examples/minilang.nit -v printf "10\n42\n" | ./minilang ../examples/minilang.minilang tests: cd ../tests && ./run .PHONY: tests