# Makefile for ti8xemu


####################
### User Options ###
####################

# Use the C or C++ compiler
CC                = gcc
CFLAGS            = -mcpu=i586 -O3 -fomit-frame-pointer

Obj_files         = src/ti8xemu.o src/z80.o src/hardware.o src/screen.o
Headers           = src/kb.h src/z80.h src/z80cdx86.h \
		    src/z80codes.h src/z80daa.h src/z80dasm.h \
		    src/z80io.h

####################
## Makefile rules ##
####################

all: ti8xemu.exe

ti8xemu.exe: $(Obj_files)
	$(CC) $(Obj_files) $(Lib_files) -o ti8xemu.exe -ldzcom -lkb

src/z80.o: src/z80.c makefile $(headers)
	$(CC) -c $(CFLAGS) $< -o src/z80.o

src/ti8xemu.o: src/ti8xemu.c makefile $(headers)
	$(CC) -c $(CFLAGS) $< -o src/ti8xemu.o

src/hardware.o: src/hardware.c makefile $(headers)
	$(CC) -c $(CFLAGS) $< -o src/hardware.o

src/screen.o: src/screen.s makefile $(headers)
	$(CC) -c $(CFLAGS) $< -o src/screen.o

clean:
	rm -f src/*.o
	rm -f ti8xemu.exe

