CPPFLAGS=
CFLAGS=-g -O2 -Wall -Werror
CXXFLAGS=$(CFLAGS)


-include deps

lfn.exe: deps lfn.asm ${LFN_DEPS}
	djasm lfn.asm lfn.exe lfn.map

deps: lfn.asm ${LFN_DEPS}
	echo LFN_DEPS=\\ > deps
	grep -h '\.include' *.asm *.inc | \
		sed -e 's/.*"\(.*\)".*/\1/' | \
		sort | \
		uniq | \
		sed -e 's/$$/\\/' >> deps
	echo '$$e' >> deps

crc48.tab: crcgen
	./crcgen > /dev/null
	sed -e 's,\(/\*.*\*/\),;\1,' \
		-e '/[{}]/d' \
		-e 's/.*0x\([0-9A-F]\{8\}\)\([0-9A-F]\{8\}\).*0x\([0-9A-F]\{8\}\)\([0-9A-F]\{8\}\).*/.dd 0x\2, 0x\1, 0x\4, 0x\3/' \
		-e 's/.*long long.*/crc48_table:/' \
		crctable.out > crc48.tab
	rm crctable.out

crcgen: crcmodel.o crctable.o
	gcc $(LDFLAGS) -o $@ $^

clean:
	rm -f *.o *.tab *.exe *.map crcgen

squeaky: clean
	rm deps
