#
# Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved.
# Copyright (C) 2004-2010 Red Hat, Inc. All rights reserved.
#
# This file is part of the device-mapper userspace tools.
#
# 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 Lesser General Public License v.2.1.
#
# You should have received a copy of the GNU Lesser 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@
top_builddir = @top_builddir@

SOURCES =\
	datastruct/bitset.c \
	datastruct/hash.c \
	datastruct/list.c \
	libdm-common.c \
	libdm-file.c \
	libdm-deptree.c \
	libdm-string.c \
	libdm-report.c \
	libdm-config.c \
	mm/dbg_malloc.c \
	mm/pool.c \
	regex/matcher.c \
	regex/parse_rx.c \
	regex/ttree.c \
	$(interface)/libdm-iface.c

INCLUDES = -I$(srcdir)/$(interface) -I$(srcdir)
CFLAGS += $(UDEV_CFLAGS) $(VALGRIND_CFLAGS)

ifeq ("@STATIC_LINK@", "yes")
LIB_STATIC = $(interface)/libdevmapper.a
endif

LIB_SHARED = $(interface)/libdevmapper.$(LIB_SUFFIX)
LIB_VERSION = $(LIB_VERSION_DM)
TARGETS += libdevmapper.$(LIB_SUFFIX) libdevmapper.$(LIB_SUFFIX).$(LIB_VERSION)

CFLOW_LIST = $(SOURCES)
CFLOW_LIST_TARGET = libdevmapper.cflow

EXPORTED_HEADER = $(srcdir)/libdevmapper.h
EXPORTED_FN_PREFIX = dm

include $(top_builddir)/make.tmpl

DEFS += -DDM_DEVICE_UID=@DM_DEVICE_UID@ -DDM_DEVICE_GID=@DM_DEVICE_GID@ \
	-DDM_DEVICE_MODE=@DM_DEVICE_MODE@

LIBS += $(SELINUX_LIBS) $(UDEV_LIBS) $(PTHREAD_LIBS)

device-mapper: all

libdevmapper.$(LIB_SUFFIX) libdevmapper.$(LIB_SUFFIX).$(LIB_VERSION): $(LIB_SHARED)
	$(LN_S) -f $< $@

.PHONY: install_dynamic install_static install_include \
	install_ioctl install_ioctl_static \
	install_pkgconfig

INSTALL_TYPE = install_dynamic

ifeq ("@STATIC_LINK@", "yes")
  INSTALL_TYPE += install_static
endif

ifeq ("@PKGCONFIG@", "yes")
  INSTALL_TYPE += install_pkgconfig
endif

install: $(INSTALL_TYPE) install_include

install_device-mapper: install

install_include: $(srcdir)/libdevmapper.h
	$(INSTALL_DATA) -D $< $(includedir)/$(<F)

install_dynamic: install_@interface@

install_static: install_@interface@_static

install_ioctl: install_lib_shared

install_pkgconfig: libdevmapper.pc
	$(INSTALL_DATA) -D $< $(pkgconfigdir)/devmapper.pc

install_ioctl_static: $(LIB_STATIC)
	$(INSTALL_DATA) -D $< $(usrlibdir)/$(<F)

CLEAN_TARGETS += ioctl/libdevmapper.a
DISTCLEAN_TARGETS += libdevmapper.pc .exported_symbols_generated
