LEX = flex -I
YACC = bison -y

CC = gcc -DDYYDEBUG=1 -DPACKER

packer: y.tab.o lex.yy.o packit.o arch.o proto_util.o kernel.o headers.o
	$(CC) -o packer y.tab.o lex.yy.o packit.o arch.o proto_util.o kernel.o headers.o -lfl

lex.yy.o: lex.yy.c y.tab.h

y.tab.o: y.tab.c

arch.o: ../arch.c
	$(CC) -c -o arch.o ../arch.c

headers.o: ../headers.c
	$(CC) -c -o headers.o ../headers.c

kernel.o: ../kernel.c
	$(CC) -c -o kernel.o ../kernel.c

packit.o: packit.c

proto_util.o: ../proto_util.c
	$(CC) -c -o proto_util.o ../proto_util.c

y.tab.c y.tab.h: pack_grammar.y
	$(YACC) -d pack_grammar.y

lex.yy.c: pack_scanner.l
	$(LEX) pack_scanner.l

clean:
	rm -f *.o
	rm -f y.tab.*
	rm -f lex.yy.*
	rm -f packer
	rm -f core
