ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/src/makefile
Revision: 1165
Committed: Sun Oct 24 02:51:14 2021 UTC (3 years, 11 months ago) by rossy
File size: 2213 byte(s)
Log Message:
Daodan: Add AE package creation to makefile

File Contents

# Content
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

Properties

Name Value
svn:executable *