UNAME := $(shell uname -s)
ifeq ("Linux","$(UNAME)")
    GCC := i686-w64-mingw32-gcc
    WINDRES := i686-w64-mingw32-windres
else
    GCC := gcc
    WINDRES := windres
endif

GCCFLAGS = -std=c99 -O0 -Wall -fomit-frame-pointer -fpack-struct -Wextra -Wno-unused-variable -Wno-unused-parameter
LINKFLAGS = -O0 -Wall -fomit-frame-pointer -fpack-struct -s -mdll
LOCALE = LC_MESSAGES=C

#LIBS = -lwinmm -lopengl32 -lgdi32
LIBS = -lgdi32
OBJS = src/binkw32.def
OUT = build/binkw32.dll

SRC = src/Daodan.c src/Daodan_BSL.c src/Daodan_Character.c src/Daodan_Cheater.c src/Daodan_Console.c src/Daodan_GL.c src/Daodan_Patch.c src/Daodan_Persistence.c src/Daodan_Utility.c src/Daodan_Win32.c src/Inifile_Reader.c src/_DLLInfo.rc
DEST = $(patsubst src/%.rc,build/%.o,$(patsubst src/%.c,build/%.o,$(SRC)))

ALL: $(DEST) $(OBJS)
	@echo "Linking $<"
	$(LOCALE) $(GCC) $(LINKFLAGS) -o $(OUT) $(DEST) $(OBJS) $(LIBS)

clean:
	rm $(DEST)
	rm $(OUT)

build/%.o: src/%.c
	@echo "Compiling $<"
	$(LOCALE) $(GCC) $(GCCFLAGS) -c -o $@ $<
	@echo

build/%.o: src/%.rc
	@echo "Assembling resource $<"
	$(WINDRES) -i $< -o $@
	@echo

