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
|
#!/usr/bin/make -f
# Based on the multi2 sample debian/rules file:
# ---
# Sample debian/rules that uses debhelper.
# This file is public domain software, originally written by Joey Hess.
#
# This version is for a multibinary package. It also allows you to build any
# of the binary packages independantly, via binary-<package> targets.
# ---
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# This has to be exported to make some magic below work.
export DH_OPTIONS
# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
else
CROSS= --build $(DEB_BUILD_GNU_TYPE)
endif
CFLAGS = -Werror -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
export CFLAGS
SRC := $(CURDIR)
BUILD := $(CURDIR)/build
TARGET := $(CURDIR)/debian/tmp
PYVERS := $(shell pyversions -vs)
configure: debian/rules
dh_testdir
autoreconf -i
debian/configure-stamp: $(PYVERS:%=debian/configure-python%-stamp)
touch $@
debian/configure-python%-stamp:
dh_testdir
chmod u+x configure
chmod u+x py-compile
[ -d $(BUILD)-python$* ] || mkdir $(BUILD)-python$*
cd $(BUILD)-python$* && PYTHON=/usr/bin/python$* CFLAGS="$(CFLAGS)" $(SRC)/configure $(CROSS) \
--prefix=/usr \
--mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info \
--enable-static --enable-python=$* --libexecdir=\$${prefix}/lib/opensync \
--enable-tracing
touch $@
build: configure debian/build-stamp
debian/build-stamp: debian/configure-stamp $(PYVERS:%=debian/build-python%-stamp)
touch $@
debian/build-python%-stamp:
dh_testdir
$(MAKE) -C $(BUILD)-python$*
# FIXME invoke this once upstream decide on the right fix.
#$(MAKE) -C $(BUILD)-python$* check
touch $@
clean:
dh_testdir
dh_testroot
rm -f debian/configure*stamp debian/build*stamp
rm -rf build-*
dh_clean
install: DH_OPTIONS=
install: debian/build-stamp install-common $(PYVERS:%=install-python%)
install-common:
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
install-python%:
$(MAKE) -C $(BUILD)-python$* install DESTDIR=$(TARGET)
# This single target is used to build all the packages, all at once, or
# one at a time. So keep in mind: any options passed to commands here will
# affect _all_ packages. Anything you want to only affect one package
# should be put in another target, such as the install target.
binary-common:
dh_testdir
dh_testroot
dh_installchangelogs
dh_installdocs
dh_installexamples
dh_installmenu
# dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installcatalogs
# dh_installpam
# dh_installmime
# dh_installinit
# dh_installman
# dh_installcron
# dh_installinfo
dh_install --sourcedir=$(TARGET) --fail-missing
dh_strip --dbg-package=libopensync0-dbg
dh_link
dh_compress
dh_fixperms
# dh_perl
dh_pysupport
dh_python
dh_makeshlibs -Xformats -V
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
# Build architecture independant packages using the common target.
binary-indep: build install
# (Uncomment this next line if you have such packages.)
# $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
# Build architecture dependant packages using the common target.
binary-arch: build install
$(MAKE) -f $(SRC)/debian/rules DH_OPTIONS=-a binary-common
# Any other binary targets build just one binary package at a time.
binary-%: build install
make -f $(SRC)/debian/rules binary-common DH_OPTIONS=-p$*
binary: binary-indep binary-arch
.PHONY: build configure clean binary-indep binary-arch binary-common binary install install-common
|