all: c # create_parser
	echo all up to date

create_parser: TOOLS/create_parser.c
	cc -o create_parser TOOLS/create_parser.c

c: takeon c.c create_parser lexer.c parser.c grammar.c ast.h show_ast.c genstack.c fold.c loops.c switch.c types.c nametable.c blockscope.c populate_types.c ast.c procfn.c booleans.c identity.c drawtree.c
	./maketables grammar
	mv grammar.h c.h
	#cc -o create_parser create_parser.c
	#./create_parser c > ZZZ
	#cp ZZZ /tmp/Note9
	#ecce grammar.c < insert.ecc
	cc -g -o c c.c
	#strip c
	#gzexe c
	#./c TESTS/prog4.c
	# > TESTS/prog4.check
	##diff TESTS/prog4.ast TESTS/prog4.check

takeon: TOOLS/takeon.c
	cc -o takeon TOOLS/takeon.c

release:
	tar -cvf ../mini-c.tar .
	rm -f ../mini-c.tar.gz
	gzip ../mini-c.tar
	scp ../mini-c.tar.gz gtoal@gtoal.com:gtoal.com/compilers101/intro/gtoal/mini-c/
