#
# Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved.
-# Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved.
+# Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved.
#
# This file is part of LVM2.
#
srcdir = @srcdir@
top_srcdir = @top_srcdir@
-VPATH = @srcdir@
+top_builddir = @top_builddir@
ifeq ("@LVM1@", "shared")
SUBDIRS = format1
SUBDIRS += mirror
endif
+ifeq ("@RAID@", "shared")
+ SUBDIRS += raid
+endif
+
+ifeq ("@REPLICATORS@", "shared")
+ SUBDIRS += replicator
+endif
+
+ifeq ("@THIN@", "shared")
+ SUBDIRS += thin
+endif
+
SOURCES =\
activate/activate.c \
cache/lvmcache.c \
commands/toolcontext.c \
config/config.c \
datastruct/btree.c \
- datastruct/list.c \
datastruct/str_list.c \
device/dev-cache.c \
device/dev-io.c \
device/dev-md.c \
+ device/dev-swap.c \
+ device/dev-luks.c \
device/device.c \
display/display.c \
error/errseg.c \
+ unknown/unknown.c \
filters/filter-composite.c \
filters/filter-persistent.c \
filters/filter-regex.c \
filters/filter-sysfs.c \
filters/filter-md.c \
+ filters/filter-mpath.c \
filters/filter.c \
format_text/archive.c \
format_text/archiver.c \
format_text/import_vsn1.c \
format_text/tags.c \
format_text/text_label.c \
+ freeseg/freeseg.c \
label/label.c \
locking/file_locking.c \
locking/locking.c \
locking/no_locking.c \
log/log.c \
+ metadata/lv.c \
metadata/lv_manip.c \
metadata/merge.c \
metadata/metadata.c \
metadata/mirror.c \
+ metadata/pv.c \
metadata/pv_manip.c \
metadata/pv_map.c \
+ metadata/raid_manip.c \
+ metadata/replicator_manip.c \
metadata/segtype.c \
metadata/snapshot_manip.c \
+ metadata/thin_manip.c \
+ metadata/vg.c \
misc/crc.c \
misc/lvm-exec.c \
misc/lvm-file.c \
+ misc/lvm-globals.c \
misc/lvm-string.c \
misc/lvm-wrappers.c \
- misc/timestamp.c \
+ misc/lvm-percent.c \
misc/util.c \
mm/memlock.c \
+ report/properties.c \
report/report.c \
striped/striped.c \
uuid/uuid.c \
zero/zero.c
+ifeq ("@HAVE_REALTIME@", "yes")
+ SOURCES +=\
+ misc/timestamp.c
+endif
+
ifeq ("@LVM1@", "internal")
SOURCES +=\
format1/disk-rep.c \
SOURCES += mirror/mirrored.c
endif
+ifeq ("@RAID@", "internal")
+ SOURCES += raid/raid.c
+endif
+
+ifeq ("@REPLICATORS@", "internal")
+ SOURCES += replicator/replicator.c
+endif
+
+ifeq ("@THIN@", "internal")
+ SOURCES += thin/thin.c
+endif
+
ifeq ("@DEVMAPPER@", "yes")
SOURCES +=\
activate/dev_manager.c \
misc/sharedlib.c
endif
-ifeq ("@DMEVENTD@", "yes")
- CLDFLAGS += -ldevmapper-event
+ifeq ("@BUILD_LVMETAD@", "yes")
+ SOURCES +=\
+ cache/lvmetad.c
endif
-LIB_STATIC = liblvm.a
+ifeq ("@DMEVENTD@", "yes")
+ CLDFLAGS += -L$(top_builddir)/daemons/dmeventd
+ LIBS += -ldevmapper-event
+endif
-$(SUBDIRS): $(LIB_STATIC)
+LIB_NAME = liblvm-internal
+LIB_STATIC = $(LIB_NAME).a
+
+ifeq ($(MAKECMDGOALS),distclean)
+ SUBDIRS =\
+ format1 \
+ format_pool \
+ snapshot \
+ mirror \
+ raid \
+ replicator \
+ thin \
+ locking
+endif
-CLEAN_TARGETS += liblvm.cflow
+CFLOW_LIST = $(SOURCES)
+CFLOW_LIST_TARGET = $(LIB_NAME).cflow
-include $(top_srcdir)/make.tmpl
+include $(top_builddir)/make.tmpl
-liblvm.cflow: $(SOURCES)
- set -e; (echo -n "SOURCES += "; \
- echo $(SOURCES) | \
- sed "s/^/ /;s/ / $(top_srcdir)\/lib\//g;s/$$//"; \
- ) > $@
+$(SUBDIRS): $(LIB_STATIC)
-cflow: liblvm.cflow
+DISTCLEAN_TARGETS += misc/configure.h misc/lvm-version.h