## Copyright © 2017 Project Golan, all rights reserved. GDCC_CC=gdcc-cc GDCC_LD=gdcc-ld GDCC_MAKELIB=gdcc-makelib SRC=src INC=inc CODEDEFS=data/codedefs BIN=bin IR=ir MAPSRC=maps MAPBIN=data/maps FOLDERS=$(CODEDEFS) $(BIN) $(IR) $(MAPBIN) CFLAGS += -O2 -g -lm GDCC_TARGET=--bc-target=Doominati GDCC_LFLAGS += $(GDCC_TARGET) GDCC_CFLAGS += $(GDCC_TARGET) --alloc-Aut=4194304 -c MAPS_SOURCES=$(wildcard $(MAPSRC)/*.gmf9) MAPS_OUTPUTS=$(MAPS_SOURCES:$(MAPSRC)/%.gmf9=$(MAPBIN)/%.gmf0) GAME_SOURCES=$(wildcard $(SRC)/g_*.c) GAME_HEADERS=$(wildcard $(SRC)/g_*.h) GAME_OUTPUTS=$(GAME_SOURCES:$(SRC)/g_%.c=$(IR)/g_%.ir) GAME_BINARYS=$(CODEDEFS)/eikyo-game.bin MAIN_SOURCES=$(SRC)/main.c MAIN_OUTPUTS=$(MAIN_SOURCES:$(SRC)/%.c=$(IR)/%.ir) MAIN_BINARYS=$(CODEDEFS)/eikyo-main.bin MISC_SOURCES=$(wildcard $(SRC)/m_*.c) MISC_HEADERS=$(wildcard $(SRC)/m_*.h) MISC_OUTPUTS=$(MISC_SOURCES:$(SRC)/m_%.c=$(IR)/m_%.ir) MISC_BINARYS=$(CODEDEFS)/eikyo-misc.bin RNDR_SOURCES=$(wildcard $(SRC)/r_*.c) RNDR_HEADERS=$(wildcard $(SRC)/r_*.h) RNDR_OUTPUTS=$(RNDR_SOURCES:$(SRC)/r_%.c=$(IR)/r_%.ir) RNDR_BINARYS=$(CODEDEFS)/eikyo-render.bin .PHONY: clean all: $(FOLDERS) $(CODEDEFS)/stdlib.bin $(GAME_BINARYS) $(MAIN_BINARYS) $(MISC_BINARYS) $(RNDR_BINARYS) $(MAPS_OUTPUTS) $(FOLDERS): mkdir -p $@ clean: rm -f $(addsuffix /*,$(FOLDERS)) $(MAPBIN)/%.gmf0: $(MAPSRC)/%.gmf9 $(BIN)/golan5 $(BIN)/golan5 $< $@ $(BIN)/golan5: $(SRC)/golan5.c $(SRC)/m_binio.c $(SRC)/m_token.c $(SRC)/m_tokbuf.c $(BIN)/%: $(CC) $(CFLAGS) $(LFLAGS) -o $@ $^ $(CODEDEFS)/stdlib.bin: $(IR)/libc.ir $(IR)/libGDCC.ir $(GAME_BINARYS): $(GAME_OUTPUTS) $(MAIN_BINARYS): $(MAIN_OUTPUTS) $(MISC_BINARYS): $(MISC_OUTPUTS) $(RNDR_BINARYS): $(RNDR_OUTPUTS) $(CODEDEFS)/%.bin: $(GDCC_LD) $(GDCC_LFLAGS) -o $@ $^ $(IR)/%.ir: $(SRC)/%.c $(GAME_HEADERS) $(MISC_HEADERS) $(RNDR_HEADERS) $(GDCC_CC) $(GDCC_CFLAGS) -o $@ $< $(IR)/libc.ir $(IR)/libGDCC.ir: $(GDCC_MAKELIB) $(GDCC_CFLAGS) -o $@ $(basename $(@F)) ## EOF