AUTOMAKE_OPTIONS = gnu subdir-objects SUBDIRS = DIST_SUBDIRS = BUILT_SOURCES = EXTRA_DIST = CLEANFILES = noinst_HEADERS = bin_PROGRAMS = noinst_PROGRAMS = bin_SCRIPTS = sbin_PROGRAMS = sbin_SCRIPTS = su_sbin_PROGRAMS = su_sbin_SCRIPTS = dist_bin_SCRIPTS = lib_LTLIBRARIES = noinst_LTLIBRARIES = noinst_LIBRARIES = radoslib_LTLIBRARIES = # like bin_PROGRAMS, but these targets are only built for debug builds bin_DEBUGPROGRAMS = # like sbin_SCRIPTS but can be used to install to e.g. /usr/sbin ceph_sbindir = $(sbindir) # certain things go straight into /sbin, though! su_sbindir = /sbin # C/C++ tests to build will be appended to this check_PROGRAMS = # tests scripts will be appended to this check_SCRIPTS = # python unit tests need to know where the scripts are located export PYTHONPATH=$(top_srcdir)/src/pybind # when doing a debug build, make sure to make the targets if WITH_DEBUG bin_PROGRAMS += $(bin_DEBUGPROGRAMS) endif ################################## ## automake environment AM_COMMON_CPPFLAGS = \ -D__CEPH__ \ -D_FILE_OFFSET_BITS=64 \ -D_REENTRANT \ -D_THREAD_SAFE \ -D__STDC_FORMAT_MACROS \ -D_GNU_SOURCE \ -DCEPH_LIBDIR=\"${libdir}\" \ -DCEPH_PKGLIBDIR=\"${pkglibdir}\" \ -DGTEST_HAS_TR1_TUPLE=0 AM_COMMON_CFLAGS = \ -Wall \ ${WARN_TYPE_LIMITS} \ ${WARN_IGNORED_QUALIFIERS} \ -Winit-self \ -Wpointer-arith \ -Werror=format-security \ -fno-strict-aliasing \ -fsigned-char if !CLANG AM_COMMON_CFLAGS += -rdynamic endif AM_CFLAGS = $(AM_COMMON_CFLAGS) AM_CPPFLAGS = $(AM_COMMON_CPPFLAGS) AM_CXXFLAGS = \ @AM_CXXFLAGS@ \ $(AM_COMMON_CFLAGS) \ -ftemplate-depth-1024 \ -Wnon-virtual-dtor \ -Wno-invalid-offsetof if !CLANG AM_CXXFLAGS += -Wstrict-null-sentinel endif # note: this is position dependant, it affects the -l options that # come after it on the command line. when you use ${AM_LDFLAGS} in # later rules, take care where you place it. for more information, see # http://blog.flameeyes.eu/2008/11/19/relationship-between-as-needed-and-no-undefined-part-1-what-do-they-do # http://blog.flameeyes.eu/2008/11/20/misguided-link-and-as-needed # http://www.gentoo.org/proj/en/qa/asneeded.xml # http://gcc.gnu.org/ml/gcc-help/2010-12/msg00338.html # http://sigquit.wordpress.com/2011/02/16/why-asneeded-doesnt-work-as-expected-for-your-libraries-on-your-autotools-project/ AM_LDFLAGS = if LINUX AM_LDFLAGS += -Wl,--as-needed endif if USE_BOOST_SPIRIT_OLD_HDR AM_CXXFLAGS += -DUSE_BOOST_SPIRIT_OLD_HDR endif if WITH_LIBATOMIC AM_LDFLAGS += -latomic_ops endif if ENABLE_COVERAGE AM_CFLAGS += -fprofile-arcs -ftest-coverage AM_CXXFLAGS += -fprofile-arcs -ftest-coverage -O0 endif CCAS = ${srcdir}/yasm-wrapper AM_CCASFLAGS = -f elf64 ##################### ## library definitions and dependencies EXTRALIBS = -luuid -lm $(KEYUTILS_LIB) if FREEBSD EXTRALIBS += -lexecinfo endif # FREEBSD if LINUX EXTRALIBS += -lrt endif # LINUX if WITH_PROFILER EXTRALIBS += -lprofiler endif # PROFILER LIBGLOBAL = libglobal.la LIBCOMMON = libcommon.la LIBARCH = libarch.la LIBPERFGLUE = libperfglue.la LIBAUTH = libauth.la LIBMSG = libmsg.la LIBCRUSH = libcrush.la LIBJSON_SPIRIT = libjson_spirit.la LIBLOG = liblog.la LIBOS = libos.la LIBOSD = libosd.la LIBOSDC = libosdc.la LIBMON = libmon.la LIBMDS = libmds.la LIBCLIENT = libclient.la LIBCLIENT_FUSE = libclient_fuse.la LIBRADOS = librados.la LIBRGW = librgw.la LIBRBD = librbd.la LIBCEPHFS = libcephfs.la LIBERASURE_CODE = liberasure_code.la if WITH_LIBAIO LIBOS += -laio endif # WITH_LIBAIO if WITH_LIBZFS LIBOS += libos_zfs.a -lzfs endif # WITH_LIBZFS if WITH_TCMALLOC LIBPERFGLUE += -ltcmalloc endif # WITH_TCMALLOC if ENABLE_COVERAGE EXTRALIBS += -lgcov endif # ENABLE_COVERAGE # Libosd always needs osdc and os LIBOSD += $(LIBOSDC) $(LIBOS) # These have references to syms like ceph_using_tcmalloc(), glue libperfglue to them LIBMON += $(LIBPERFGLUE) LIBOSD += $(LIBPERFGLUE) LIBMDS += $(LIBPERFGLUE) # Always use system leveldb LIBOS += -lleveldb -lsnappy # Use this for binaries requiring libglobal CEPH_GLOBAL = $(LIBGLOBAL) $(LIBCOMMON) $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS) # This is set by [lib]/Makefile.am and used for build tests LIBCOMMON_DEPS = LIBRADOS_DEPS = LIBRGW_DEPS = # This is used by the dencoder test DENCODER_SOURCES = DENCODER_DEPS = radoslibdir = $(libdir)/rados-classes