CC ?= gcc
CFLAGS ?=
LDFLAGS ?=
LDLIBS ?= -lSDL2

SUFFIXES ?= .c .o
.SUFFIXES: $(SUFFIXES) .

PROG = casio_asm_assembler
OBJS = main.o assembler.o assemblerConfig.o
LINK = ../common/*.o

all: $(PROG)

$(PROG): $(OBJS)
	$(CC) $(CFLAGS) $(LDFLAGS) $(LDLIBS) -o $(PROG) $(OBJS) $(LINK)

.c.o:
	$(CC) $(CFLAGS) -c $*.c

clean: 
	rm -f *.o
	rm -f $(PROG)
	rm -f $(PROG).exe

cleanrun: clean run

run: all
	./$(PROG) ../test/test.asm ../test/test.bin

test: clean deps run

deps:
	(cd ../common && make clean && make)
