-
+if ENABLE_CLIENT
bin_SCRIPTS += brag/client/ceph-brag
EXTRA_DIST += brag/server brag/README.md brag/client
+endif # ENABLE_CLIENT
+if ENABLE_CLIENT
libclient_la_SOURCES = \
client/Client.cc \
client/Inode.cc \
ceph_test_ioctls_SOURCES = client/test_ioctls.c
bin_DEBUGPROGRAMS += ceph_test_ioctls
+endif # ENABLE_CLIENT
+if ENABLE_SERVER
+if WITH_OSD
+
## erasure code plugins
erasure_codelibdir = $(pkglibdir)/erasure-code
erasure-code/ErasureCode.h \
erasure-code/ErasureCodeInterface.h \
erasure-code/ErasureCodePlugin.h
+
+endif # WITH_OSD -- nothing else needs it
+endif # ENABLE_SERVER
EXTRA_DIST = $(JAVA_SRC) $(JAVA_TEST_SRC)
+if ENABLE_CLIENT
+if WITH_RADOS
+if WITH_CEPHFS
if ENABLE_CEPHFS_JAVA
JAVA_CLASSES = $(JAVA_SRC:java/%.java=%.class)
CLEANFILES += test/com/ceph/fs/*.class libcephfs-test.jar
endif # HAVE_JUNIT4 (includes WITH_DEBUG)
-endif #ENABLE_CEPHFS_JAVA
+endif # ENABLE_CEPHFS_JAVA
+endif # WITH_CEPHFS
+endif # WITH_RADOS
+endif # ENABLE_CLIENT
+if ENABLE_SERVER
+if WITH_OSD
+
if LINUX
libcls_kvs_la_SOURCES = key_value_store/cls_kvs.cc
libcls_kvs_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS)
key_value_store/kv_flat_btree_async.h \
key_value_store/kvs_arg_types.h
+endif # WITH_OSD
+endif # ENABLE_SERVER
+if ENABLE_CLIENT
+if WITH_RADOS
+
librados_internal_la_SOURCES = \
librados/RadosClient.cc \
librados/IoCtxImpl.cc \
librados/RadosClient.h \
librados/RadosXattrIter.h \
librados/ListObjectImpl.h
+
+endif # WITH_RADOS
+endif # ENABLE_CLIENT
+if ENABLE_CLIENT
+if WITH_RADOS
+if WITH_RADOSSTRIPER
+
libradosstriper_la_SOURCES = \
libradosstriper/libradosstriper.cc \
libradosstriper/RadosStriperImpl.cc \
noinst_HEADERS += \
libradosstriper/RadosStriperImpl.h \
libradosstriper/MultiAioCompletionImpl.h
+
+endif # WITH_RADOSSTRIPER
+endif # WITH_RADOS
+endif # ENABLE_CLIENT
librbd/WatchNotifyTypes.cc
noinst_LTLIBRARIES += librbd_types.la
+if ENABLE_CLIENT
+if WITH_RADOS
+if WITH_RBD
+
librbd_internal_la_SOURCES = \
librbd/AioCompletion.cc \
librbd/AioRequest.cc \
librbd/SnapInfo.h \
librbd/TaskFinisher.h \
librbd/WatchNotifyTypes.h
+
+endif # WITH_RBD
+endif # WITH_RADOS
+endif # ENABLE_CLIENT
+if ENABLE_SERVER
+if WITH_MDS
+
libmds_la_SOURCES = \
mds/Capability.cc \
mds/MDS.cc \
mds/events/ETableServer.h \
mds/events/EUpdate.h
-
+endif # WITH_MDS
+endif # ENABLE_SERVER
mon/PGMap.cc
noinst_LTLIBRARIES += libmon_types.la
+if ENABLE_SERVER
+if WITH_MON
+
libmon_la_SOURCES = \
mon/Monitor.cc \
mon/Paxos.cc \
mon/Session.h \
mon/mon_types.h
+endif # WITH_MON
+endif # ENABLE_SERVER
libos_types_la_CXXFLAGS = ${AM_CXXFLAGS}
noinst_LTLIBRARIES += libos_types.la
+if ENABLE_SERVER
+
libos_la_SOURCES = \
os/chain_xattr.cc \
os/DBObjectMap.cc \
libos_la_LIBADD += -lkinetic_client -lprotobuf -lglog -lgflags libcrypto.a
noinst_HEADERS += os/KineticStore.h
endif
+
+endif # ENABLE_SERVER
libosd_types_la_CXXFLAGS = ${AM_CXXFLAGS}
noinst_LTLIBRARIES += libosd_types.la
+if ENABLE_SERVER
+if WITH_OSD
+
libosd_la_SOURCES = \
osd/PG.cc \
osd/ReplicatedPG.cc \
objclass/class_api.cc
libosd_la_CXXFLAGS = ${AM_CXXFLAGS}
+if WITH_KINETIC
+libosd_la_CXXFLAGS += -std=gnu++11
+endif
libosd_la_LIBADD = $(LIBOSDC) $(LIBOS) $(LIBOSD_TYPES) $(LIBOS_TYPES)
if WITH_LTTNG
libosd_la_LIBADD += $(LIBOSD_TP)
osd/Watch.h \
osd/osd_types.h
-if WITH_KINETIC
-libosd_la_CXXFLAGS += -std=gnu++11
-endif
+endif # WITH_OSD
+endif # ENABLE_SERVER
+if ENABLE_CLIENT
+if WITH_RADOS
+if WITH_RBD
+
# librbd_replay_la exists only to help with unit tests
librbd_replay_la_SOURCES = rbd_replay/actions.cc \
rbd_replay/Deser.cc \
if WITH_BABELTRACE
bin_PROGRAMS += rbd-replay-prep
endif
+
+endif # WITH_RBD
+endif # WITH_RADOS
+endif # ENABLE_CLIENT
+if ENABLE_CLIENT
+if WITH_RADOS
if WITH_RADOSGW
+
librgw_la_SOURCES = \
rgw/librgw.cc \
rgw/rgw_acl.cc \
rgw/rgw_json_enc.cc
-endif # WITH_RADOSGW
-
-
noinst_HEADERS += \
rgw/logrotate.conf \
rgw/rgw_acl.h \
civetweb/civetweb.h \
civetweb/include/civetweb.h \
civetweb/src/md5.h
+
+endif # WITH_RADOSGW
+endif # WITH_RADOS
+endif # ENABLE_CLIENT
+if ENABLE_SERVER
+if WITH_OSD
+
check_SCRIPTS += \
test/erasure-code/test-erasure-code.sh
unittest_erasure_code_example_CXXFLAGS = $(UNITTEST_CXXFLAGS)
unittest_erasure_code_example_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
check_PROGRAMS += unittest_erasure_code_example
+
+endif # WITH_OSD
+endif # ENABLE_SERVER
+if ENABLE_SERVER
if ENABLE_XIO
noinst_HEADERS += \
xio_server \
xio_client
-endif
+endif # ENABLE_XIO
+endif # ENABLE_SERVER