3
PACKAGEshd=libfreecell-solver0
4
PACKAGEdev=libfreecell-solver-dev
5
PACKAGEbin=freecell-solver-bin
8
arch = $(shell dpkg --print-architecture)
10
tmp-dev = debian/tmp-dev
11
tmp-bin = debian/tmp-bin
13
docdir = usr/share/doc
14
mandir = usr/share/man
18
test -e debian/control
25
--enable-states-type=indirect \
26
--enable-max-num-freecells=8 \
27
--enable-max-num-initial-cards-per-stack=104 \
28
--enable-max--num-stacks=12 \
29
--enable-max-num-decks=2
35
binary-arch: build testroot debian/control
37
# Build libfreecell-solver0 package
40
make prefix=`pwd`/$(tmp)/usr install
41
install -d --mode=755 $(tmp)/$(docdir)/$(PACKAGEshd)
42
install -d --mode=755 $(tmp)/DEBIAN
49
rm -rf $(tmp)/usr/include
50
rm -f $(tmp)/usr/lib/*a
51
rm -f $(tmp)/usr/lib/libfreecell-solver.so
55
# Install documentation
58
install --mode=644 "debian/copyright" $(tmp)/$(docdir)/$(PACKAGEshd)
59
install --mode=644 "debian/changelog" \
60
$(tmp)/$(docdir)/$(PACKAGEshd)/changelog.Debian
61
install --mode=644 "ChangeLog" \
62
$(tmp)/$(docdir)/$(PACKAGEshd)/changelog
63
install --mode=644 "NEWS" $(tmp)/$(docdir)/$(PACKAGEshd)
64
install --mode=644 "README" $(tmp)/$(docdir)/$(PACKAGEshd)
65
install --mode=644 "TODO" $(tmp)/$(docdir)/$(PACKAGEshd)
66
install --mode=644 "CREDITS" $(tmp)/$(docdir)/$(PACKAGEshd)
72
gzip -9f $(tmp)/$(docdir)/$(PACKAGEshd)/changelog*
75
# Strip the so and change its permssions.
78
strip --strip-all -R .comment -R .note \
79
$(tmp)/usr/lib/libfreecell-solver.so.*
80
chmod 644 $(tmp)/usr/lib/libfreecell-solver.so.*
83
# Install package scripts
86
install --mode=644 debian/libfreecell-solver0.shlibs $(tmp)/DEBIAN/shlibs
87
install --mode=755 debian/postinst.shd $(tmp)/DEBIAN/postinst
88
cat debian/prerm.generic | sed 's/__PKG__/$(PACKAGEshd)/g' > \
90
chmod 755 $(tmp)/DEBIAN/prerm $(tmp)/DEBIAN/postinst
91
dpkg-shlibdeps $(tmp)/usr/lib/libfreecell-solver.so.*
92
dpkg-gencontrol -ips -P$(tmp) -p$(PACKAGEshd)
93
dpkg --build $(tmp) ..
95
#----------------------------------------------------------------------#
97
# Build libfreecell-solver-dev package
100
make prefix=`pwd`/$(tmp-dev)/usr install
101
install -d --mode=755 $(tmp-dev)/$(docdir)/$(PACKAGEdev)
102
install -d --mode=755 $(tmp-dev)/DEBIAN
108
rm -rf $(tmp-dev)/usr/lib/*so*0*
109
rm -rf $(tmp-dev)/usr/lib/*.la*
110
rm -rf $(tmp-dev)/usr/bin
111
rm -rf $(tmp-dev)/usr/man
113
install -d --mode=755 $(tmp-dev)/usr/bin
114
install --mode=755 "freecell-solver-config" $(tmp-dev)/usr/bin
117
# Install documentation
120
install --mode=644 "debian/copyright" $(tmp-dev)/$(docdir)/$(PACKAGEdev)
121
install --mode=644 "debian/changelog" \
122
$(tmp-dev)/$(docdir)/$(PACKAGEdev)/changelog.Debian
123
install --mode=644 "ChangeLog" \
124
$(tmp-dev)/$(docdir)/$(PACKAGEdev)/changelog
125
install --mode=644 "NEWS" $(tmp-dev)/$(docdir)/$(PACKAGEdev)
126
install --mode=644 "README" $(tmp-dev)/$(docdir)/$(PACKAGEdev)
127
install --mode=644 "TODO" $(tmp-dev)/$(docdir)/$(PACKAGEdev)
128
install --mode=644 "CREDITS" $(tmp-dev)/$(docdir)/$(PACKAGEdev)
129
install --mode=644 `find devel_docs -type f -maxdepth 1` $(tmp-dev)/$(docdir)/$(PACKAGEdev)
131
install -d --mode=755 $(tmp-dev)/usr/share/lintian/overrides
132
install --mode=644 "debian/libfreecell-solver-dev.lintian" $(tmp-dev)/usr/share/lintian/overrides/libfreecell-solver-dev
138
strip --strip-debug $(tmp-dev)/usr/lib/libfreecell-solver.a
141
# Compress changelogs
144
gzip -9f $(tmp-dev)/$(docdir)/$(PACKAGEdev)/changelog*
147
# Install special files
150
cat debian/postinst.generic | sed 's/__PKG__/$(PACKAGEdev)/g' > \
151
$(tmp-dev)/DEBIAN/postinst
152
cat debian/prerm.generic | sed 's/__PKG__/$(PACKAGEdev)/g' > \
153
$(tmp-dev)/DEBIAN/prerm
154
chmod 755 $(tmp-dev)/DEBIAN/prerm $(tmp-dev)/DEBIAN/postinst
155
dpkg-gencontrol -ips -P$(tmp-dev) -p$(PACKAGEdev)
156
dpkg --build $(tmp-dev) ..
159
#----------------------------------------------------------------------#
161
# Build freecell-solver-bin package
164
make prefix=`pwd`/$(tmp-bin)/usr install
165
mv $(tmp-bin)/usr/bin/pi-make-microsoft-freecell-board $(tmp-bin)/usr/bin/make-microsoft-freecell-board
166
rm $(tmp-bin)/usr/bin/freecell-solver-range-parallel-solve
167
rm $(tmp-bin)/usr/bin/freecell-solver-config
169
install -d --mode=755 $(tmp-bin)/$(docdir)/$(PACKAGEbin)
170
install -d --mode=755 $(tmp-bin)/DEBIAN
171
install -d --mode=755 $(tmp-bin)/$(mandir)/man6
177
rm -rf $(tmp-bin)/usr/man
178
rm -rf $(tmp-bin)/usr/lib/
179
rm -rf $(tmp-bin)/usr/include/
185
strip --strip-all -R .comment -R .note $(tmp-bin)/usr/bin/*board
186
strip --strip-all -R .comment -R .note $(tmp-bin)/usr/bin/fc-solve
189
# Install documentation
192
install --mode=644 "debian/copyright" \
193
$(tmp-bin)/$(docdir)/$(PACKAGEbin)/copyright
194
install --mode=644 "debian/changelog" \
195
$(tmp-bin)/$(docdir)/$(PACKAGEbin)/changelog.Debian
196
install --mode=644 "ChangeLog" \
197
$(tmp-bin)/$(docdir)/$(PACKAGEbin)/changelog
198
install --mode=644 "NEWS" $(tmp-bin)/$(docdir)/$(PACKAGEbin)
199
install --mode=644 "USAGE" $(tmp-bin)/$(docdir)/$(PACKAGEbin)
200
install --mode=644 "README" $(tmp-bin)/$(docdir)/$(PACKAGEbin)
201
install --mode=644 "TODO" $(tmp-bin)/$(docdir)/$(PACKAGEbin)
202
install --mode=644 "CREDITS" $(tmp-bin)/$(docdir)/$(PACKAGEbin)
203
install --mode=644 "fc-solve.6" $(tmp-bin)/$(mandir)/man6
204
install --mode=644 board_gen/*.6 \
205
$(tmp-bin)/$(mandir)/man6
206
mv $(tmp-bin)/$(mandir)/man6/pi-make-microsoft-freecell-board.6 $(tmp-bin)/$(mandir)/man6/make-microsoft-freecell-board.6
207
#install --mode=644 debian/*.6 \
208
#$(tmp-bin)/$(mandir)/man6
211
# Compress changelogs and man pages
214
gzip -9f $(tmp-bin)/$(docdir)/$(PACKAGEbin)/changelog*
215
gzip -9f $(tmp-bin)/$(mandir)/man6/*
218
# Install special files
221
cat debian/postinst.generic | sed 's/__PKG__/$(PACKAGEbin)/g' > \
222
$(tmp-bin)/DEBIAN/postinst
223
cat debian/prerm.generic | sed 's/__PKG__/$(PACKAGEbin)/g' > \
224
$(tmp-bin)/DEBIAN/prerm
225
chmod 755 $(tmp-bin)/DEBIAN/prerm $(tmp-bin)/DEBIAN/postinst
226
dpkg-shlibdeps $(tmp-bin)/usr/bin/*board $(tmp-bin)/usr/bin/fc-solve
227
dpkg-gencontrol -ips -P$(tmp-bin) -p$(PACKAGEbin)
228
dpkg --build $(tmp-bin) ..
232
test -e debian/control
233
rm -f debian/substvars debian/files *orig* *bak* debian/*bak
235
rm -rf debian/tmp-dev
236
rm -rf debian/tmp-bin
240
binary: binary-indep binary-arch
243
test root = "`whoami`" || (echo Need root privelages; exit 1);
245
.PHONY: build binary-indep binary-arch binary clean