LEX = flex -I
YACC = bison -y

CC = gcc -DDYYDEBUG=1

packman: y.tab.o lex.yy.o kernel.o headers.o player.o proto_util.o las_pcap_recv.o las_pack_send.o arch.o packit.o
	$(CC) -o packman y.tab.o lex.yy.o kernel.o headers.o player.o proto_util.o las_pcap_recv.o las_pack_send.o arch.o packit.o -lfl -lpcap

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

y.tab.o: y.tab.c

arch.o: arch.c

headers.o: headers.c

kernel.o: kernel.c

packit.o: ./packer/packit.c
	$(CC) -c -o packit.o ./packer/packit.c

player.o: player.c

las_pack_send.o: las_pack_send.c

las_pcap_recv.o: las_pcap_recv.c

proto_util.o: proto_util.c

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

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

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