summaryrefslogtreecommitdiff
path: root/debian/rules
blob: dc0b3edb681c81df3a44e88a32b660797989cce2 (plain)
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
#!/usr/bin/make -f

package = attr
develop = $(package)-dev

dirtmp = debian/tmp
dirdev = debian/$(develop)
pkgtmp = DIST_ROOT=`pwd`/$(dirtmp); export DIST_ROOT;
pkgdev = DIST_ROOT=`pwd`/$(dirdev); export DIST_ROOT;
stdenv = @GZIP=-q; export GZIP;

options = DEBUG="-DNDEBUG"; OPTIMIZER="-O1 -g"; DISTRIBUTION="debian"; \
	export DEBUG OPTIMIZER DISTRIBUTION;
checkdir = test -f debian/rules

build: built
built: config
	@echo "== dpkg-buildpackage: build" 1>&2
	$(MAKE) default
	touch built

config: .census
.census:
	@echo "== dpkg-buildpackage: configure" 1>&2
	$(checkdir)
	autoconf
	$(options) ./configure
	touch .census

clean:
	@echo "== dpkg-buildpackage: clean" 1>&2
	$(checkdir)
	-rm -f built .census
	$(MAKE) distclean
	-rm -rf $(dirtmp) $(dirdev) debian/*substvars debian/files*

binary-indep:

# Note1: dev pkg with .so symlinks to base pkg confuses debstd;
# so the .so 'Dangling symlink' message is benign.
# Note2: absolute symlinks (required by policy) confuse debstd;
# so we'll filter out symlink messages entirely now.
# 
binary-arch: checkroot built
	@echo "== dpkg-buildpackage: binary-arch" 1>&2
	$(checkdir)
	-rm -rf $(dirtmp) $(dirdev)
	$(pkgtmp) $(MAKE) -C . install
	$(pkgdev) $(MAKE) -C . install-dev
	$(pkgtmp) $(MAKE) -C build src-manifest
	@echo "== dpkg-buildpackage: debstd" 1>&2
	$(stdenv) debstd -m | grep -v 'Dangling symlink'
	dpkg-gencontrol -isp -p$(package) -P$(dirtmp)
	dpkg-gencontrol -isp -p$(develop) -P$(dirdev)
	chown -R root.root $(dirtmp) $(dirdev)
	chmod -R go=rX $(dirtmp) $(dirdev)
	dpkg --build $(dirtmp) .. 
	dpkg --build $(dirdev) ..

binary: binary-indep binary-arch

checkroot:
	test 0 -eq `id -u`

.PHONY: binary binary-arch binary-indep clean checkroot