File: rules

package info (click to toggle)
hat 2.02-12
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 8,296 kB
  • ctags: 668
  • sloc: haskell: 64,394; ansic: 6,112; sh: 888; makefile: 451
file content (125 lines) | stat: -rwxr-xr-x 3,598 bytes parent folder | download
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