blob: ac3b1dc496a81ba420ae263b23fddec017be3a90 (
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
#!/usr/bin/make -f
# Made with the aid of debmake, by Christoph Lameter,
# based on the sample debian/rules file for GNU hello by Ian Jackson.
package=ivy-c
SED_COMMAND='s/.*(\([^)]*\)).*/\1/p'
MAJOR := $(shell sed -n $(SED_COMMAND) debian/changelog | head -1 | sed -n 's/\([0-9]*\)\..*/\1/p')
MINOR := $(shell sed -n $(SED_COMMAND) debian/changelog | head -1 | sed -n 's/[0-9]*\.\([0-9\.]*\).*/\1/p')
VERSION = $(MAJOR).$(MINOR)
CVS_TAG := $(shell echo -n $(VERSION) | sed -n 's/\./_/gp')
build:
$(checkdir)
$(checkversion)
cd src && make all MAJOR=$(MAJOR) MINOR=$(MINOR)
touch build
clean:
$(checkdir)
$(checkversion)
-rm -f build
-rm -rf debian/tmp `find debian/* -type d ! -name CVS` debian/files* core
-rm -f debian/*substvars
binary-indep: checkroot build
$(checkdir)
$(checkversion)
# There are no architecture-independent files to be uploaded
# generated by this package. If there were any they would be
# made here.
binary-arch: checkroot build
$(checkdir)
$(checkversion)
-rm -rf debian/tmp `find debian/* -type d ! -name CVS`
install -d debian/tmp
cd debian/tmp && install -d `cat ../dirs`
cd src && make install PREFIX=`pwd`/../debian/tmp MAJOR=$(MAJOR) MINOR=$(MINOR)
debstd -p
-rmdir debian/tmp/usr/include
dpkg-gencontrol -p$(package)
chown -R root.root debian/tmp
chmod -R go=rX debian/tmp
dpkg --build debian/tmp ..
define checkdir
test -f debian/rules
endef
# Below here is fairly generic really
binary: binary-indep binary-arch
checkroot:
$(checkdir)
test root = "`whoami`"
define checkversion
-@echo $(VERSION)
-@echo $(CVS_TAG)
-@if (test -d CVS); then \
if (cvs status -v debian/changelog | grep --silent $(CVS_TAG)); then \
echo "cvs tag $(CVS_TAG) matches package version $(VERSION)"; \
else \
echo "debian/rules: *** Warning : No cvs tag $(CVS_TAG) matches package version $(VERSION) for file changelog. You can tag your cvs module by doing debian/rules tag"; \
echo -n "debian/rules: *** Existing tags are : "; \
cvs status -v debian/changelog | sed -n 's/.*\(V.*_[0-9]\).*/\1/p'; \
fi \
fi
endef
tag:
-@if (test -x cvs); then cvs tag $(CVS_TAG) .; fi
.PHONY: binary binary-arch binary-indep clean checkroot
|