File: rules

package info (click to toggle)
unionfs 1.4%2Bdebian-4
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 924 kB
  • ctags: 929
  • sloc: ansic: 9,905; sh: 2,787; makefile: 253; perl: 200
file content (171 lines) | stat: -rwxr-xr-x 5,161 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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
#!/usr/bin/make -f

# Uncomment this to turn on verbose mode. 
#export DH_VERBOSE=1

CFLAGS = -Wall -g

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -O0
else
	CFLAGS += -O2
endif

# some default definitions, important!
# 
# Name of the source package
psource:=unionfs-source

# The short upstream name, used for the module source directory
sname:=unionfs

### KERNEL SETUP
### Setup the stuff needed for making kernel module packages
### taken from /usr/share/kernel-package/sample.module.rules

# prefix of the target package name
PACKAGE=unionfs-modules
# modifieable for experiments or debugging m-a
MA_DIR ?= /usr/share/modass
# load generic variable handling
-include $(MA_DIR)/include/generic.make
# load default rules, including kdist, kdist_image, ...
-include $(MA_DIR)/include/common-rules.make
  
# module assistant calculates all needed things for us and sets
# following variables:
# KSRC (kernel source directory), KVERS (kernel version string), KDREV
# (revision of the Debian kernel-image package), CC (the correct
# compiler), VERSION (the final package version string), PKGNAME (full
# package name with KVERS included), DEB_DESTDIR (path to store DEBs)
  
# The kdist_configure target is called by make-kpkg modules_config and
# by kdist* rules by dependency. It should configure the module so it is
# ready for compilation (mostly useful for calling configure).
# prep-deb-files from module-assistant creates the neccessary debian/ files 
kdist_configure: prep-deb-files
  
# the kdist_clean target is called by make-kpkg modules_clean and from
# kdist* rules. It is responsible for cleaning up any changes that have
# been made by the other kdist_commands (except for the .deb files created)
kdist_clean: clean
	$(MAKE) $(MFLAGS) -f debian/rules clean
#
### end  KERNEL SETUP

# the binary-modules rule is invoked by module-assistant while processing the
# kdist* targets. It is called by module-assistant or make-kpkg and *not*
# during a normal build
configure: configure-stamp
configure-stamp:
	dh_testdir

	# Copy files
	mkdir build

	cp Makefile.kernel build/Makefile
	cp branchman.c commonfops.c copyup.c dentry.c dirfops.c dirhelper.c file.c inode.c lookup.c main.c persistent_inode.c print.c rdstate.c rename.c sioq.c sioq.h stale_inode.c subr.c super.c unionfs.h unionfs_debug.h unionfs_imap.h unionfs_macros.h unlink.c xattr.c build

	mv Makefile Makefile.upstream
	cp debian/Makefile Makefile

	touch configure-stamp

binary-modules: prep-deb-files
	dh_testroot
	dh_clean -k

	# Build the module
	$(MAKE) KDIR=$(KSRC) KVER=$(KVERS)

	# Install the module
	install -D -m 0644 build/unionfs.ko debian/$(PACKAGE)-$(KVERS)/lib/modules/$(KVERS)/kernel/fs/unionfs/unionfs.ko

	dh_installdocs AUTHORS BUGS NEWS
	dh_installchangelogs ChangeLog
	dh_compress
	dh_fixperms
	dh_installmodules
	dh_installdeb
	dh_gencontrol -- -v$(VERSION)
	dh_md5sums
	dh_builddeb --destdir=$(DEB_DESTDIR)
	dh_clean -k

build: configure-stamp
	dh_testdir

	make -f Makefile.upstream utils EXTRACFLAGS="-DUNIONFS_XATTR -DFIST_SETXATTR_CONSTVOID"

clean:
	dh_testdir
	#dh_testroot
	rm -f build-stamp configure-stamp

	# Cleaning package
	-$(MAKE) clean
	-mv Makefile.upstream Makefile

	dh_clean

install: DH_OPTIONS=
install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	# Install tools
	CFLAGS="$(CFLAGS)" $(MAKE) -f Makefile.upstream PREFIX="$(CURDIR)/debian/unionfs-tools/usr" MANDIR="$(CURDIR)/debian/unionfs-tools/usr/share/man" install-utils
	install -d -m 0755 debian/unionfs-tools/usr/share/doc/unionfs-tools
	install -m 644 AUTHORS BUGS NEWS debian/unionfs-tools/usr/share/doc/unionfs-tools

	# Create the directories to install the source into
	dh_installdirs -p$(psource)  usr/src/modules/$(sname)/debian usr/src/modules/$(sname)/build

	# Copy only the driver source to the proper location
	cp -a AUTHORS BUGS NEWS ChangeLog debian/$(psource)/usr/src/modules/$(sname)
	cp -a build/Makefile build/*.c build/*.h debian/$(psource)/usr/src/modules/$(sname)/build
	cp -a Makefile debian/$(psource)/usr/src/modules/$(sname)
	# Copy the needed debian/ pieces to the proper location
	cp debian/*modules.in* \
		debian/$(psource)/usr/src/modules/$(sname)/debian
	cp debian/control debian/rules debian/changelog debian/copyright \
		debian/compat debian/$(psource)/usr/src/modules/$(sname)/debian/
	cd debian/$(psource)/usr/src && tar c modules | bzip2 -9 > $(sname).tar.bz2 && rm -rf modules

	dh_install

binary-arch: build install
	dh_testdir -s
	dh_testroot -s
	dh_installchangelogs -s ChangeLog
	dh_installdocs -s AUTHORS BUGS NEWS
	dh_install -s
	dh_link -s
	dh_strip -s
	dh_compress -s
	dh_fixperms -s
	dh_installdeb -s
	dh_shlibdeps -s
	dh_gencontrol -s
	dh_md5sums -s
	dh_builddeb -s

binary-indep: build install
	dh_testdir -i
	dh_testroot -i
	dh_installchangelogs -i ChangeLog
	dh_installdocs -i AUTHORS BUGS NEWS
	dh_install -i
	dh_link -i
	dh_compress -i
	dh_fixperms -i
	dh_installdeb -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install binary-modules kdist kdist_configure kdist_image kdist_clean