# TI-99/4A src/sdl makefile for Linux

CC := g++
CFLAGS := -g -O6 -fstrength-reduce -funroll-loops -malign-jumps=2 -march=pentiumpro -fno-exceptions -fno-rtti
WARNINGS := -Wall -Wno-format -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Winline
INCLUDES := -I../../include -I/usr/include/SDL

.cpp.o:
	$(CC) -c $(CFLAGS) $(WARNINGS) $(INCLUDES) -o $@ $<

.asm.o:
	$(ASM) $@ $<

.SUFFIXES: .cpp .asm .o

all: ti-sdl

clean:
	@rm -rf *~ *.o
	@rm -f ti-sdl

ti-sdl: \
	main.o				\
	bitmap.o			\
	tms9919-sdl.o			\
	tms9918a-sdl.o			\
	ti994a-sdl.o			\
	../core/ti-core.o
	@$(CC) -o $@ $^ -L/usr/lib -lSDL -lpthread

main.o: \
	main.cpp			\
	../../include/common.hpp	\
	../../include/logger.hpp	\
	../../include/cartridge.hpp	\
	../../include/tms9900.hpp	\
	../../include/ti994a.hpp	\
	../../include/ti994a-sdl.hpp	\
	../../include/tms9918a.hpp	\
	../../include/tms9918a-sdl.hpp	\
	../../include/tms9919.hpp	\
	../../include/tms9919-sdl.hpp

tms9919-sdl.o: \
	tms9919-sdl.cpp			\
	../../include/common.hpp	\
	../../include/logger.hpp	\
	../../include/tms9919.hpp	\
	../../include/tms9919-sdl.hpp
 
tms9918a-sdl.o: \
	tms9918a-sdl.cpp		\
	../../include/common.hpp	\
	../../include/logger.hpp	\
	../../include/bitmap.hpp	\
	../../include/tms9900.hpp	\
	../../include/tms9918a.hpp	\
	../../include/ti994a.hpp	\
	../../include/tms9918a-sdl.hpp
 
ti994a-sdl.o: \
	ti994a-sdl.cpp			\
	../../include/common.hpp	\
	../../include/logger.hpp	\
	../../include/bitmap.hpp	\
	../../include/compress.hpp	\
	../../include/cartridge.hpp	\
	../../include/tms9900.hpp	\
	../../include/tms9918a.hpp	\
	../../include/tms9919.hpp	\
	../../include/ti994a.hpp	\
	../../include/ti994a-sdl.hpp
