mirror of
https://github.com/ceph/ceph
synced 2024-12-30 15:33:31 +00:00
140 lines
4.0 KiB
Makefile
Executable File
140 lines
4.0 KiB
Makefile
Executable File
#!/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
|
|
|
|
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_compress
|
|
dh_fixperms
|
|
dh_makeshlibs -X/usr/lib/rados-classes # exclude .so files in ceph package
|
|
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
|