## Copyright © 2017 Project Golan, all rights reserved. GDCC_CC=gdcc-cc GDCC_LD=gdcc-ld GDCC_MAKELIB=gdcc-makelib SRC=src INC=inc CODEDEFS=codedefs BIN=bin IR=ir GDCC_TARGET=--bc-target=Doominati GDCC_LFLAGS += $(GDCC_TARGET) GDCC_CFLAGS += $(GDCC_TARGET) --alloc-Aut=4194304 -c GAME_SOURCES=$(wildcard $(SRC)/g_*.c) GAME_HEADERS=$(wildcard $(SRC)/g_*.h) GAME_OUTPUT=$(GAME_SOURCES:$(SRC)/g_%.c=$(IR)/g_%.ir) GAME_BINARY=$(CODEDEFS)/eikyo-game.bin MAIN_SOURCES=$(SRC)/main.c MAIN_OUTPUT=$(MAIN_SOURCES:$(SRC)/%.c=$(IR)/%.ir) MAIN_BINARY=$(CODEDEFS)/eikyo-main.bin MISC_SOURCES=$(wildcard $(SRC)/m_*.c) MISC_HEADERS=$(wildcard $(SRC)/m_*.h) MISC_OUTPUT=$(MISC_SOURCES:$(SRC)/m_%.c=$(IR)/m_%.ir) MISC_BINARY=$(CODEDEFS)/eikyo-misc.bin RENDER_SOURCES=$(wildcard $(SRC)/r_*.c) RENDER_HEADERS=$(wildcard $(SRC)/r_*.h) RENDER_OUTPUT=$(RENDER_SOURCES:$(SRC)/r_%.c=$(IR)/r_%.ir) RENDER_BINARY=$(CODEDEFS)/eikyo-render.bin .PHONY: clean all: $(CODEDEFS) $(BIN) $(IR) $(CODEDEFS)/stdlib.bin $(GAME_BINARY) $(MAIN_BINARY) $(MISC_BINARY) $(RENDER_BINARY) $(CODEDEFS) $(BIN) $(IR): mkdir -p $@ clean: rm -f $(BIN)/* rm -f $(CODEDEFS)/* rm -f $(IR)/* $(CODEDEFS)/stdlib.bin: $(IR)/libc.ir $(IR)/libGDCC.ir $(GAME_BINARY): $(GAME_OUTPUT) $(MAIN_BINARY): $(MAIN_OUTPUT) $(MISC_BINARY): $(MISC_OUTPUT) $(RENDER_BINARY): $(RENDER_OUTPUT) $(CODEDEFS)/%.bin: $(GDCC_LD) $(GDCC_LFLAGS) -o $@ $^ $(IR)/%.ir: $(SRC)/%.c $(GAME_HEADERS) $(MISC_HEADERS) $(RENDER_HEADERS) $(GDCC_CC) $(GDCC_CFLAGS) -o $@ $< $(IR)/libc.ir $(IR)/libGDCC.ir: $(GDCC_MAKELIB) $(GDCC_CFLAGS) -o $@ $(basename $(@F)) ## EOF