# TI-99/sim src/util makefile for Linux

CC       := g++
CFLAGS   := -g -O3 -fstrength-reduce -funroll-loops -malign-jumps=2 -march=$(ARCH) -fno-exceptions -fno-rtti
WARNINGS := -Wall -Wno-format -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Winline
INCLUDES := -I../../include
TARGETS  := convert-ctg disk dumpcpu dumpgrom decode tape

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

.SUFFIXES: .cpp .o

all: $(TARGETS)

clean:
	rm -f *~ *.o $(TARGETS)

convert-ctg: \
	convert.o				\
	../core/ti-core.a
	$(CC) -o $@ $^

decode: \
	decode.o
	$(CC) -o $@ $^

disk: \
	disk.o
	$(CC) -o $@ $^

dumpcpu: \
	../console/disassemble.o		\
	dumpcpu.o				\
	../core/ti-core.a
	$(CC) -o $@ $^

dumpgrom: \
	../console/gpl.o			\
	dumpgrom.o				\
	../core/ti-core.a
	$(CC) -o $@ $^

tape: \
	tape.o
	$(CC) -o $@ $^	

convert.o: \
	convert.cpp				\
	../../include/common.hpp		\
	../../include/cartridge.hpp

disk.o: \
	../../include/common.hpp		\

dumpcpu.o: \
	dumpcpu.cpp				\
	../../include/common.hpp		\
	../../include/cartridge.hpp		\
	../../include/tms9900.hpp

dumpgrom.o: \
	dumpgrom.cpp				\
	../../include/common.hpp		\
	../../include/cartridge.hpp
