CFLAGS = -O -DYYDEBUG

# lang must go first, as it creates lang.h
O = \
	lang.o\
	main.o\
	scan.o

main : $(O)
	gcc -o hexcalc $(O) -lbison -lm

scan.c : scan.l
	flex -I scan.l
	@mv lexyy.c scan.c

scan.o : scan.c
	gcc $(CFLAGS) -c scan.c

lang.c : lang.y
	@becho bison -v -d -o lang.c lang.y^M^J
	@bison -v -d -o langtmp.c lang.y
	@mv langtmp.c lang.c
	@update langtmp.h lang.h
	@rm langtmp.h

lang.o : lang.c
	gcc $(CFLAGS) -c lang.c

clean :
	-@rm *.o main lang.c lang.h scan.c *.obj update.exe

# DEPENDENCIES

main.o : hc.h

scan.o : lang.h hc.h

lang.o : hc.h
