Subversion Repositories

?revision_form?Rev ?revision_input??revision_submit??revision_endform?

Rev 8 | Rev 13 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
3 magnus 1
#!/usr/bin/make -f
2
# debian/rules file for libraries
3
#
4
# To build the packages, run `dpkg-buildpackage' or `debuild' from the
5
# parent directory of this file. (You may need to specify the `-rfakeroot'
6
# option if you are using dpkg-buildpackage and are not running as root)
7
#
8
# $Id: rules,v 1.8 2003/04/30 07:45:50 timshel Exp $
9
#
10
# Copyright (C) 1999, 2000, 2001, 2002  Timshel Knoll <timshel@debian.org>
11
# Licensed under the terms of the GNU General Public License
12
#
13
# Based originally on Sample debian/rules that uses debhelper, from dh-make,
14
# GNU copyright 1997 to 1999 by Joey Hess.
15
 
16
# Uncomment this to turn on verbose mode.
17
#export DH_VERBOSE=1
18
 
7 magnus 19
include /usr/share/dpatch/dpatch.make
20
 
3 magnus 21
# These are used for cross-compiling and for saving the configure script
22
# from having to guess our platform (since we know it already)
23
DEB_HOST_GNU_TYPE       ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
24
DEB_BUILD_GNU_TYPE      ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
25
 
26
 
27
CFLAGS += -g
28
ifeq (, $(findstring noopt, $(DEB_BUILD_OPTIONS)))
29
	CFLAGS += -O2
30
else
31
	CFLAGS += -O0
32
endif
33
 
34
 
35
# The name of the library - this is the base name of the packages that
36
# will be built
37
LIBRARY = liboop
38
 
39
# This is the soname of the package being built - we have to know this
40
# before the start of the build because changing the control file half
41
# way though the build probably isn't a good idea, and this would also
42
# mean renaming the $(LIBRARY)$(SONAME).{files,docs,...} files
43
SONAME = 4
44
 
45
# A list of variables to substitute when generating files from .in files
46
# If you put an 'x' here, then all @x@'s in .in files will be substituted
47
# with the value of $(x) in the output file
48
SUBSTS = SONAME
49
 
50
GENFILES = debian/control \
51
	debian/$(LIBRARY)$(SONAME).files \
52
	debian/$(LIBRARY)$(SONAME).dirs
53
 
54
# We can't use these until after the package has been built ... otherwise
55
# they will fail because no .libs/lib*.so.* exists
56
version = $(shell ls .libs/lib*.so.* | \
57
	    awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) \
58
	         print substr($$0,RSTART)}')
59
major = $(shell ls .libs/lib*.so.* | \
60
	  awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}')
61
 
62
# This builds a substitution list for sed based on the SUBSTS variable
63
# and the variables whose names SUBSTS contains ...
64
SUBSTLIST = $(foreach subst, $(SUBSTS),s/@$(subst)@/$($(subst))/g;)
65
 
66
# A sane default rule
67
default:
68
	@echo "Try: debian/rules [configure|build|clean|install|binary|binary-arch|binary-indep]"
69
	@echo "Vars:"
70
	@echo "	SUBSTLIST:	$(SUBSTLIST)"
71
	@echo "	SONAME:		$(SONAME)"
72
 
73
# Pattern rules:
74
 
75
# How to generate files from .in's
76
debian/%: debian/%.in debian/rules
77
	sed -e '$(SUBSTLIST)' < $< > $@
78
 
79
# This puts the $(LIBRARY)* packaging files in their right places
80
# Could I / should I use ln?
81
debian/$(LIBRARY)$(SONAME).%: debian/$(LIBRARY).%
82
	cp $< $@
83
 
84
# Do the substitution/moving stuff
85
packaging-files: $(GENFILES)
86
 
87
configure: packaging-files configure-stamp
9 magnus 88
configure-stamp: $(DPATCH_STAMPFN)
3 magnus 89
	dh_testdir
90
 
91
	env CFLAGS="$(CFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) \
92
		--build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr
93
 
94
	touch $@
95
 
96
build: configure-stamp build-stamp
97
build-stamp:
98
	dh_testdir
99
 
100
	$(MAKE)
101
 
102
	touch $@
103
 
9 magnus 104
clean: clean-patched unpatch
3 magnus 105
	dh_testdir
106
	dh_testroot
107
	rm -f build-stamp configure-stamp
108
 
8 magnus 109
	[ ! -f Makefile ] || $(MAKE) distclean
110
	[ ! -f liboop.org/Makefile ] || $(MAKE) -C liboop.org distclean
3 magnus 111
 
112
	dh_clean
113
 
5 magnus 114
install-indep:
3 magnus 115
	dh_testdir
116
	dh_testroot
117
	dh_clean -k
5 magnus 118
	dh_installdirs -i
3 magnus 119
 
120
	$(MAKE) -C liboop.org install \
121
		DESTDIR=$(CURDIR)/debian/tmp/usr/share/doc/liboop-doc/html
122
 
5 magnus 123
install-arch: build
4 magnus 124
	dh_testdir
125
	dh_testroot
5 magnus 126
	dh_clean -k
127
	dh_installdirs -a
128
 
129
	$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
130
 
131
binary-indep: install-indep
132
	dh_testdir
133
	dh_testroot
4 magnus 134
	dh_movefiles -i
3 magnus 135
 
4 magnus 136
	dh_installdocs -i
137
	dh_installman -i
138
	dh_installinfo -i
139
	dh_installchangelogs -i
140
	dh_link -i
141
	dh_compress -i -Xliboop-doc/html
142
	dh_fixperms -i
143
	dh_installdeb -i
144
	dh_gencontrol -i
145
	dh_md5sums -i
146
	dh_builddeb -i
147
 
5 magnus 148
binary-arch: install-arch
3 magnus 149
	dh_testdir
150
	dh_testroot
4 magnus 151
	dh_movefiles -a
3 magnus 152
 
4 magnus 153
	dh_installdocs -a
154
	dh_installman -a
155
	dh_installinfo -a
156
	dh_installchangelogs -a
157
	dh_link -a
158
	dh_strip -a
159
	dh_compress -a -Xliboop-doc/html
160
	dh_fixperms -a
161
	dh_makeshlibs -a
162
	dh_installdeb -a
3 magnus 163
#	 Don't add the depends for adapter libraries - programs which link
164
#	 with them will also link with the appropriate library
4 magnus 165
	dh_shlibdeps -a -Xliboop-
166
	dh_gencontrol -a
167
	dh_md5sums -a
168
	dh_builddeb -a
3 magnus 169
 
170
binary: binary-indep binary-arch
171
 
172
.PHONY: packaging-files configure build install
173
.PHONY: binary-indep binary-arch binary clean