2
# Made with the aid of debmake, by Christoph Lameter,
3
# based on the sample debian/rules file for GNU hello by Ian Jackson.
13
version_major=$(shell expr `pwd` : '.*-\([0-9]*\).[0-9.]*')
14
ARCHITECTURE=$(shell dpkg --print-architecture)
15
INSTALL_DIR = install -m755 -o root -g root -d
16
INSTALL_DATA = install -m644 -o root -g root
17
INSTALL_LIB = install -m644 -o root -g root
18
INSTALL_BIN = install -m755 -o root -g root
22
-mkdir shared.d static.d
23
-mkdir shared.s static.s
26
# First build the shared library
29
ifeq ($(ARCHITECTURE), i386)
30
./configure --prefix=/usr --enable-shared --enable-mpi --enable-threads --enable-i386-hacks
32
./configure --prefix=/usr --enable-shared --enable-mpi --enable-threads
35
mv fftw/.libs/libfftw.so.$(lib_version) rfftw/.libs/librfftw.so.$(lib_version) shared.d
36
mv threads/.libs/lib*fftw_threads.so.$(lib_version) shared.d
37
cp fftw/fftw.h rfftw/rfftw.h threads/fftw_threads.h threads/rfftw_threads.h \
38
mpi/fftw_mpi.h mpi/rfftw_mpi.h shared.d
39
# don't use mpicc to create the shared lib or the mpich static lib will be included
40
cd mpi && gcc -shared -Wl,-soname -Wl,libfftw_mpi.so.$(version_major) -o .libs/libfftw_mpi.so.$(lib_version) sched.lo \
41
TOMS_transpose.lo transpose_mpi.lo fftwnd_mpi.lo fftw_mpi.lo
42
mv mpi/.libs/libfftw_mpi.so.$(lib_version) mpi/.libs/librfftw_mpi.so.$(lib_version) shared.d
45
# single precision - adds an 's' prefix to denote precision
46
ifeq ($(ARCHITECTURE), i386)
47
./configure --enable-float --enable-type-prefix --prefix=/usr --enable-shared --enable-mpi --enable-threads --enable-i386-hacks
49
./configure --enable-float --enable-type-prefix --prefix=/usr --enable-shared --enable-mpi --enable-threads
52
mv fftw/.libs/libsfftw.so.$(lib_version) rfftw/.libs/libsrfftw.so.$(lib_version) shared.s
53
mv threads/.libs/lib*fftw_threads.so.$(lib_version) shared.s
54
cp fftw/sfftw.h rfftw/srfftw.h threads/s*fftw_threads.h \
55
mpi/sfftw_mpi.h mpi/srfftw_mpi.h shared.s
56
# don't use mpicc to create the shared lib or the mpich static lib will be included
57
cd mpi && gcc -shared -Wl,-soname -Wl,libsfftw_mpi.so.$(version_major) -o .libs/libsfftw_mpi.so.$(lib_version) sched.lo \
58
TOMS_transpose.lo transpose_mpi.lo fftwnd_mpi.lo fftw_mpi.lo
59
mv mpi/.libs/libsfftw_mpi.so.$(lib_version) mpi/.libs/libsrfftw_mpi.so.$(lib_version) shared.s
63
# Build the static library
66
ifeq ($(ARCHITECTURE), i386)
67
./configure --prefix=/usr --enable-mpi --enable-threads --enable-i386-hacks
69
./configure --prefix=/usr --enable-mpi --enable-threads
72
mv fftw/.libs/libfftw.a rfftw/.libs/librfftw.a threads/.libs/lib*.a mpi/.libs/lib*.a static.d
75
ifeq ($(ARCHITECTURE), i386)
76
./configure --enable-float --enable-type-prefix --prefix=/usr --enable-mpi --enable-threads --enable-i386-hacks
78
./configure --enable-float --enable-type-prefix --prefix=/usr --enable-mpi --enable-threads
81
mv fftw/.libs/libsfftw.a rfftw/.libs/libsrfftw.a threads/.libs/lib*.a mpi/.libs/lib*.a static.s
88
-rm -rf fftw/*.o fftw/*.lo fftw/.libs
89
-rm -rf rfftw/*.o rfftw/*.lo rfftw/.libs
90
-rm -rf tests/*.o tests/.libs tests/fftw_test tests/rfftw_test
91
-rm -rf static* shared*
92
-rm -rf threads/*.o threads/*.lo threads/.libs threads/*fftw_threads_test
93
-rm -rf mpi/*.o mpi/*.lo mpi/.libs mpi/*fftw_mpi_test mpi/test_sched mpi/test_transpose_mpi
95
-rm -f `find . -name "*~"`
96
-rm -rf debian/tmp `find debian/* -type d ! -name CVS` debian/files* core
97
-rm -f debian/*substvars
98
-rm -f config.cache config.status
100
binary-indep: checkroot build
103
-rm -rf debian/tmp-docs
104
$(INSTALL_DIR) -p debian/tmp-docs/usr/share/info
105
( cd debian/tmp-docs && $(INSTALL_DIR) DEBIAN usr/share/doc/fftw-docs )
106
$(INSTALL_DATA) README README.hacks TODO NEWS debian/tmp-docs/usr/share/doc/fftw-docs
107
$(INSTALL_DATA) debian/copyright debian/tmp-docs/usr/share/doc/fftw-docs
108
$(INSTALL_DATA) debian/changelog debian/tmp-docs/usr/share/doc/fftw-docs/changelog.Debian
109
$(INSTALL_DATA) ChangeLog debian/tmp-docs/usr/share/doc/fftw-docs/changelog
110
gzip -9 debian/tmp-docs/usr/share/doc/fftw-docs/changelog*
112
$(INSTALL_DIR) debian/tmp-docs/usr/share/doc/fftw-docs/FAQ
113
$(INSTALL_DATA) FAQ/fftw-faq.html/* debian/tmp-docs/usr/share/doc/fftw-docs/FAQ
114
$(INSTALL_DIR) debian/tmp-docs/usr/share/doc/fftw-docs/html
115
$(INSTALL_DATA) doc/*.html doc/*.gif debian/tmp-docs/usr/share/doc/fftw-docs/html
116
$(INSTALL_DATA) doc/fftw.info* debian/tmp-docs/usr/share/info
117
gzip -9 debian/tmp-docs/usr/share/info/*
119
$(INSTALL_DIR) debian/tmp-docs/usr/share/doc/fftw-docs/tests/tests
120
$(INSTALL_DATA) tests/README debian/tmp-docs/usr/share/doc/fftw-docs/tests/tests
121
$(INSTALL_DATA) tests/*.c tests/README debian/tmp-docs/usr/share/doc/fftw-docs/tests/tests
122
$(INSTALL_DATA) debian/Makefile.tests debian/tmp-docs/usr/share/doc/fftw-docs/tests/tests/Makefile
123
$(INSTALL_DATA) fftw/fftw-int.h fftw/config.h tests/test_main.h debian/tmp-docs/usr/share/doc/fftw-docs/tests/tests
124
gzip -9 debian/tmp-docs/usr/share/doc/fftw-docs/tests/tests/*
126
$(INSTALL_DIR) debian/tmp-docs/usr/share/doc/fftw-docs/tests/threads
127
$(INSTALL_DATA) debian/Makefile.threads debian/tmp-docs/usr/share/doc/fftw-docs/tests/threads/Makefile
128
$(INSTALL_DATA) threads/*fftw_threads_test.c debian/tmp-docs/usr/share/doc/fftw-docs/tests/threads
129
$(INSTALL_DATA) threads/fftw_threads-int.h debian/tmp-docs/usr/share/doc/fftw-docs/tests/threads
130
gzip -9 debian/tmp-docs/usr/share/doc/fftw-docs/tests/threads/*
132
$(INSTALL_DIR) debian/tmp-docs/usr/share/doc/fftw-docs/tests/mpi
133
$(INSTALL_DATA) debian/Makefile.mpi debian/tmp-docs/usr/share/doc/fftw-docs/tests/mpi/Makefile
134
$(INSTALL_DATA) mpi/*test*.c debian/tmp-docs/usr/share/doc/fftw-docs/tests/mpi/
135
$(INSTALL_DATA) mpi/sched.h mpi/TOMS_transpose.h debian/tmp-docs/usr/share/doc/fftw-docs/tests/mpi/
136
gzip -9 debian/tmp-docs/usr/share/doc/fftw-docs/tests/mpi/*
138
$(INSTALL_BIN) debian/fftw-docs.postinst debian/tmp-docs/DEBIAN/postinst
139
$(INSTALL_BIN) debian/fftw-docs.prerm debian/tmp-docs/DEBIAN/prerm
141
dpkg-gencontrol -isp -pfftw-docs -Pdebian/tmp-docs
142
dpkg --build debian/tmp-docs ..
144
binary-arch: checkroot build
149
$(INSTALL_DIR) debian/tmp
150
cd debian/tmp ; $(INSTALL_DIR) DEBIAN usr/lib usr/share/doc/fftw${version_major}
151
$(INSTALL_DATA) debian/copyright debian/tmp/usr/share/doc/fftw${version_major}
152
$(INSTALL_DATA) ChangeLog debian/tmp/usr/share/doc/fftw${version_major}/changelog
153
$(INSTALL_DATA) debian/changelog debian/tmp/usr/share/doc/fftw${version_major}/changelog.Debian
154
gzip -9 debian/tmp/usr/share/doc/fftw${version_major}/changelog*
155
$(INSTALL_DATA) debian/README.debian debian/tmp/usr/share/doc/fftw${version_major}
157
$(INSTALL_DATA) debian/shlibs debian/tmp/DEBIAN
158
$(INSTALL_BIN) debian/postinst debian/tmp/DEBIAN
159
$(INSTALL_BIN) debian/postrm debian/tmp/DEBIAN
160
strip --strip-unneeded shared.d/lib*fftw*.so.$(lib_version)
161
$(INSTALL_LIB) -s shared.d/lib*.so.$(lib_version) debian/tmp/usr/lib
162
ln -s libfftw.so.$(lib_version) debian/tmp/usr/lib/libfftw.so.$(version_major)
163
ln -s librfftw.so.$(lib_version) debian/tmp/usr/lib/librfftw.so.$(version_major)
165
ln -s libfftw_threads.so.$(lib_version) debian/tmp/usr/lib/libfftw_threads.so.$(version_major)
166
ln -s librfftw_threads.so.$(lib_version) debian/tmp/usr/lib/librfftw_threads.so.$(version_major)
167
ln -s libfftw_mpi.so.$(lib_version) debian/tmp/usr/lib/libfftw_mpi.so.$(version_major)
168
ln -s librfftw_mpi.so.$(lib_version) debian/tmp/usr/lib/librfftw_mpi.so.$(version_major)
170
dpkg-shlibdeps shared.d/$(lib).so.$(lib_version)
171
dpkg-gencontrol -isp -pfftw${version_major} -Pdebian/tmp
172
dpkg --build debian/tmp ..
176
$(INSTALL_DIR) debian/stmp
177
cd debian/stmp ; $(INSTALL_DIR) DEBIAN usr/lib usr/share/doc/sfftw${version_major}
178
$(INSTALL_DATA) debian/copyright debian/stmp/usr/share/doc/sfftw${version_major}
179
$(INSTALL_DATA) ChangeLog debian/stmp/usr/share/doc/sfftw${version_major}/changelog
180
$(INSTALL_DATA) debian/changelog debian/stmp/usr/share/doc/sfftw${version_major}/changelog.Debian
181
gzip -9 debian/stmp/usr/share/doc/sfftw${version_major}/changelog*
182
$(INSTALL_DATA) debian/README.debian debian/stmp/usr/share/doc/sfftw${version_major}
184
$(INSTALL_DATA) debian/shlibs-single debian/stmp/DEBIAN/shlibs
185
$(INSTALL_BIN) debian/sfftw.postinst debian/stmp/DEBIAN/postinst
186
$(INSTALL_BIN) debian/sfftw.postrm debian/stmp/DEBIAN/postrm
187
strip --strip-unneeded shared.s/lib*fftw*.so.$(lib_version)
188
$(INSTALL_LIB) -s shared.s/lib*.so.$(lib_version) debian/stmp/usr/lib
189
ln -s libsfftw.so.$(lib_version) debian/stmp/usr/lib/libsfftw.so.$(version_major)
190
ln -s libsrfftw.so.$(lib_version) debian/stmp/usr/lib/libsrfftw.so.$(version_major)
192
ln -s libsfftw_threads.so.$(lib_version) debian/stmp/usr/lib/libsfftw_threads.so.$(version_major)
193
ln -s libsrfftw_threads.so.$(lib_version) debian/stmp/usr/lib/libsrfftw_threads.so.$(version_major)
194
ln -s libsfftw_mpi.so.$(lib_version) debian/stmp/usr/lib/libsfftw_mpi.so.$(version_major)
195
ln -s libsrfftw_mpi.so.$(lib_version) debian/stmp/usr/lib/libsrfftw_mpi.so.$(version_major)
197
dpkg-shlibdeps shared.s/$(slib).so.$(lib_version)
198
dpkg-gencontrol -isp -psfftw${version_major} -Pdebian/stmp
199
dpkg --build debian/stmp ..
202
-rm -rf debian/tmp-dev
203
$(INSTALL_DIR) debian/tmp-dev
204
( cd debian/tmp-dev && $(INSTALL_DIR) DEBIAN usr/lib usr/share/doc/fftw-dev usr/include )
205
$(INSTALL_DATA) README README.hacks TODO NEWS debian/tmp-dev/usr/share/doc/fftw-dev
206
$(INSTALL_DATA) debian/copyright debian/tmp-dev/usr/share/doc/fftw-dev
207
$(INSTALL_DATA) debian/changelog debian/tmp-dev/usr/share/doc/fftw-dev/changelog.Debian
208
$(INSTALL_DATA) ChangeLog debian/tmp-dev/usr/share/doc/fftw-dev/changelog
209
gzip -9 debian/tmp-dev/usr/share/doc/fftw-dev/changelog*
211
# $(INSTALL_BIN) debian/fftw-dev.postinst debian/tmp-dev/DEBIAN/postinst
212
# $(INSTALL_BIN) debian/fftw-dev.prerm debian/tmp-dev/DEBIAN/prerm
214
$(INSTALL_DIR) debian/tmp-dev/usr/share/doc/fftw-dev/fortran
215
$(INSTALL_DATA) fortran/fftw_f77.i debian/tmp-dev/usr/share/doc/fftw-dev/fortran
217
strip --strip-debug static.d/lib*fftw*.a
218
$(INSTALL_LIB) static.d/lib*fftw*.a debian/tmp-dev/usr/lib/
219
ln -s libfftw.so.$(version_major) debian/tmp-dev/usr/lib/libfftw.so
220
ln -s librfftw.so.$(version_major) debian/tmp-dev/usr/lib/librfftw.so
221
ln -s libfftw_threads.so.$(version_major) debian/tmp-dev/usr/lib/libfftw_threads.so
222
ln -s librfftw_threads.so.$(version_major) debian/tmp-dev/usr/lib/librfftw_threads.so
223
ln -s libfftw_mpi.so.$(version_major) debian/tmp-dev/usr/lib/libfftw_mpi.so
224
ln -s librfftw_mpi.so.$(version_major) debian/tmp-dev/usr/lib/librfftw_mpi.so
225
$(INSTALL_DATA) shared.d/*.h debian/tmp-dev/usr/include
227
dpkg-gencontrol -isp -p${package}-dev -Pdebian/tmp-dev
228
dpkg --build debian/tmp-dev ..
231
-rm -rf debian/stmp-dev
232
$(INSTALL_DIR) debian/stmp-dev
233
( cd debian/stmp-dev && $(INSTALL_DIR) DEBIAN usr/lib usr/share/doc/sfftw-dev usr/include )
234
$(INSTALL_DATA) README README.hacks TODO NEWS debian/stmp-dev/usr/share/doc/sfftw-dev
235
$(INSTALL_DATA) debian/copyright debian/stmp-dev/usr/share/doc/sfftw-dev
236
$(INSTALL_DATA) debian/changelog debian/stmp-dev/usr/share/doc/sfftw-dev/changelog.Debian
237
$(INSTALL_DATA) ChangeLog debian/stmp-dev/usr/share/doc/sfftw-dev/changelog
238
gzip -9 debian/stmp-dev/usr/share/doc/sfftw-dev/changelog*
240
# $(INSTALL_BIN) debian/sfftw-dev.postinst debian/stmp-dev/DEBIAN/postinst
241
# $(INSTALL_BIN) debian/sfftw-dev.prerm debian/stmp-dev/DEBIAN/prerm
243
$(INSTALL_DIR) debian/stmp-dev/usr/share/doc/sfftw-dev/tests/tests
244
$(INSTALL_DATA) tests/README debian/stmp-dev/usr/share/doc/sfftw-dev/tests/tests
245
$(INSTALL_DATA) tests/*.c tests/README debian/stmp-dev/usr/share/doc/sfftw-dev/tests/tests
246
$(INSTALL_DATA) debian/Makefile.tests debian/stmp-dev/usr/share/doc/sfftw-dev/tests/tests/Makefile
247
$(INSTALL_DATA) fftw/fftw-int.h fftw/config.h tests/test_main.h debian/stmp-dev/usr/share/doc/sfftw-dev/tests/tests
248
gzip -9 debian/stmp-dev/usr/share/doc/sfftw-dev/tests/tests/*
250
$(INSTALL_DIR) debian/stmp-dev/usr/share/doc/sfftw-dev/tests/threads
251
$(INSTALL_DATA) debian/Makefile.threads debian/stmp-dev/usr/share/doc/sfftw-dev/tests/threads/Makefile
252
$(INSTALL_DATA) threads/*fftw_threads_test.c debian/stmp-dev/usr/share/doc/sfftw-dev/tests/threads
253
$(INSTALL_DATA) threads/fftw_threads-int.h debian/stmp-dev/usr/share/doc/sfftw-dev/tests/threads
254
gzip -9 debian/stmp-dev/usr/share/doc/sfftw-dev/tests/threads/*
256
$(INSTALL_DIR) debian/stmp-dev/usr/share/doc/sfftw-dev/tests/mpi
257
$(INSTALL_DATA) debian/Makefile.mpi debian/stmp-dev/usr/share/doc/sfftw-dev/tests/mpi/Makefile
258
$(INSTALL_DATA) mpi/*test*.c debian/stmp-dev/usr/share/doc/sfftw-dev/tests/mpi/
259
$(INSTALL_DATA) mpi/sched.h mpi/TOMS_transpose.h debian/stmp-dev/usr/share/doc/sfftw-dev/tests/mpi/
260
gzip -9 debian/stmp-dev/usr/share/doc/sfftw-dev/tests/mpi/*
262
# $(INSTALL_DIR) debian/stmp-dev/usr/share/doc/sfftw-dev/FAQ
263
# $(INSTALL_DATA) FAQ/fftw-faq.html/* debian/stmp-dev/usr/share/doc/sfftw-dev/FAQ
264
# $(INSTALL_DIR) debian/stmp-dev/usr/share/doc/sfftw-dev/html
265
# $(INSTALL_DATA) doc/*.html doc/*.gif debian/stmp-dev/usr/share/doc/sfftw-dev/html
267
$(INSTALL_DIR) debian/stmp-dev/usr/share/doc/sfftw-dev/fortran
268
$(INSTALL_DATA) fortran/fftw_f77.i debian/stmp-dev/usr/share/doc/sfftw-dev/fortran
270
strip --strip-debug static.s/lib*fftw*.a
271
$(INSTALL_LIB) static.s/lib*fftw*.a debian/stmp-dev/usr/lib/
272
ln -s libsfftw.so.$(version_major) debian/stmp-dev/usr/lib/libsfftw.so
273
ln -s libsrfftw.so.$(version_major) debian/stmp-dev/usr/lib/libsrfftw.so
274
ln -s libsfftw_threads.so.$(version_major) debian/stmp-dev/usr/lib/libsfftw_threads.so
275
ln -s libsrfftw_threads.so.$(version_major) debian/stmp-dev/usr/lib/libsrfftw_threads.so
276
ln -s libsfftw_mpi.so.$(version_major) debian/stmp-dev/usr/lib/libsfftw_mpi.so
277
ln -s libsrfftw_mpi.so.$(version_major) debian/stmp-dev/usr/lib/libsrfftw_mpi.so
278
$(INSTALL_DATA) shared.s/*.h debian/stmp-dev/usr/include
280
dpkg-gencontrol -isp -p${spackage}-dev -Pdebian/stmp-dev
281
dpkg --build debian/stmp-dev ..
287
binary: binary-indep binary-arch
291
test root = "`whoami`"
293
.PHONY: binary binary-arch binary-indep clean checkroot