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
) 
  41 # Determine the build directory to use 
  44 BUILD_POSSIBLE 
:= $(BUILD
) $(BASE
)/$(BUILD
) 
  46 BUILD_POSSIBLE 
:= $(BASE
) $(BASE
)/build-
$(shell uname 
--machine
) $(BASE
)/build
 
  48 BUILDX
:= $(foreach i
,$(BUILD_POSSIBLE
),$(wildcard $(i
)/environment.mak
*)) 
  49 BUILDX
:= $(patsubst %/,%,$(firstword $(dir $(BUILDX
)))) 
  50 override BLD 
:= $(BUILDX
) 
  52 ifeq ($(words $(BLD
)),0) 
  53 override BLD 
:= .
/build
 
  56 # APT Programs in apt-utils 
  57 APT_UTILS
=ftparchive sortpkgs extracttemplates
 
  59 # Uncomment this to turn on verbose mode. 
  62 # Find the libapt-pkg major version for use in other control files 
  63 include buildlib
/libversion.mak
 
  65 # Determine which library package names to use 
  66 LIBAPT_PKG
=libapt-pkg
$(LIBAPTPKG_MAJOR
) 
  67 LIBAPT_INST
=libapt-inst
$(LIBAPTINST_MAJOR
) 
  69 # do not fail as we are just experimenting with symbol files for now 
  70 export DPKG_GENSYMBOLS_CHECK_LEVEL
=0 
  72 build-binary
: build
/build-binary-stamp
 
  73 build-docbook
: build
/build-docbook-stamp
 
  74 build-manpages
: build
/build-manpages-stamp
 
  76 # Note that this is unconditionally done first as part of loading environment.mak 
  77 # The true is needed to force make to reload environment.mak after running 
  78 # configure-stamp. Otherwise we can get stale or invalid, or missing config data. 
  79 build
/environment.mak
: build
/configure-stamp
 
  82 configure
: configure.ac
 
  83 build
/configure-stamp
: configure buildlib
/config.sub buildlib
/config.guess
 
  86         cp COPYING debian
/copyright
 
  87         cd build 
&& CXXFLAGS
="$(CXXFLAGS)" LDFLAGS
="$(LDFLAGS)" CPPFLAGS
="$(CPPFLAGS)" ..
/configure 
$(confflags
) 
  90 build
/build-binary-stamp
: build
/configure-stamp
 
  91         # Add here commands to compile the package. 
  93         # compat symlink for the locale split 
  94         mkdir 
-p build
/usr
/share 
 
  95         cd build
/usr
/share 
&& ln 
-f 
-s ..
/..
/locale .
 
  96         # compile and run tests 
  97 ifeq (,$(findstring nocheck
, $(DEB_BUILD_OPTIONS
))) 
 100         @echo 
"Tests DISABLED" 
 104 build
/build-docbook-stamp
: build
/configure-stamp
 
 105         # Add here commands to compile the package. 
 109 build
/build-manpages-stamp
: build
/configure-stamp
 
 110         # Add here commands to compile the package. 
 118         [ ! -f Makefile 
] || 
$(MAKE
) clean distclean 
 120         rm -f debian
/$(LIBAPT_PKG
).
install debian
/$(LIBAPT_INST
).
install \
 
 121               debian
/libapt-pkg-dev.
install debian
/apt.
install 
 122         test ! -L buildlib
/config.guess || 
rm -f buildlib
/config.guess
 
 123         test ! -L buildlib
/config.sub || 
rm -f buildlib
/config.sub
 
 125 debian
/%.
install: debian
/%.
install.in
 
 126         sed 
's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' $< > $@
 
 128 # Build architecture-independent files here. 
 129 libapt-pkg-doc
: build-docbook
 
 135 # libapt-pkg-doc install 
 137         rm -f 
