SDK=gypsy_sdk-0.1.0
ODIR=obj

CFLAGS+=-g -DDEBUG
#CFLAGS+=-O3 -DNDEBUG

INC=-I$(SDK)/include -Isrc

LIBS=-L$(SDK)/lib -lgypsy -lGL

#LIBS+=-Wl,-z,origin,-rpath,'$$ORIGIN/lib'
LIBS+=-Wl,-z,origin,-rpath,'$(SDK)/lib'

GENC=src/app_settings.c src/stages.h

OBJS=$(ODIR)/main.o \
	$(ODIR)/stages.o \
	$(ODIR)/intro.o \
	$(ODIR)/play.o

all: $(ODIR) game

BORON=$(SDK)/bin/boron

src/stages.h: src/stages.c
	$(BORON) $(SDK)/tools/stage.b -i $< >$@

src/app_settings.c: src/app_settings.b
	$(BORON) -s $(SDK)/tools/settings.b $< >$@

data.mod: data/config.b
	$(BORON) -s $(SDK)/tools/pack-gypsy.b data -o $@

game: $(GENC) $(OBJS)
	$(CC) -o $@ $(OBJS) $(LIBS)

$(ODIR):
	mkdir $(ODIR)

$(OBJS) : $(ODIR)/%.o : src/%.c
	$(CC) -c -o $@ $(INC) $(CFLAGS) $<

.PHONY: clean setup

clean:
	@rm -rf game $(ODIR)

setup: $(GENC)
	@echo "Settings & stage code generated."
