1 |
# If SRC or TARGET is a folder it must end in a slash "/" |
2 |
SRC = |
3 |
TARGET = ../build/ |
4 |
DIST_TARGET = ../dist/00020DaodanWin |
5 |
SUBFOLDERS = Patches beaengine |
6 |
|
7 |
DEF = BEA_ENGINE_STATIC |
8 |
INCLUDEPATHS = . |
9 |
GCCFLAGS = -std=gnu99 -ggdb -O0 -Wall -fomit-frame-pointer -Wextra -Wno-pragmas -Wno-unused-variable $(addprefix -I,$(INCLUDEPATHS)) -Wno-unused-parameter $(addprefix -D,$(DEF)) |
10 |
LINKFLAGS = -O0 -Wall -fomit-frame-pointer -mdll |
11 |
LOCALE = LC_MESSAGES=C |
12 |
|
13 |
LIBDIRS = |
14 |
LIBS = -lgdi32 -lwsock32 |
15 |
OBJS = $(SRC)binkw32.def |
16 |
OUT = $(TARGET)binkw32.dll |
17 |
|
18 |
FILES := _DLLInfo.rc $(foreach dir,. $(SUBFOLDERS),$(wildcard $(SRC)$(dir)/*.c)) |
19 |
|
20 |
DIST_OUT = $(DIST_TARGET)/plain/win_only/binkw32.dll |
21 |
DIST_FILES := $(DIST_TARGET)/Mod_Info.cfg \ |
22 |
$(DIST_TARGET)/plain/win_only/realbink.dll \ |
23 |
$(DIST_TARGET)/plain/win_only/run_full.bat \ |
24 |
$(DIST_TARGET)/plain/win_only/run_wind.bat \ |
25 |
$(DIST_OUT) |
26 |
DIST = $(DIST_TARGET).zip |
27 |
|
28 |
################################################### |
29 |
# # |
30 |
# Should not be required to change anything below # |
31 |
# # |
32 |
################################################### |
33 |
|
34 |
UNAME := $(shell uname -s) |
35 |
ifeq ("Linux","$(UNAME)") |
36 |
GCC := i686-w64-mingw32-gcc |
37 |
WINDRES := i686-w64-mingw32-windres |
38 |
else |
39 |
GCC := gcc |
40 |
WINDRES := windres |
41 |
endif |
42 |
|
43 |
DESTFOLDERS = $(addprefix $(TARGET),$(SUBFOLDERS)) |
44 |
DEST = $(patsubst $(SRC)%.rc,$(TARGET)%.o,$(patsubst $(SRC)%.c,$(TARGET)%.o,$(FILES))) |
45 |
|
46 |
all: $(OUT) |
47 |
.PHONY: all |
48 |
|
49 |
$(OUT): $(DESTFOLDERS) $(DEST) $(OBJS) |
50 |
@echo "Linking" |
51 |
$(LOCALE) $(GCC) $(LINKFLAGS) -o $(OUT) $(DEST) $(OBJS) $(LIBDIRS) $(LIBS) |
52 |
|
53 |
clean: |
54 |
-rm -f $(DEST) |
55 |
-rm -Rf $(DESTFOLDERS) |
56 |
-rm -f $(OUT) |
57 |
-rm -f $(DIST) $(DIST_OUT) |
58 |
.PHONY: clean |
59 |
|
60 |
$(DESTFOLDERS): |
61 |
mkdir -p $@ |
62 |
|
63 |
$(TARGET)%.o: $(SRC)%.c |
64 |
@echo "Compiling $<" |
65 |
$(LOCALE) $(GCC) $(GCCFLAGS) -c -o $@ $< |
66 |
@echo |
67 |
|
68 |
$(TARGET)%.o: $(SRC)%.rc |
69 |
@echo "Assembling resource $<" |
70 |
$(WINDRES) -i $< -o $@ |
71 |
@echo |
72 |
|
73 |
$(DIST): $(DIST_FILES) |
74 |
bsdtar -acf $@ --strip-components 2 $(DIST_FILES) |
75 |
|
76 |
$(DIST_OUT): $(OUT) |
77 |
cp -f $< $@ |
78 |
|
79 |
dist: $(DIST) |
80 |
.PHONY: dist |