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
|
#!/usr/bin/make -f
# debian/rules for hat
# Based on a debhelper example
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# This has to be exported to make some magic below work.
export DH_OPTIONS
COMPS := $(notdir $(wildcard /usr/bin/ghc6 /usr/bin/ghc5 /usr/bin/nhc98))
build-dir-%:
mkdir debian/build-$*
find . -name debian -prune -o \( -mindepth 1 -type d -print0 \) \
| (cd debian/build-$* && xargs -0 mkdir)
find . -name debian -prune -o \( \( -type f -o -type l \) -print0 \) \
| (cd debian/build-$* \
&& xargs -n 1 -0 --replace cp $(shell pwd)/{} {})
#&& xargs -n 1 -0 --replace ln -sf $(shell pwd)/{} {})
build-lib-%:
cd debian/build-$* && ./configure --buildwith=$* --prefix=/usr \
--mandir=/usr/share/man/man1
$(MAKE) -C debian/build-$* hat-trans hat-lib
build: build-stamp
build-stamp:
dh_testdir
update-haskell-control --check
rm -f src/hatlib/Foreign/ForeignPtr.hs
rm -f src/hatlib/Foreign/ForeignPtr.hx
$(MAKE) -f debian/rules build-dir-tools
cd debian/build-tools && ./configure --prefix=/usr \
--mandir=/usr/share/man/man1 \
--buildwith=$(firstword $(COMPS))
$(MAKE) -C debian/build-tools
for c in $(COMPS); do $(MAKE) -f debian/rules build-dir-$$c; \
$(MAKE) -f debian/rules build-lib-$$c; done
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp
rm -rf debian/build-*
dh_clean
install: DH_OPTIONS=
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
$(MAKE) -C debian/build-tools DESTDIR=`pwd`/debian/hat install-noinc
for c in $(COMPS); do $(MAKE) -C debian/build-$$c DESTDIR=`pwd`/debian/hat-$$c install-nolibbinmanincx; done
for i in debian/hat/usr/bin/hat-*; \
do mv "$$i" "$$i.old"; \
sed "s/^MACHINE=.*/MACHINE=$$(script/harch)/" < "$$i.old" \
> "$$i"; \
chmod --reference="$$i.old" "$$i"; \
rm "$$i.old"; \
done
rm -f debian/hat/usr/bin/harch
cp src/hatlib/hat-package.conf debian/hat/usr/lib/hat/package.conf.ghc5
sed 's/"lang"/"lang","data"/' < src/hatlib/hat-package.conf > debian/hat/usr/lib/hat/package.conf.ghc6
dh_install
# This single target is used to build all the packages, all at once, or
# one at a time. So keep in mind: any options passed to commands here will
# affect _all_ packages. Anything you want to only affect one package
# should be put in another target, such as the install target.
binary-common:
dh_testdir
dh_testroot
dh_installchangelogs
dh_installdocs
dh_installexamples
dh_installmenu
# dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installcatalogs
# dh_installpam
# dh_installmime
# dh_installinit
# dh_installman
# dh_installcron
# dh_installinfo
# dh_undocumented
dh_strip
dh_link
dh_compress
dh_fixperms
# dh_perl
# dh_python
# dh_makeshlibs
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
# Build architecture independant packages using the common target.
binary-indep: build install
# (Uncomment this next line if you have such packages.)
# $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
# Build architecture dependant packages using the common target.
binary-arch: build install
$(MAKE) -f debian/rules DH_OPTIONS=-s binary-common
# Any other binary targets build just one binary package at a time.
binary-%: build install
make -f debian/rules binary-common DH_OPTIONS=-p$*
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary-common binary install
|