#!/usr/bin/make -f # -*- makefile -*- export DH_VERBOSE=1 export DESTDIR=$(CURDIR)/debian/tmp ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) MAKEFLAGS += -j$(NUMJOBS) endif export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) # Recommended snippet for Autoconf 2.52 or later ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) confflags += --build $(DEB_HOST_GNU_TYPE) else confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) endif export DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) extraopts += --with-ocf --with-rest-bench --with-nss extraopts += --with-debug ifeq ($(DEB_HOST_ARCH), armel) # armel supports ARMv4t or above instructions sets. # libatomic-ops is only usable with Ceph for ARMv6 or above. extraopts += --without-libatomic-ops endif ifneq ($(DEB_HOST_ARCH), i386) ifneq ($(DEB_HOST_ARCH), amd64) # libgoogle-perftools-dev is only available on i386 and amd64 extraopts += --without-tcmalloc endif endif ifeq ($(shell grep -c -E '^Build-Depends:(.*,)?[[:space:]]*libgoogle-perftools-dev([[:space:]]|,|$$)' debian/control),0) # if Build-Deps have been edited to skip libgoogle-perftools-dev (as # we do for Debian lenny), tell configure it's ok to not have # tcmalloc. extraopts += --without-tcmalloc endif configure: configure-stamp configure-stamp: dh_testdir ./autogen.sh ./configure --prefix=/usr --sbindir=/sbin --localstatedir=/var \ --sysconfdir=/etc $(extraopts) $(confflags) touch $@ build-arch: build build-indep: build build: build-stamp build-stamp: configure-stamp dh_testdir $(MAKE) cp src/init-ceph debian/ceph.init cp src/init-radosgw debian/radosgw.init cp src/logrotate.conf debian/ceph.logrotate touch $@ clean: dh_testdir dh_testroot rm -f build-stamp configure-stamp [ ! -f Makefile ] || $(MAKE) distclean rm -f aclocal.m4 compile config.sub config.guess depcomp install-sh \ ltmain.sh missing rm -f configure Makefile.in man/Makefile.in src/Makefile.in rm -f src/acconfig.h.in rm -f debian/ceph.init debian/radosgw.init debian/ceph.logrotate dh_clean install: build dh_testdir dh_testroot dh_clean -k dh_installdirs $(MAKE) DESTDIR=$(DESTDIR) install sed -i "/dependency_libs/ s/'.*'/''/" `find . -name '*.la'` install -D -m 644 udev/50-rbd.rules $(DESTDIR)/lib/udev/rules.d/50-rbd.rules # Add here commands to install the package into debian/testpack. # Build architecture-independent files here. binary-indep: build install # We have nothing to do by default. # Build architecture-dependent files here. binary-arch: build install dh_testdir dh_testroot dh_installchangelogs dh_installdocs --all ChangeLog dh_installexamples dh_install --sourcedir=$(DESTDIR) --list-missing dh_installlogrotate dh_installinit --no-start # dh_installinit is only set up to handle one upstart script # per package, so do this ourselves install -d -m0755 debian/ceph/etc/init install -m0644 src/upstart/ceph*.conf debian/ceph/etc/init install -d -m0755 debian/radosgw/etc/init install -m0644 src/upstart/radosgw*.conf debian/radosgw/etc/init dh_installman dh_lintian dh_link dh_strip -pceph --dbg-package=ceph-dbg -k --exclude=libcls_ dh_strip -pceph-mds --dbg-package=ceph-mds-dbg dh_strip -pceph-fuse --dbg-package=ceph-fuse-dbg dh_strip -pceph-common --dbg-package=ceph-common-dbg dh_strip -pceph-fs-common --dbg-package=ceph-fs-common-dbg dh_strip -plibrados2 --dbg-package=librados2-dbg dh_strip -plibrbd1 --dbg-package=librbd1-dbg dh_strip -plibcephfs1 --dbg-package=libcephfs1-dbg dh_strip -pradosgw --dbg-package=radosgw-dbg dh_strip -prest-bench --dbg-package=rest-bench-dbg dh_strip -pceph-test --dbg-package=ceph-test-dbg dh_compress dh_fixperms dh_makeshlibs -n # we do the postinst/postrm scripts manually dh_python2 dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install configure