CFLAGS = -O2 -g

.cc.o :
	gcc $(CFLAGS) -c $<

O = \
	compare.o\
	const.o\
	emu.o\
	emuinit.o\
	emumath.o\
	emusubs.o\
	eprintf.o\
	rmov.o

E = \
	e00.o e01.o e02.o e03.o e04.o e05.o e06.o e07.o\
	e10.o e11.o e12.o e13.o e14.o e15.o e16.o e17.o\
	e20.o e21.o e22.o e23.o e24.o e25.o e26.o e27.o\
	e30.o e31.o e32.o e33.o e34.o e35.o e36.o e37.o\
	e40.o e41.o e42.o e43.o e44.o e45.o e46.o e47.o\
	e50.o e51.o e52.o e53.o e54.o e55.o e56.o e57.o\
	e60.o e61.o e62.o e63.o e64.o e65.o e66.o e67.o\
	e70.o e71.o e72.o e73.o e74.o e75.o e76.o e77.o

emu387 : crt0.o main.o $(O) $(E)
	ld -o emu387 crt0.o main.o $(O) $(E) -L../lib -lgcc -lc -lgcc -N -Ttext 0xb00000a8

emutest : emutest.o
	gcc -o emutest emutest.o $(O) $(E)

emutest.o : main.cc
	gcc -DTEST -c main.cc -o emutest.o

crt0.o : ../lib/crt0.S
	gcc -c -DEMU387 ../lib/crt0.S -o crt0.o

clean :
	-del *.o
	-del emu.rf
	-del emutest

# DEPENDENCIES

emu.o : emu.h const.h

e00.o : emu.h rmov.h

e01.o : emu.h rmov.h

e02.o : emu.h rmov.h compare.h

e03.o : emu.h rmov.h compare.h

e04.o : emu.h rmov.h

e05.o : emu.h rmov.h

e06.o : emu.h rmov.h

e07.o : emu.h rmov.h

e10.o : emu.h rmov.h

e11.o : emu.h rmov.h

e12.o : emu.h rmov.h

e13.o : emu.h rmov.h

e14.o : emu.h const.h

e15.o : emu.h const.h

e16.o : emu.h rmov.h

e17.o : emu.h rmov.h

e20.o : emu.h rmov.h

e21.o : emu.h rmov.h

e22.o : emu.h rmov.h compare.h

e23.o : emu.h rmov.h compare.h

e24.o : emu.h rmov.h

e25.o : emu.h rmov.h compare.h

e26.o : emu.h rmov.h

e27.o : emu.h rmov.h

e30.o : emu.h rmov.h

e32.o : emu.h rmov.h

e33.o : emu.h rmov.h

e34.o : emu.h

e35.o : emu.h rmov.h

e37.o : emu.h rmov.h

e40.o : emu.h rmov.h

e41.o : emu.h rmov.h

e42.o : emu.h rmov.h compare.h

e43.o : emu.h rmov.h compare.h

e44.o : emu.h rmov.h

e45.o : emu.h rmov.h

e46.o : emu.h rmov.h

e47.o : emu.h rmov.h

e50.o : emu.h rmov.h

e52.o : emu.h rmov.h

e53.o : emu.h rmov.h

e54.o : emu.h rmov.h compare.h

e55.o : emu.h rmov.h compare.h

e57.o : emu.h rmov.h

e60.o : emu.h rmov.h

e61.o : emu.h rmov.h

e62.o : emu.h rmov.h compare.h

e63.o : emu.h rmov.h compare.h

e64.o : emu.h rmov.h

e65.o : emu.h rmov.h

e66.o : emu.h rmov.h

e67.o : emu.h rmov.h

e70.o : emu.h rmov.h

e72.o : emu.h rmov.h

e73.o : emu.h rmov.h

e74.o : emu.h rmov.h

e75.o : emu.h rmov.h

e76.o : emu.h rmov.h

e77.o : emu.h rmov.h

const.o : emu.h const.h

emumath.o : emu.h const.h

rmov.o : emu.h const.h rmov.h

compare.o : emu.h compare.h const.h
