2 # Made with the aid of dh_make, by Craig Small
3 # Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
4 # Some lines taken from debmake, by Christoph Lameter.
6 # build in verbose mode by default to make it easy to diangose issues
9 export DEB_HOST_GNU_TYPE ?
= $(shell dpkg-architecture
-qDEB_HOST_GNU_TYPE
)
10 export DEB_BUILD_GNU_TYPE ?
= $(shell dpkg-architecture
-qDEB_BUILD_GNU_TYPE
)
11 export DEB_HOST_MULTIARCH ?
= $(shell dpkg-architecture
-qDEB_HOST_MULTIARCH
)
13 # FOR AUTOCONF 2.52 AND NEWER ONLY
14 ifeq ($(DEB_BUILD_GNU_TYPE
), $(DEB_HOST_GNU_TYPE
))
15 confflags
+= --build
$(DEB_HOST_GNU_TYPE
)
17 confflags
+= --build
$(DEB_BUILD_GNU_TYPE
) --host
$(DEB_HOST_GNU_TYPE
)
21 -include build
/environment.mak
23 ifneq (,$(shell which dpkg-buildflags
))
24 export CXXFLAGS
= $(shell dpkg-buildflags
--get CXXFLAGS
)
25 export LDFLAGS
= $(shell dpkg-buildflags
--get LDFLAGS
)
26 export CPPFLAGS
= $(shell dpkg-buildflags
--get CPPFLAGS
)
28 ifneq (,$(findstring noopt
,$(DEB_BUILD_OPTIONS
)))
29 export CXXFLAGS
= -O0
-g
-Wall
31 export CXXFLAGS
= -O2
-g
-Wall
39 DEB_BUILD_PROG
:=debuild
--preserve-envvar PATH
--preserve-envvar CCACHE_DIR
-us
-uc
$(DEB_BUILD_PROG_OPTS
)
40 APT_DEBVER
=$(shell dpkg-parsechangelog |sed
-n
-e
'/^Version:/s/^Version: //p' | sed
-e
's/\+.*$$//')
41 APT_CONFVER
=$(shell sed
-n
-e
's/^AC_DEFINE_UNQUOTED(VERSION,"\(.*\)")/\1/p' configure.in
)
42 APT_CVSTAG
=$(shell echo
"$(APT_DEBVER)" | sed
-e
's/^/v/' -e
's/\./_/g')
44 # Determine the build directory to use
47 BUILD_POSSIBLE
:= $(BUILD
) $(BASE
)/$(BUILD
)
49 BUILD_POSSIBLE
:= $(BASE
) $(BASE
)/build-
$(shell uname
--machine
) $(BASE
)/build
51 BUILDX
:= $(foreach i
,$(BUILD_POSSIBLE
),$(wildcard $(i
)/environment.mak
*))
52 BUILDX
:= $(patsubst %/,%,$(firstword $(dir $(BUILDX
))))
53 override BLD
:= $(BUILDX
)
55 ifeq ($(words $(BLD
)),0)
56 override BLD
:= .
/build
59 # Rebuild configure.in to have the correct version from the change log
60 ifneq ($(APT_DEBVER
),$(APT_CONFVER
))
61 ifneq ($(APT_DEBVER
),)
64 sed
-e
's/$(APT_CONFVER)/$(APT_DEBVER)/' $@
> $@.
$$$$ && mv
$@.
$$$$ $@
70 # APT Programs in apt-utils
71 APT_UTILS
=ftparchive sortpkgs extracttemplates internal-solver
73 # Uncomment this to turn on verbose mode.
76 # Find the libapt-pkg major version for use in other control files
77 include buildlib
/libversion.mak
79 # Determine which library package names to use
80 LIBAPT_PKG
=libapt-pkg
$(LIBAPTPKG_MAJOR
)
81 LIBAPT_INST
=libapt-inst
$(LIBAPTINST_MAJOR
)
83 # do not fail as we are just experimenting with symbol files for now
84 export DPKG_GENSYMBOLS_CHECK_LEVEL
=0
86 build
: build
/build-stamp
87 build-doc
: build
/build-doc-stamp
89 # Note that this is unconditionally done first as part of loading environment.mak
90 # The true is needed to force make to reload environment.mak after running
91 # configure-stamp. Otherwise we can get stale or invalid, or missing config data.
92 build
/environment.mak
: build
/configure-stamp
95 configure
: configure.in
96 build
/configure-stamp
: configure
99 cp COPYING debian
/copyright
100 cd build
&& CXXFLAGS
="$(CXXFLAGS)" LDFLAGS
="$(LDFLAGS)" CPPFLAGS
="$(CPPFLAGS)" ..
/configure
$(confflags
)
103 build
/build-stamp
: build
/configure-stamp
104 # Add here commands to compile the package.
106 # compat symlink for the locale split
107 mkdir
-p build
/usr
/share
108 cd build
/usr
/share
&& ln
-f
-s ..
/..
/locale .
109 # compile and run tests
110 ifeq (,$(findstring nocheck
, $(DEB_BUILD_OPTIONS
)))
113 @echo
"Tests DISABLED"
117 build
/build-doc-stamp
: build
/configure-stamp
118 # Add here commands to compile the package.
125 [ ! -f Makefile
] ||
$(MAKE
) clean distclean
127 rm -f debian
/$(LIBAPT_PKG
).
install debian
/$(LIBAPT_INST
).
install \
128 debian
/libapt-pkg-dev.
install
130 debian
/%.
install: debian
/%.
install.in
131 sed
's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' $< > $@
133 binary-indep
: apt-doc libapt-pkg-doc
134 # Build architecture-independent files here.
135 libapt-pkg-doc
: build-doc
141 # libapt-pkg-doc install
143 dh_installdocs
-p
$@
$(BLD
)/docs
/design
* \
144 $(BLD
)/docs
/dpkg-tech
* \
146 $(BLD
)/docs
/method
* \
147 doc
/libapt-pkg2_to_3.txt \
149 $(BLD
)/doc
/doxygen
/html
150 dh_installexamples
-p
$@
152 dh_installchangelogs
-p
$@
169 dh_installdocs
-p
$@
$(BLD
)/docs
/guide
*.text \
170 $(BLD
)/docs
/guide
*.html \
171 $(BLD
)/docs
/offline
*.text \
172 $(BLD
)/docs
/offline
*.html
173 dh_installchangelogs
-p
$@
183 # Build architecture-dependent files here.
185 binary-arch
: $(LIBAPT_PKG
) $(LIBAPT_INST
) apt libapt-pkg-dev apt-utils apt-transport-https
186 apt_MANPAGES
= apt-cache apt-cdrom apt-config apt-get apt-key apt-mark apt-secure apt apt.conf apt_preferences sources.list
195 cp debian
/apt.conf.autoremove debian
/$@
/etc
/apt
/apt.conf.d
/01autoremove
196 cp debian
/apt.conf.changelog debian
/$@
/etc
/apt
/apt.conf.d
/20changelog
197 cp share
/ubuntu-archive.gpg debian
/$@
/usr
/share
/$@
199 # make rosetta happy and remove pot files in po/ (but leave stuff
200 # in po/domains/* untouched) and cp *.po into each domain dir
204 dh_install
-p
$@
--sourcedir
=$(BLD
)
206 # Remove the bits that are in apt-utils
207 rm $(addprefix debian
/$@
/usr
/bin
/apt-
,$(APT_UTILS
) dump-solver
)
209 # https has its own package
210 rm debian
/$@
/usr
/lib
/apt
/methods
/https
212 # move the mirror failure script in place
213 #mv debian/$@/usr/bin/apt-report-mirror-failure \
214 # debian/$@/usr/lib/apt/apt-report-mirror-failure \
218 dh_installexamples
-p
$@
$(BLD
)/docs
/examples
/*
219 dh_installman
-p
$@
$(wildcard $(patsubst %,doc
/%.
[158],$(apt_MANPAGES
)) $(patsubst %,doc
/*/%.
*.
[158],$(apt_MANPAGES
)))
222 dh_installchangelogs
-p
$@
223 dh_installlogrotate
-p
$@
233 libapt-pkg-dev
: build debian
/libapt-pkg-dev.
install
239 # libapt-pkg-dev install
241 dh_install
-p
$@
--sourcedir
=$(BLD
)
243 dh_installchangelogs
-p
$@
248 dh_gencontrol
-p
$@
-- -Vlibapt-pkg-name
=$(LIBAPT_PKG
) -Vlibapt-inst-name
=$(LIBAPT_INST
)
252 apt-utils_MANPAGES
= apt-sortpkgs apt-ftparchive apt-extracttemplates
259 cp
$(addprefix $(BLD
)/bin
/apt-
,$(APT_UTILS
)) debian
/$@
/usr
/bin
/
260 cp
$(BLD
)/bin
/apt-dump-solver debian
/$@
/usr
/lib
/apt
/solvers
/dump
262 dh_install
-p
$@
--sourcedir
=$(BLD
)
265 dh_installexamples
-p
$@
267 # Install the man pages..
268 dh_installman
-p
$@
$(wildcard $(patsubst %,doc
/%.
[158],$(apt-utils_MANPAGES
)) $(patsubst %,doc
/*/%.
*.
[158],$(apt-utils_MANPAGES
)))
270 dh_installchangelogs
-p
$@
281 $(LIBAPT_PKG
): build debian
/$(LIBAPT_PKG
).
install
287 dh_install
-p
$@
--sourcedir
=$(BLD
)
289 dh_installchangelogs
-p
$@
300 $(LIBAPT_INST
): build debian
/$(LIBAPT_INST
).
install
306 dh_install
-p
$@
--sourcedir
=$(BLD
)
308 dh_installchangelogs
-p
$@
319 apt-transport-https
: build libapt-pkg-dev
325 dh_install
-p
$@
--sourcedir
=$(BLD
)
326 dh_installdocs
-p
$@ debian
/apt-transport-https.README
327 dh_installexamples
-p
$@
329 # Install the man pages..
332 dh_installchangelogs
-p
$@
346 -find .
-name Makefile.in
-print0 | xargs
--null
--no-run-if-empty
-- rm -f
347 find
-name ChangeLog | xargs
rm -f
350 binary
: binary-indep binary-arch
351 .PHONY
: build
clean binary-indep binary-arch binary