61 lines
1.3 KiB
Makefile
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)
|