Files
2015-09-03 01:20:11 -07:00

61 lines
1.3 KiB
Makefile

CC = gcc
LD = gcc
STRIP = strip
BUILD = Build
TARGET = pokemini_imgconv
POKEROOT = ../../
WINTARGET = pokemini_imgconv.exe
CFLAGS = -O -Wall $(INCLUDE)
SLFLAGS = -O -lm -lfreeimage
INCDIRS = source sourcex resource
OBJS = \
pokemini_imgconv.o \
sourcex/ExportCode.o \
sourcex/ExportC.o \
sourcex/ExportASM.o \
source/PMCommon.o
DEPENDS_LOCAL = \
pokemini_imgconv.h
DEPENDS = \
sourcex/ExportCode.h \
sourcex/ExportC.h \
sourcex/ExportASM.h \
source/PMCommon.h
BUILDOBJS = $(addprefix $(BUILD)/, $(notdir $(OBJS)))
DEPENDSHDR = $(addprefix $(POKEROOT), $(DEPENDS))
INCLUDE = $(foreach inc, $(INCDIRS), -I$(POKEROOT)$(inc))
VPATH = $(addprefix $(POKEROOT),$(INCDIRS))
.PHONY: all win clean
all: $(BUILD) $(TARGET)
$(BUILD):
@[ -d @ ] || mkdir -p $@
$(BUILD)/%.o: %.c $(DEPENDSHDR) $(DEPENDS_LOCAL)
$(CC) $(CFLAGS) -o $@ -c $<
$(TARGET): $(BUILDOBJS)
$(LD) -o $(TARGET) $(BUILDOBJS) $(SLFLAGS)
$(STRIP) $(TARGET)
if [ -d release ]; then cp $(TARGET) release; fi
win: $(BUILD) $(WINTARGET)
$(WINTARGET): $(BUILDOBJS) $(WINRES_SRC)
$(LD) -o $(WINTARGET) $(BUILDOBJS) $(WINRES_TRG) $(SLFLAGS)
$(STRIP) $(WINTARGET)
if [ -d release ]; then cp $(WINTARGET) release; fi
clean:
-rm -f $(BUILDOBJS) $(TARGET) $(WINTARGET)
-rmdir --ignore-fail-on-non-empty $(BUILD)