EXE = nspire_emu
OBJ = apb.o asmcode.o cpu.o debug.o emu.o flash.o gui.o link.o memory.o mmu.o sha256.o translate.o usblink.o

FLAGS = -W -Wall $(shell pkg-config --cflags gtk+-2.0)
LIBS = $(shell pkg-config --libs gtk+-2.0 gmodule-2.0)


.PHONY : all
all : $(EXE)

.PHONY : clean
clean :
	rm -f *.o

.PHONY : distclean
distclean : clean
	rm -f $(EXE)

$(EXE) : $(OBJ)
	gcc $(FLAGS) $(OBJ) -o $@ $(LIBS)

cpu.o : cpu.c
	gcc $(FLAGS) -O3 -c $< -o $@

sha256.o : sha256.c
	gcc $(FLAGS) -O3 -c $< -o $@

asmcode.o : asmcode.S
	gcc -c $< -o $@

%.o : %.c
	gcc $(FLAGS) -Os -c $< -o $@
