1 |
UNAME := $(shell uname -s) |
2 |
ifeq ("Linux","$(UNAME)") |
3 |
GCC := i686-w64-mingw32-gcc |
4 |
WINDRES := i686-w64-mingw32-windres |
5 |
else |
6 |
GCC := gcc |
7 |
WINDRES := windres |
8 |
endif |
9 |
|
10 |
GCCFLAGS = -std=c99 -O0 -Wall -fomit-frame-pointer -fpack-struct -Wextra -Wno-unused-variable -Wno-unused-parameter |
11 |
LINKFLAGS = -O0 -Wall -fomit-frame-pointer -fpack-struct -s -mdll |
12 |
LOCALE = LC_MESSAGES=C |
13 |
|
14 |
#LIBS = -lwinmm -lopengl32 -lgdi32 |
15 |
LIBS = -lgdi32 |
16 |
OBJS = src/binkw32.def |
17 |
OUT = build/binkw32.dll |
18 |
|
19 |
FOLDERS = patches |
20 |
SRC = src/Daodan.c src/Daodan_BSL.c src/Daodan_Character.c src/Daodan_Cheater.c src/Daodan_Config.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 src/patches/Patches.c |
21 |
DEST = $(patsubst src/%.rc,build/%.o,$(patsubst src/%.c,build/%.o,$(SRC))) |
22 |
|
23 |
ALL: $(FOLDERS) $(DEST) $(OBJS) |
24 |
@echo "Linking" |
25 |
$(LOCALE) $(GCC) $(LINKFLAGS) -o $(OUT) $(DEST) $(OBJS) $(LIBS) |
26 |
|
27 |
clean: |
28 |
rm $(DEST) |
29 |
rm -R $(FOLDERS) |
30 |
rm $(OUT) |
31 |
|
32 |
$(FOLDERS): |
33 |
mkdir -p build/$@ |
34 |
|
35 |
build/%.o: src/%.c |
36 |
@echo "Compiling $<" |
37 |
$(LOCALE) $(GCC) $(GCCFLAGS) -c -o $@ $< |
38 |
@echo |
39 |
|
40 |
build/%.o: src/%.rc |
41 |
@echo "Assembling resource $<" |
42 |
$(WINDRES) -i $< -o $@ |
43 |
@echo |
44 |
|