File: rules

package info (click to toggle)
nas 1.2p5-7
  • links: PTS
  • area: main
  • in suites: slink
  • size: 4,188 kB
  • ctags: 5,551
  • sloc: ansic: 53,034; perl: 1,104; yacc: 228; makefile: 211; cpp: 199; sh: 96; lex: 44
file content (144 lines) | stat: -rwxr-xr-x 5,354 bytes parent folder | download | duplicates (2)
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
#! /usr/bin/make -f
# debian/rules file for NAS

package=nas
pacs=nas nas-bin nas-dev nas-doc nas-lib
instdirs=BINDIR=/usr/bin USRLIBDIR=/usr/lib MANPATH=/usr/man INCDIR=/usr/include MANSUFFIX=1nas LIBMANSUFFIX=3nas FILEMANSUFFIX=5nas ETCDIR=/etc/nas

build:
        # Make include symlinks
	( cd include/audio; for file in ../../lib/audio/*.h; do ln -s $$file .; done )
	xmkmf -a
	make LDFLAGS="-s"
	touch build

clean:
	FOO=bar; echo $$FOO
	$(checkdir)
	-make clean
	find . -name Makefile -exec rm -f {} \;
        # Clear up include symlinks
	find include/audio -type l -exec rm -f {} \;
	rm -rf debian/tmp debian/nas{,-dev,-doc,-bin,-lib}
	rm -f build debian/files

binary-indep:  checkroot build
	$(checkdir)
	# There are no architecture independent packages to be built

binary-arch:  checkroot build
	$(checkdir)
	# First create directories:
	# nas
	install -d debian/nas/DEBIAN
	install -d debian/nas/usr/bin
	install -d debian/nas/usr/man/man1
	install -d debian/nas/usr/man/man5
	install -d debian/nas/usr/doc/nas
	install -d debian/nas/etc/init.d
	# nas-bin
	install -d debian/nas-bin/DEBIAN
	install -d debian/nas-bin/usr/bin
	install -d debian/nas-bin/usr/man/man1
	install -d debian/nas-bin/usr/doc/nas-bin
	# nas-dev
	install -d debian/nas-dev/DEBIAN
	install -d debian/nas-dev/usr/include/audio
	install -d debian/nas-dev/usr/man/man3
	install -d debian/nas-dev/usr/doc/nas-dev
	install -d debian/nas-dev/usr/lib
	# nas-doc
	install -d debian/nas-doc/DEBIAN
	install -d debian/nas-doc/usr/doc/nas-doc
	install -d debian/nas-doc/usr/doc/nas
	# nas-lib
	install -d debian/nas-lib/DEBIAN
	install -d debian/nas-lib/usr/lib
	install -d debian/nas-lib/usr/doc/nas-lib
	# Make install used to do most stuff for us, but not any more.
	#$(MAKE) install BINDIR=/usr/bin MANPATH=/usr/man DESTDIR=$(TOP)/debian/tmp
	#$(MAKE) install.man DESTDIR=$(TOP)/debian/tmp
	# install nas
	(top=`pwd`; cd server && $(MAKE) install $(instdirs) DESTDIR=$$top/debian/nas)
	(top=`pwd`; cd server && $(MAKE) install.man $(instdirs) DESTDIR=$$top/debian/nas)
	mv debian/nas/usr/man/man1/AUVoxConfig.1nas debian/nas/usr/man/man5/AUVoxConfig.5nas 
	# install nas-bin
	(top=`pwd`; cd clients/audio && $(MAKE) install $(instdirs) DESTDIR=$$top/debian/nas-bin)
	(top=`pwd`; cd clients/audio && $(MAKE) install.man $(instdirs) DESTDIR=$$top/debian/nas-bin)
	# install nas-dev
	(top=`pwd`; cd doc/man/lib && $(MAKE) install.man $(instdirs) MANSUFFIX=3nas DESTDIR=$$top/debian/nas-dev)
	install -m644 lib/audio/libaudio.a debian/nas-dev/usr/lib
	install -m644 include/audio/*.h debian/nas-dev/usr/include/audio
	ln -s libaudio.so.2.0 debian/nas-dev/usr/lib/libaudio.so
	# install nas-doc
	install -m644 doc/*{ps,txt} doc/actions debian/nas-doc/usr/doc/nas
	install -m644 doc/README debian/nas-doc/usr/doc/nas/README.DOC
	# install nas-lib
	install -m644 lib/audio/libaudio.so.2.0 lib/audio/AuErrorDB debian/nas-lib/usr/lib
	ln -s libaudio.so.2.0 debian/nas-lib/usr/lib/libaudio.so.2
	install -m644 lib/audio/libaudio.so.2.0 debian/nas-lib/usr/lib
	strip --strip-unneeded debian/nas-lib/usr/lib/libaudio.so.2.0
	# Install other files
	install debian/rc.nas debian/nas/etc/init.d/nas
	install debian/start-nas debian/nas/usr/bin
	install -m 644 debian/start-nas.man debian/nas/usr/man/man1/start-nas.1nas
	install -m 644 doc/man/nas.man debian/nas/usr/man/man1/nas.1nas
	# Install documentation
	-gzip -9v debian/nas{,-dev,-doc,-bin,-lib}/usr/man/man*/*
	ln -s nas.1nas.gz debian/nas/usr/man/man1/au.1nas.gz
	for dir in $(pacs); do install -m644 README FAQ BUGS TODO debian/$$dir/usr/doc/$$dir; done
	for dir in $(pacs); do install -m644 HISTORY debian/$$dir/usr/doc/$$dir/changelog; done
	for dir in $(pacs); do install -m644 debian/changelog debian/$$dir/usr/doc/$$dir/changelog.Debian; done
	install -m644 debian/nas.README.Debian debian/nas/usr/doc/nas
	-gzip -9v debian/nas{,-dev,-doc,-bin,-lib}/usr/doc/*/*
	-chmod -Rv u+w debian/nas{,-dev,-doc,-bin,-lib}/usr/{include,man} 
	chmod -v 644 debian/nas/etc/nas/AUVoxConfig.eg 
	chmod -v 644 debian/nas-lib/usr/lib/AuErrorDB
	for dir in $(pacs); do cp debian/copyright debian/$$dir/usr/doc/$$dir; done
	# Standard package building stuff
	for dir in $(pacs); \
	do \
		if [ -f debian/$$dir.conffiles ] ; then \
			install -m644  debian/$$dir.conffiles debian/$$dir/DEBIAN/conffiles; \
		fi; \
		for file in preinst postinst prerm postrm; \
		do \
			if [ -f debian/$$dir.$$file ] ; then \
				install -m755 debian/$$dir.$$file debian/$$dir/DEBIAN/$$file; \
			fi; \
		done; \
	done
	install -m644 debian/nas-lib.shlibs debian/nas-lib/DEBIAN/shlibs
	dpkg-shlibdeps debian/nas/usr/bin/*
	LD_LIBRARY_PATH=./debian/nas-lib/usr/lib dpkg-shlibdeps debian/nas-bin/usr/bin/*
	dpkg-shlibdeps debian/nas-lib/usr/lib/lib*
	for dir in $(pacs); \
	do \
		dpkg-gencontrol -Pdebian/$$dir -p$$dir >debian/$$dir/DEBIAN/control; \
	done
	-chown -R root.root debian/nas{,-dev,-doc,-bin,-lib}
	-chmod -R g-ws debian/nas{,-dev,-doc,-bin,-lib}
	for dir in $(pacs); \
	do \
		dpkg --build debian/$$dir ..; \
	done

define checkdir
	test -f server/dia/au.h -a -f debian/rules
endef

# Below here is fairly generic really

binary:  binary-indep binary-arch

source diff:
	@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false

checkroot:
	$(checkdir)
	test root = "`whoami`"

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