omi-eikyo/Makefile

44 lines
822 B
Makefile

## Copyright © 2017 Project Golan, all rights reserved.
CC=gdcc-cc
LD=gdcc-ld
MAKELIB=gdcc-makelib
BIN=codedefs
SRC=src
INC=inc
IR=bin
TARGET=--bc-target=Doominati
LFLAGS += $(TARGET)
CFLAGS += $(TARGET) --alloc-Aut=4194304 -c
MAIN_SOURCES=$(wildcard $(SRC)/*.c)
MAIN_HEADERS=$(wildcard $(SRC)/*.h)
MAIN_OUTPUT=$(MAIN_SOURCES:$(SRC)/%.c=$(IR)/%.ir)
MAIN_BINARY=$(BIN)/影響の目.bin
.PHONY: clean
all: $(BIN)/stdlib.bin $(MAIN_BINARY)
clean:
rm -f bin/*.ir
rm -f codedefs/*.bin
$(BIN)/stdlib.bin: $(IR)/libc.ir $(IR)/libGDCC.ir
$(LD) $(LFLAGS) -o $@ $^
$(MAIN_BINARY): $(MAIN_OUTPUT)
$(LD) $(LFLAGS) -o $@ $^
$(IR)/%.ir: $(SRC)/%.c $(MAIN_HEADERS)
$(CC) $(CFLAGS) -o $@ $<
$(IR)/libc.ir:
$(MAKELIB) $(TARGET) $(CFLAGS) -o $@ libc
$(IR)/libGDCC.ir:
$(MAKELIB) $(TARGET) $(CFLAGS) -o $@ libGDCC
## EOF