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
|
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# This file is public domain software, originally written by Joey Hess.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
GHC := $(wildcard /usr/bin/ghc6)
NHC := $(wildcard /usr/bin/nhc98)
HMAKE := $(wildcard /usr/bin/hmake)
HUGS := $(wildcard /usr/bin/hugs)
BINDIR = `pwd`/debian/`dh_listpackages`/usr/bin
LIBDIR = `pwd`/debian/`dh_listpackages`/usr/lib/cpphs
ifneq '$(GHC)' ''
COMPILER=ghc
else
ifneq '$(if $(NHC),$(HMAKE),)' ''
COMPILER=nhc
else
ifneq '$(HUGS)' ''
COMPILER=hugs
else
$(error No Haskell implementation found)
endif
endif
endif
build: build-stamp
build-stamp:
dh_testdir
case "$(COMPILER)" in \
ghc) \
$(GHC) --make Main -o cpphs -Wall -O2;; \
nhc) \
$(HMAKE) -hc=$(NHC) Main -package base -Wall -O2 && \
mv Main cpphs;; \
hugs) \
echo "#!/bin/sh" > cpphs && \
echo "runhugs `pwd`/Main.hs \"\$$@\"" >> cpphs && \
chmod +x cpphs;; \
*) \
echo "No Haskell implementation found" >&2 \
exit 1;; \
esac
sh debian/haskell-testsuite-inplace
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp
rm -f *.o *.hi cpphs Main tests/out
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
mkdir -p $(BINDIR)
ifeq '$(COMPILER)' 'hugs'
echo "hugs=hugs" >> debian/cpphs.substvars
echo "#!/bin/sh" > $(BINDIR)/cpphs
echo "runhugs /usr/lib/cpphs/Main.hs \"\$$@\"" >> $(BINDIR)/cpphs
chmod +x $(BINDIR)/cpphs
mkdir -p $(LIBDIR)
cp *.hs $(LIBDIR)
else
cp cpphs $(BINDIR)
endif
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
dh_installchangelogs CHANGELOG
dh_installdocs docs/index.html
dh_installexamples
# dh_install
# dh_installmenu
# dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installcatalogs
# dh_installpam
# dh_installmime
# dh_installinit
# dh_installcron
# dh_installinfo
# dh_undocumented
dh_installman debian/cpphs.1
dh_link
dh_strip
dh_compress
dh_fixperms
# dh_perl
# dh_python
# dh_makeshlibs
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install
|