1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
|
CC = i586-mingw32msvc-gcc
CXX = i586-mingw32msvc-g++
LD = i586-mingw32msvc-g++
STRIP = i586-mingw32msvc-strip
INCLUDES = -I../../includes -I../../psxdev -I../../generic/include \
-I../../MSVC/regex -I../../MSVC/readline -I../../MSVC/getopt -I../../MSVC \
-I../../generic/lib/zlib/include \
-I../../generic/lib/lua/include -I../../generic/lib/lua/includes \
-I../../mogltk/include \
-I/usr/local/cross-tools/i386-mingw32msvc/include/SDL \
-I../..
CPPFLAGS = $(INCLUDES) -O4 -march=i686 -DSTDC_HEADERS -DREADLINE_STATIC -fexceptions
LDFLAGS = -march=i586 -O4
SOURCES = \
../../cd-tool.cpp ../../luapatch.cpp
MOGLTK_SOURCES = \
../../mogltk/lib/base.cc ../../mogltk/lib/glwidgets.cc \
../../mogltk/lib/engine.cc ../../mogltk/lib/mcolor.cc \
../../mogltk/lib/font.cc ../../mogltk/lib/shape.cc \
../../mogltk/lib/glbase.cc ../../mogltk/lib/sprite.cc \
../../mogltk/lib/glfont.cc ../../mogltk/lib/texture.cc \
../../mogltk/lib/glshape.cc ../../mogltk/lib/widgets.cc \
../../mogltk/lib/glsprite.cc
BALTISOT_SOURCES = \
../../generic/lib/Image.cc ../../generic/lib/Main.cc \
../../generic/lib/BLua.cc ../../generic/lib/Buffer.cc \
../../generic/lib/ConfigFile.cc ../../generic/lib/Output.cc \
../../generic/lib/Exceptions.cc ../../generic/lib/Regex.cc \
../../generic/lib/Handle.cc ../../generic/lib/String.cc \
../../generic/lib/Input.cc ../../generic/lib/fileutils.cc \
../../generic/lib/LuaHandle.cc ../../generic/lib/generic.cc \
../../generic/lib/checkargs.c ../../generic/lib/datecalc.c \
../../generic/lib/LuaRegex.cc ../../generic/lib/LuaConfigFile.cc
ZLIB_SOURCES = \
../../generic/lib/zlib/src/adler32.c ../../generic/lib/zlib/src/inffast.c \
../../generic/lib/zlib/src/compress.c ../../generic/lib/zlib/src/inflate.c \
../../generic/lib/zlib/src/crc32.c ../../generic/lib/zlib/src/inftrees.c \
../../generic/lib/zlib/src/deflate.c ../../generic/lib/zlib/src/infutil.c \
../../generic/lib/zlib/src/gzio.c ../../generic/lib/zlib/src/trees.c \
../../generic/lib/zlib/src/infblock.c ../../generic/lib/zlib/src/uncompr.c \
../../generic/lib/zlib/src/infcodes.c ../../generic/lib/zlib/src/zutil.c
LUA_SOURCES = \
../../generic/lib/lua/src/lapi.c ../../generic/lib/lua/src/lparser.c \
../../generic/lib/lua/src/lcode.c ../../generic/lib/lua/src/lstate.c \
../../generic/lib/lua/src/ldebug.c ../../generic/lib/lua/src/lstring.c \
../../generic/lib/lua/src/ldo.c ../../generic/lib/lua/src/ltable.c \
../../generic/lib/lua/src/ldump.c ../../generic/lib/lua/src/ltests.c \
../../generic/lib/lua/src/lfunc.c ../../generic/lib/lua/src/ltm.c \
../../generic/lib/lua/src/lgc.c ../../generic/lib/lua/src/luacomp.c \
../../generic/lib/lua/src/llex.c ../../generic/lib/lua/src/lundump.c \
../../generic/lib/lua/src/lmem.c ../../generic/lib/lua/src/lvm.c \
../../generic/lib/lua/src/lobject.c ../../generic/lib/lua/src/lzio.c \
../../generic/lib/lua/src/lopcodes.c \
../../generic/lib/lua/src/LuaLib/lauxlib.c \
../../generic/lib/lua/src/LuaLib/lbaselib.c \
../../generic/lib/lua/src/LuaLib/ldblib.c \
../../generic/lib/lua/src/LuaLib/liolib.c \
../../generic/lib/lua/src/LuaLib/lmathlib.c \
../../generic/lib/lua/src/LuaLib/loadlib.c \
../../generic/lib/lua/src/LuaLib/lstrlib.c \
../../generic/lib/lua/src/LuaLib/ltablib.c \
../../generic/lib/lua/src/LuaLib/ldirlib.c
PSX_SOURCES = \
../../lib/cdabstract.cpp ../../lib/luacd.cpp \
../../lib/cdreader.cpp ../../lib/luapsx.cpp \
../../lib/cdutils.cpp \
../../lib/yazedc.cpp ../../lib/isobuilder.cpp
PSXDEV_SOURCES = \
../../psxdev/bs.c ../../psxdev/jfdctint.c ../../psxdev/xadecode.c \
../../psxdev/idctfst.c ../../psxdev/vlc.c
REGEX_SOURCES = \
../../MSVC/regex/msvc-regex.c
GETOPT_SOURCES = \
../../MSVC/getopt/getopt.c ../../MSVC/getopt/getopt1.c
COMMON_SOURCES = \
$(BALTISOT_SOURCES) $(ZLIB_SOURCES) $(REGEX_SOURCES) $(GETOPT_SOURCES)\
$(LUA_SOURCES) $(PSX_SOURCES) $(PSXDEV_SOURCES) $(READLINE_SOURCES)
WHOLE_SOURCES = $(SOURCES) $(COMMON_SOURCES) $(MOGLTK_SOURCES)
ALL_OBJECTS = $(addsuffix .o, $(notdir $(basename $(WHOLE_SOURCES))))
ALL_DEP = $(addsuffix .dep, $(notdir $(basename $(WHOLE_SOURCES))))
DALOS_OBJECTS = $(addsuffix .o, $(notdir $(basename $(COMMON_SOURCES) $(MOGLTK_SOURCES)))) Dalos.o
CD_TOOL_OBJECTS = $(addsuffix .o, $(notdir $(basename $(COMMON_SOURCES)))) cd-tool.o
CD_TOOL_DEP = $(addsuffix .dep, $(notdir $(basename $(COMMON_SOURCES)))) cd-tool.dep
LUAPATCH_OBJECTS = $(addsuffix .o, $(notdir $(basename $(COMMON_SOURCES)))) luapatch.o
LUAPATCH_DEP = $(addsuffix .dep, $(notdir $(basename $(COMMON_SOURCES)))) luapatch.dep
all: cd-tool.exe luapatch.exe
stats:
@wc $(WHOLE_SOURCES)
dist: all ../../cd-tool.lua ../../COPYING ../../FAQ-cd.txt ../../README-LuaPatch.txt # README-SDL.txt SDL.dll
zip -j9 ../cd-tool-`date +%Y%m%d`-win32.zip cd-tool.exe ../../cd-tool.lua ../../FAQ-cd.txt ../../COPYING
#zip -j9 ../Dalos-`date +%Y%m%d`-win32.zip Dalos.exe ../../COPYING README-SDL.txt SDL.dll
zip -j9 ../luapatch-`date +%Y%m%d`.zip luapatch.exe ../../FAQ-cd.txt ../../COPYING ../../README-LuaPatch.txt
Dalos.exe: $(DALOS_OBJECTS)
$(LD) $(LDFLAGS) -o Dalos.exe $(DALOS_OBJECTS) -lmingw32 -L/usr/local/cross-tools/i386-mingw32msvc/lib -lmingw32 -lSDLmain -lSDL -mwindows -lopengl32 -lglu32 ../../libreadline-static.a
$(STRIP) Dalos.exe
upx-nrv -9 Dalos.exe
cat ../../Dalos/Dalos.paq >> Dalos.exe
cd-tool.exe: $(CD_TOOL_OBJECTS)
$(LD) $(LDFLAGS) -o cd-tool.exe $(CD_TOOL_OBJECTS) ../../libreadline-static.a -mconsole
$(STRIP) cd-tool.exe
upx-nrv -9 cd-tool.exe
luapatch.exe: $(LUAPATCH_OBJECTS)
i586-mingw32msvc-windres -I ../../ ../../luapatch.rc luapatch-res.o
$(LD) $(LDFLAGS) -o luapatch.exe $(LUAPATCH_OBJECTS) luapatch-res.o -mconsole -lcomdlg32
$(STRIP) luapatch.exe
upx-nrv -9 luapatch.exe
clean:
rm -f *.exe *.o *.dep
source: dep $(COMMON_SOURCES) ../../cd-tool.cpp
for s in $(COMMON_SOURCES) ../../cd-tool.cpp ; do \
depfile=$${s/*\//} ; \
depfile=$${depfile/\.*/}.dep ; \
for f in `cat $$depfile | sed 's/\\\\//g' | tr \\ '\\012' | grep -v ^$$ | grep -v :` $$s; do \
install -D $$f tmp/`echo $$f | sed 's/\.\.\/\.\.\///'` ; \
done ; \
done
(cd tmp ; zip -r9 ../../cd-tool-`date +%Y%m%d`-win32-fullsrc.zip .)
rm -rf tmp
-include $(ALL_OBJECTS:.o=.dep)
define OBJECT_C_template
$(addsuffix .o, $(notdir $(basename $(1)))): $(src)
$$(CC) $$(CPPFLAGS) $$(CFLAGS) -c $(src)
$(addsuffix .dep, $(notdir $(basename $(1)))): $(src)
$$(CC) $$(CPPFLAGS) $$(CFLAGS) -MM $(src) -o $$@
endef
define OBJECT_CXX_template
$(addsuffix .o, $(notdir $(basename $(1)))): $(src)
$$(CXX) $$(CPPFLAGS) $$(CXXFLAGS) -c $(src)
$(addsuffix .dep, $(notdir $(basename $(1)))): $(src)
$$(CXX) $$(CPPFLAGS) $$(CXXFLAGS) -MM $(src) -o $$@
endef
$(foreach src, $(WHOLE_SOURCES), $(if $(filter %.c, $(src)), $(eval $(call OBJECT_C_template, $(src))), $(eval $(call OBJECT_CXX_template, $(src)))))
|