CC = gcc

CFLAGS = -O3 -m64 -c -Wall

LFLAGS = -m64 -lrt

OBJ =	sim0.o \
	sim1.o \
	sim1a.o \
	sim2.o \
	sim3.o \
	sim4.o \
	sim5.o \
	sim6.o \
	sim7.o \
	simctl.o \
	disas.o	\
	simint.o \
	memory.o \
	iosim.o	\
	simfun.o \
	simglb.o \
	config.o

z80sim : $(OBJ)
	$(CC) $(OBJ) $(LFLAGS) -o z80sim

sim0.o : sim0.c	sim.h simglb.h config.h memory.h
	$(CC) $(CFLAGS) sim0.c

sim1.o : sim1.c	sim.h simglb.h config.h memory.h
	$(CC) $(CFLAGS) sim1.c

sim1a.o : sim1a.c sim.h simglb.h config.h memory.h
	$(CC) $(CFLAGS) sim1a.c

sim2.o : sim2.c	sim.h simglb.h config.h memory.h
	$(CC) $(CFLAGS) sim2.c

sim3.o : sim3.c	sim.h simglb.h config.h memory.h
	$(CC) $(CFLAGS) sim3.c

sim4.o : sim4.c	sim.h simglb.h config.h memory.h
	$(CC) $(CFLAGS) sim4.c

sim5.o : sim5.c	sim.h simglb.h config.h memory.h
	$(CC) $(CFLAGS) sim5.c

sim6.o : sim6.c	sim.h simglb.h config.h memory.h
	$(CC) $(CFLAGS) sim6.c

sim7.o : sim7.c	sim.h simglb.h config.h memory.h
	$(CC) $(CFLAGS) sim7.c

simctl.o : simctl.c sim.h simglb.h memory.h
	$(CC) $(CFLAGS) simctl.c

disas.o	: disas.c
	$(CC) $(CFLAGS) disas.c

simint.o : simint.c sim.h simglb.h
	$(CC) $(CFLAGS) simint.c

memory.o : memory.c sim.h
	$(CC) $(CFLAGS) memory.c

iosim.o	: iosim.c sim.h	simglb.h
	$(CC) $(CFLAGS) iosim.c

simfun.o : simfun.c sim.h
	$(CC) $(CFLAGS) simfun.c

simglb.o : simglb.c sim.h
	$(CC) $(CFLAGS) simglb.c

config.o : config.c
	$(CC) $(CFLAGS) config.c

clean:
	rm -f *.o core z80sim

install: z80sim
	cp z80sim ${HOME}/bin
