nestra: emu.c table.o x86.o dynrec.o d6502.o io.o io.h mapper.o mapper.h x11.o fb.o globals.h Makefile
	gcc emu.c mapper.o d6502.o dynrec.o io.o table.o x86.o x11.o fb.o -L/usr/X11R6/lib -lX11 -o nestra

table.o: comptbl table.x86
	./comptbl
	ld -r -b binary -r -defsym TRANS_TBL=_binary_compdata_start compdata -o table.o
	rm compdata

comptbl: comptbl.c
	gcc comptbl.c -o comptbl

x86.o: x86.S mapper.h consts.h
	gcc -c x86.S

dynrec.o: dynrec.c mapper.h globals.h
	gcc -O2 -c dynrec.c

d6502.o: d6502.c globals.h
	gcc -O2 -c d6502.c

io.o: io.c mapper.h io.h globals.h consts.h
	gcc -O2 -c io.c

mapper.o: mapper.c mapper.h consts.h
	gcc -O2 -c mapper.c

x11.o: x11.c io.h mapper.h globals.h
	gcc -O2 -c x11.c

fb.o: fb.c pixels.c mapper.h globals.h
	gcc -O2 -c fb.c

clean: 
	rm comptbl *.o
