2017-09-20 08:42:57 -07:00
|
|
|
## Copyright © 2017 Project Golan, all rights reserved.
|
2017-09-21 20:07:00 -07:00
|
|
|
GDCC_CC=gdcc-cc
|
|
|
|
GDCC_LD=gdcc-ld
|
|
|
|
GDCC_MAKELIB=gdcc-makelib
|
2017-09-20 08:42:57 -07:00
|
|
|
|
|
|
|
SRC=src
|
|
|
|
INC=inc
|
2017-09-21 20:36:42 -07:00
|
|
|
CODEDEFS=data/codedefs
|
2017-09-21 20:07:00 -07:00
|
|
|
BIN=bin
|
2017-09-22 08:37:31 -07:00
|
|
|
IR=ir
|
2017-09-22 14:06:52 -07:00
|
|
|
MAPSRC=maps
|
|
|
|
MAPBIN=data/maps
|
|
|
|
FOLDERS=$(CODEDEFS) $(BIN) $(IR) $(MAPBIN)
|
2017-09-22 08:37:31 -07:00
|
|
|
|
2017-09-22 17:51:35 -07:00
|
|
|
CFLAGS += -O2 -g -c
|
|
|
|
LFLAGS += -O2 -g -lm
|
2017-09-20 08:42:57 -07:00
|
|
|
|
2017-09-21 20:07:00 -07:00
|
|
|
GDCC_TARGET=--bc-target=Doominati
|
|
|
|
GDCC_LFLAGS += $(GDCC_TARGET)
|
|
|
|
GDCC_CFLAGS += $(GDCC_TARGET) --alloc-Aut=4194304 -c
|
2017-09-20 08:42:57 -07:00
|
|
|
|
2017-09-22 14:06:52 -07:00
|
|
|
MAPS_SOURCES=$(wildcard $(MAPSRC)/*.gmf9)
|
|
|
|
MAPS_OUTPUTS=$(MAPS_SOURCES:$(MAPSRC)/%.gmf9=$(MAPBIN)/%.gmf0)
|
|
|
|
|
2017-09-21 20:07:00 -07:00
|
|
|
GAME_SOURCES=$(wildcard $(SRC)/g_*.c)
|
|
|
|
GAME_HEADERS=$(wildcard $(SRC)/g_*.h)
|
2017-09-22 14:06:52 -07:00
|
|
|
GAME_OUTPUTS=$(GAME_SOURCES:$(SRC)/g_%.c=$(IR)/g_%.ir)
|
|
|
|
GAME_BINARYS=$(CODEDEFS)/eikyo-game.bin
|
2017-09-21 20:07:00 -07:00
|
|
|
|
|
|
|
MAIN_SOURCES=$(SRC)/main.c
|
2017-09-22 14:06:52 -07:00
|
|
|
MAIN_OUTPUTS=$(MAIN_SOURCES:$(SRC)/%.c=$(IR)/%.ir)
|
|
|
|
MAIN_BINARYS=$(CODEDEFS)/eikyo-main.bin
|
2017-09-21 20:07:00 -07:00
|
|
|
|
|
|
|
MISC_SOURCES=$(wildcard $(SRC)/m_*.c)
|
|
|
|
MISC_HEADERS=$(wildcard $(SRC)/m_*.h)
|
2017-09-22 14:06:52 -07:00
|
|
|
MISC_OUTPUTS=$(MISC_SOURCES:$(SRC)/m_%.c=$(IR)/m_%.ir)
|
|
|
|
MISC_BINARYS=$(CODEDEFS)/eikyo-misc.bin
|
2017-09-22 17:51:35 -07:00
|
|
|
MISC_LIBOUTS=$(MISC_SOURCES:$(SRC)/%.c=$(BIN)/%.o)
|
|
|
|
MISC_LIBRARY=$(BIN)/eikyo-misc.o
|
2017-09-21 20:07:00 -07:00
|
|
|
|
2017-09-22 14:06:52 -07:00
|
|
|
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
|
2017-09-20 08:42:57 -07:00
|
|
|
|
2017-09-22 17:51:35 -07:00
|
|
|
GOL5_SOURCES=$(SRC)/golan5.c
|
|
|
|
GOL5_OUTPUTS=$(GOL5_SOURCES:$(SRC)/%.c=$(BIN)/%.o)
|
|
|
|
GOL5_BINARYS=$(BIN)/golan5
|
|
|
|
|
|
|
|
LIBC_OUTPUTS=$(IR)/libc.ir $(IR)/libGDCC.ir
|
|
|
|
LIBC_BINARYS=$(CODEDEFS)/stdlib.bin
|
|
|
|
|
2017-09-20 19:35:19 -07:00
|
|
|
.PHONY: clean
|
2017-09-23 12:43:54 -07:00
|
|
|
.SECONDARY: $(MISC_LIBOUTS)
|
2017-09-20 19:35:19 -07:00
|
|
|
|
2017-09-22 17:51:35 -07:00
|
|
|
all: $(FOLDERS) $(LIBC_BINARYS) $(GAME_BINARYS) $(MAIN_BINARYS) $(MISC_BINARYS) $(RNDR_BINARYS) $(MAPS_OUTPUTS)
|
|
|
|
|
2017-09-23 12:43:54 -07:00
|
|
|
$(GOL5_BINARYS): $(GOL5_OUTPUTS)
|
2017-09-22 17:51:35 -07:00
|
|
|
$(GAME_BINARYS): $(GAME_OUTPUTS)
|
|
|
|
$(MAIN_BINARYS): $(MAIN_OUTPUTS)
|
|
|
|
$(MISC_BINARYS): $(MISC_OUTPUTS)
|
|
|
|
$(RNDR_BINARYS): $(RNDR_OUTPUTS)
|
|
|
|
$(LIBC_BINARYS): $(LIBC_OUTPUTS)
|
2017-09-20 08:42:57 -07:00
|
|
|
|
2017-09-22 14:06:52 -07:00
|
|
|
$(FOLDERS):
|
2017-09-21 20:07:00 -07:00
|
|
|
mkdir -p $@
|
2017-09-20 19:35:19 -07:00
|
|
|
|
2017-09-21 20:07:00 -07:00
|
|
|
clean:
|
2017-09-22 14:06:52 -07:00
|
|
|
rm -f $(addsuffix /*,$(FOLDERS))
|
|
|
|
|
2017-09-22 17:51:35 -07:00
|
|
|
$(MAPBIN)/%.gmf0: $(MAPSRC)/%.gmf9 $(GOL5_BINARYS)
|
|
|
|
$(GOL5_BINARYS) $< $@
|
2017-09-22 14:06:52 -07:00
|
|
|
|
2017-09-23 12:43:54 -07:00
|
|
|
$(BIN)/%: $(MISC_LIBOUTS)
|
2017-09-22 17:51:35 -07:00
|
|
|
$(CC) $(LFLAGS) -o $@ $^
|
|
|
|
|
2017-09-23 12:43:54 -07:00
|
|
|
$(BIN)/%.o: $(SRC)/%.c $(MISC_HEADERS)
|
2017-09-22 17:51:35 -07:00
|
|
|
$(CC) $(CFLAGS) -o $@ $<
|
2017-09-20 08:42:57 -07:00
|
|
|
|
2017-09-21 20:07:00 -07:00
|
|
|
$(CODEDEFS)/%.bin:
|
|
|
|
$(GDCC_LD) $(GDCC_LFLAGS) -o $@ $^
|
2017-09-20 08:42:57 -07:00
|
|
|
|
2017-09-22 14:06:52 -07:00
|
|
|
$(IR)/%.ir: $(SRC)/%.c $(GAME_HEADERS) $(MISC_HEADERS) $(RNDR_HEADERS)
|
2017-09-21 20:07:00 -07:00
|
|
|
$(GDCC_CC) $(GDCC_CFLAGS) -o $@ $<
|
2017-09-20 08:42:57 -07:00
|
|
|
|
2017-09-22 17:51:35 -07:00
|
|
|
$(LIBC_OUTPUTS):
|
2017-09-21 20:07:00 -07:00
|
|
|
$(GDCC_MAKELIB) $(GDCC_CFLAGS) -o $@ $(basename $(@F))
|
2017-09-20 08:42:57 -07:00
|
|
|
|
|
|
|
## EOF
|