$(BLD
)/doc
/doxygen
/html
/*.map 
$(BLD
)/doc
/doxygen
/html
/*.md5
 
 138         dh_installdocs 
-p
$@ 
$(BLD
)/docs
/design
* \
 
 139                             $(BLD
)/docs
/dpkg-tech
* \
 
 141                             $(BLD
)/docs
/method
* \
 
 142                             doc
/libapt-pkg2_to_3.txt \
 
 144                             $(BLD
)/doc
/doxygen
/html
 
 145         dh_installexamples 
-p
$@
 
 147         dh_installchangelogs 
-p
$@
 
 149         dh_compress 
-p
$@ 
-X.xhtml
 
 156 apt-doc
: build-docbook
 
 164         dh_installdocs 
-p
$@ 
$(BLD
)/docs
/guide
*.text \
 
 165                             $(BLD
)/docs
/guide
*.html \
 
 166                             $(BLD
)/docs
/offline
*.text \
 
 167                             $(BLD
)/docs
/offline
*.html
 
 168         dh_installchangelogs 
-p
$@
 
 178 # Build architecture-dependent files here. 
 180 apt_MANPAGES 
= apt apt-cache apt-cdrom apt-config apt-get apt-key apt-mark apt-secure apt apt.conf apt_preferences sources.list
 
 181 apt
: build-binary build-manpages debian
/apt.
install 
 189         cp debian
/apt.conf.autoremove debian
/$@
/etc
/apt
/apt.conf.d
/01autoremove
 
 190         cp debian
/apt.auto-removal.sh debian
/$@
/etc
/kernel
/postinst.d
/apt-auto-removal
 
 191         chmod 
755 debian
/$@
/etc
/kernel
/postinst.d
/apt-auto-removal
 
 192         # install vendor specific apt confs 
 193         find 
-L vendor
/current 
-name 
'apt.conf-*' | while read conf
; do cp 
"$${conf}" "debian/$@/etc/apt/apt.conf.d/$${conf#*-}"; done
 
 195         # make rosetta happy and remove pot files in po/ (but leave stuff 
 196         # in po/domains/* untouched) and cp *.po into each domain dir 
 200         dh_install 
-p
$@ 
--sourcedir
=$(BLD
) 
 202         # Remove the bits that are in apt-utils 
 203         rm $(addprefix debian
/$@
/usr
/bin
/apt-
,$(APT_UTILS
) dump-solver internal-solver
) 
 205         # https has its own package 
 206         rm debian
/$@
/usr
/lib
/apt
/methods
/https
 
 208         # move the mirror failure script in place 
 209         #mv debian/$@/usr/bin/apt-report-mirror-failure \ 
 210         #   debian/$@/usr/lib/apt/apt-report-mirror-failure \ 
 212         # move the apt-helper in place 
 213         mv debian
/$@
/usr
/bin
/apt-helper debian
/$@
/usr
/lib
/apt
/apt-helper 
 
 217         dh_installexamples 
-p
$@ 
$(BLD
)/docs
/examples
/* 
 218         dh_installman 
-p
$@ 
$(wildcard $(patsubst %,doc
/en
/%.
[158],$(apt_MANPAGES
)) $(patsubst %,doc
/*/%.
*.
[158],$(apt_MANPAGES
))) 
 221         dh_installchangelogs 
-p
$@
 
 222         dh_installlogrotate 
-p
$@
 
 229         dh_gencontrol 
-p
$@ 
-- -Vapt
:keyring
="$(shell ./vendor/getinfo keyring-package)" 
 233 libapt-pkg-dev
: build-binary 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
 
 253 apt-utils
: build-binary build-manpages
 
 259         cp 
$(addprefix $(BLD
)/bin
/apt-
,$(APT_UTILS
)) debian
/$@
/usr
/bin
/ 
 260         cp 
$(BLD
)/bin
/apt-dump-solver debian
/$@
/usr
/lib
/apt
/solvers
/dump
 
 261         cp 
$(BLD
)/bin
/apt-internal-solver debian
/$@
/usr
/lib
/apt
/solvers
/apt
 
 263         dh_install 
-p
$@ 
--sourcedir
=$(BLD
) 
 266         dh_installexamples 
-p
$@
 
 268         # Install the man pages.. 
 269         dh_installman 
-p
$@ 
$(wildcard $(patsubst %,doc
/en
/%.
[158],$(apt-utils_MANPAGES
)) $(patsubst %,doc
/*/%.
*.
[158],$(apt-utils_MANPAGES
))) 
 271         dh_installchangelogs 
-p
$@
 
 282 $(LIBAPT_PKG
): build-binary debian
/$(LIBAPT_PKG
).
install 
 288         dh_install 
-p
$@ 
--sourcedir
=$(BLD
) 
 290         dh_installchangelogs 
-p
$@
 
 301 $(LIBAPT_INST
): build-binary debian
/$(LIBAPT_INST
).
install 
 307         dh_install 
-p
$@ 
--sourcedir
=$(BLD
) 
 309         dh_installchangelogs 
-p
$@
 
 320 apt-transport-https
: build-binary libapt-pkg-dev
 
 326         dh_install 
-p
$@ 
--sourcedir
=$(BLD
) 
 327         dh_installdocs 
-p
$@ debian
/apt-transport-https.README
 
 328         dh_installexamples 
-p
$@
 
 330         # Install the man pages.. 
 333         dh_installchangelogs 
-p
$@
 
 343 buildlib
/config.guess buildlib
/config.sub
: 
 349 # translate targets to targets required by debian-policy 
 350 binary-arch
: $(LIBAPT_PKG
) $(LIBAPT_INST
) apt libapt-pkg-dev apt-utils apt-transport-https
 
 351 binary-indep
: apt-doc libapt-pkg-doc
 
 352 binary
: binary-indep binary-arch
 
 353 build-arch
: build-binary
 
 354 build-indep
: build-manpages build-docbook
 
 355 build
: build-indep build-arch
 
 357 .PHONY
: build 
clean binary-indep binary-arch binary