#
-# Copyright (C) 2001 Sistina Software (UK) Limited
+# Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved.
+# Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved.
#
-# This file is released under the GPL.
+# This file is part of LVM2.
#
+# This copyrighted material is made available to anyone wishing to use,
+# modify, copy, or redistribute it subject to the terms and conditions
+# of the GNU General Public License v.2.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
srcdir = @srcdir@
top_srcdir = @top_srcdir@
-VPATH = @srcdir@
+top_builddir = @top_builddir@
+
+ifeq ("@LVM1@", "shared")
+ SUBDIRS = format1
+endif
+
+ifeq ("@POOL@", "shared")
+ SUBDIRS += format_pool
+endif
+
+ifeq ("@SNAPSHOTS@", "shared")
+ SUBDIRS += snapshot
+endif
+
+ifeq ("@MIRRORS@", "shared")
+ SUBDIRS += mirror
+endif
+
+ifeq ("@RAID@", "shared")
+ SUBDIRS += raid
+endif
+
+ifeq ("@REPLICATORS@", "shared")
+ SUBDIRS += replicator
+endif
-SOURCES=\
+ifeq ("@THIN@", "shared")
+ SUBDIRS += thin
+endif
+
+SOURCES =\
activate/activate.c \
+ cache/lvmcache.c \
+ commands/toolcontext.c \
config/config.c \
- datastruct/bitset.c \
- datastruct/hash.c \
- device/btree.c \
+ datastruct/btree.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/export.c \
+ format_text/flags.c \
+ format_text/format-text.c \
+ format_text/import.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/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 \
format1/format1.c \
format1/import-export.c \
+ format1/import-extents.c \
format1/layout.c \
- format1/vg_number.c \
- log/log.c \
- metadata/metadata.c \
- mm/dbg_malloc.c \
- mm/pool.c \
- regex/matcher.c \
- regex/parse_rx.c \
- regex/ttree.c \
- uuid/uuid.c
+ format1/lvm1-label.c \
+ format1/vg_number.c
+endif
+
+ifeq ("@POOL@", "internal")
+ SOURCES +=\
+ format_pool/disk_rep.c \
+ format_pool/format_pool.c \
+ format_pool/import_export.c \
+ format_pool/pool_label.c
+endif
+
+ifeq ("@CLUSTER@", "internal")
+ SOURCES += locking/cluster_locking.c
+endif
+
+ifeq ("@CLUSTER@", "shared")
+ SUBDIRS += locking
+endif
+
+ifeq ("@SNAPSHOTS@", "internal")
+ SOURCES += snapshot/snapshot.c
+endif
+
+ifeq ("@MIRRORS@", "internal")
+ 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 \
+ activate/fs.c
+endif
+
+ifeq ("@HAVE_LIBDL@", "yes")
+ SOURCES +=\
+ locking/external_locking.c \
+ misc/sharedlib.c
+endif
+
+ifeq ("@BUILD_LVMETAD@", "yes")
+ SOURCES +=\
+ cache/lvmetad.c
+endif
+
+ifeq ("@DMEVENTD@", "yes")
+ CLDFLAGS += -L$(top_builddir)/daemons/dmeventd
+ LIBS += -ldevmapper-event
+endif
+
+LIB_NAME = liblvm-internal
+LIB_STATIC = $(LIB_NAME).a
+
+ifeq ($(MAKECMDGOALS),distclean)
+ SUBDIRS =\
+ format1 \
+ format_pool \
+ snapshot \
+ mirror \
+ raid \
+ replicator \
+ thin \
+ locking
+endif
-TARGETS=liblvm.a
+CFLOW_LIST = $(SOURCES)
+CFLOW_LIST_TARGET = $(LIB_NAME).cflow
-include ../make.tmpl
+include $(top_builddir)/make.tmpl
-liblvm.a: $(OBJECTS)
- $(RM) $@
- $(AR) r $@ $(OBJECTS)
- $(RANLIB) $@
+$(SUBDIRS): $(LIB_STATIC)
+DISTCLEAN_TARGETS += misc/configure.h misc/lvm-version.h