47
48
# Then we finish up list.c as follows:
50
#define DECL(x) extern const game x;
52
extern const game x; \
53
extern const char *const *const x##_xpm_icons[]; \
54
extern const int x##_n_xpm_icons;
55
#define REF(x) { #x, &x, x##_xpm_icons, &x##_n_xpm_icons },
53
const game *gamelist[] = { GAMELIST(REF) };
57
const gameindex gamelist[] = { GAMELIST(REF) };
54
58
const int gamecount = lenof(gamelist);
110
120
# For Unix, we also need the gross MD5 hack that causes automatic
111
121
# version number selection in release source archives.
123
version.o: version.c version2.def
124
$(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) `cat version2.def` -c version.c
115
126
if test -z "$(VER)" && test -f manifest && md5sum -c manifest; then \
116
$(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) `cat version.def` -c version.c; \
127
cat version.def > version2.def.new; \
117
128
elif test -z "$(VER)" && test -d .svn && svnversion . >/dev/null 2>&1; then \
118
$(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) "-DREVISION=`svnversion .`" -c version.c; \
120
$(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) $(VER) -c version.c; \
129
echo "-DREVISION=`svnversion .`" >version2.def.new; \
131
echo "$(VER)" >version2.def.new; \
133
if diff -q version2.def.new version2.def; then \
134
rm version2.def.new; \
136
mv version2.def.new version2.def; \
123
140
!specialobj gtk version
142
version.o: version.c version2.def
143
$(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) `cat version2.def` -c version.c
127
145
if test -z "$(VER)" && test -f manifest && md5sum -c manifest; then \
128
$(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) `cat version.def` -c version.c; \
146
cat version.def > version2.def.new; \
129
147
elif test -z "$(VER)" && test -d .svn && svnversion . >/dev/null 2>&1; then \
130
$(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) "-DREVISION=`svnversion .`" -c version.c; \
132
$(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) $(VER) -c version.c; \
148
echo "-DREVISION=`svnversion .`" >version2.def.new; \
150
echo "$(VER)" >version2.def.new; \
152
if diff -q version2.def.new version2.def; then \
153
rm version2.def.new; \
155
mv version2.def.new version2.def; \
135
159
!specialobj nestedvm version
136
160
# For OS X, this is made more fiddly by the fact that we don't have
137
161
# md5sum readily available. We do, however, have `md5 -r' which
138
162
# generates _nearly_ the same output, but it has no check function.
140
version.ppc.o: FORCE;
142
if test -z "$(VER)" && test -f manifest && (md5 -r `awk '{print $$2}' manifest` | diff -w manifest -); then \
143
$(CC) -arch ppc $(COMPAT) $(XFLAGS) $(CFLAGS) `cat version.def` -c version.c -o version.ppc.o; \
144
elif test -z "$(VER)" && test -d .svn && svnversion . >/dev/null 2>&1; then \
145
$(CC) -arch ppc $(COMPAT) $(XFLAGS) $(CFLAGS) "-DREVISION=`svnversion .`" -c version.c -o version.ppc.o; \
147
$(CC) -arch ppc $(COMPAT) $(XFLAGS) $(CFLAGS) $(VER) -c version.c -o version.ppc.o; \
149
version.i386.o: FORCE2;
151
if test -z "$(VER)" && test -f manifest && (md5 -r `awk '{print $$2}' manifest` | diff -w manifest -); then \
152
$(CC) -arch i386 $(COMPAT) $(XFLAGS) $(CFLAGS) `cat version.def` -c version.c -o version.i386.o; \
153
elif test -z "$(VER)" && test -d .svn && svnversion . >/dev/null 2>&1; then \
154
$(CC) -arch i386 $(COMPAT) $(XFLAGS) $(CFLAGS) "-DREVISION=`svnversion .`" -c version.c -o version.i386.o; \
156
$(CC) -arch i386 $(COMPAT) $(XFLAGS) $(CFLAGS) $(VER) -c version.c -o version.i386.o; \
164
version.ppc.o: version.c version2.def
165
$(CC) -arch ppc $(COMPAT) $(XFLAGS) $(CFLAGS) `cat version2.def` -c version.c -o $@
166
version.i386.o: version.c version2.def
167
$(CC) -arch i386 $(COMPAT) $(XFLAGS) $(CFLAGS) `cat version2.def` -c version.c -o $@
169
if test -z "$(VER)" && test -f manifest && (md5 -r `awk '{print $$2}' manifest` | diff -w manifest -); then \
170
cat version.def > version2.def.new; \
171
elif test -z "$(VER)" && test -d .svn && svnversion . >/dev/null 2>&1; then \
172
echo "-DREVISION=`svnversion .`" >version2.def.new; \
174
echo "$(VER)" >version2.def.new; \
176
if diff -q version2.def.new version2.def; then \
177
rm version2.def.new; \
179
mv version2.def.new version2.def; \
159
183
!specialobj osx version
161
185
# make install for Unix.
188
mkdir -p $(DESTDIR)$(libdir)/sgt-puzzles
189
$(INSTALL_PROGRAM) -m 755 puzzles \
190
$(DESTDIR)$(libdir)/sgt-puzzles/puzzles
164
191
for i in $(GAMES); do \
165
$(INSTALL_PROGRAM) -m 755 $$i $(DESTDIR)$(gamesdir)/$$i \
192
ln -s $(libdir)/sgt-puzzles/puzzles $(DESTDIR)$(gamesdir)/$$i \