2001-11-28 23:08:11 +03:00
#
2004-03-30 23:08:57 +04:00
# Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved.
2010-04-10 01:42:48 +04:00
# Copyright (C) 2004-2010 Red Hat, Inc. All rights reserved.
2001-11-28 23:08:11 +03:00
#
2004-03-30 23:08:57 +04:00
# This file is part of the device-mapper userspace tools.
2001-11-28 23:08:11 +03:00
#
2004-03-30 23:08:57 +04:00
# 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,
2016-01-21 13:49:46 +03:00
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
2001-11-28 23:08:11 +03:00
srcdir = @srcdir@
top_srcdir = @top_srcdir@
2009-10-02 23:10:31 +04:00
top_builddir = @top_builddir@
2021-03-20 01:10:55 +03:00
abs_srcdir = @abs_srcdir@
2001-11-28 23:08:11 +03:00
2018-06-14 15:08:33 +03:00
SUBDIRS = dm-tools
2005-10-16 18:33:22 +04:00
SOURCES = \
datastruct/bitset.c \
datastruct/hash.c \
2008-11-03 21:59:59 +03:00
datastruct/list.c \
2005-10-16 18:33:22 +04:00
libdm-common.c \
2015-09-28 22:28:31 +03:00
libdm-config.c \
2005-10-16 18:33:22 +04:00
libdm-deptree.c \
2015-09-28 22:28:31 +03:00
libdm-file.c \
2007-01-16 21:04:15 +03:00
libdm-report.c \
2015-08-05 12:40:00 +03:00
libdm-stats.c \
2015-09-28 22:28:31 +03:00
libdm-string.c \
libdm-targets.c \
libdm-timestamp.c \
2005-10-16 18:33:22 +04:00
mm/dbg_malloc.c \
mm/pool.c \
2007-04-27 22:40:23 +04:00
regex/matcher.c \
regex/parse_rx.c \
regex/ttree.c \
2005-10-16 18:33:22 +04:00
$( interface) /libdm-iface.c
2001-12-05 19:41:52 +03:00
2015-05-14 00:42:17 +03:00
INCLUDES = -I$( srcdir) /$( interface)
2001-11-28 23:08:11 +03:00
2009-04-08 18:04:35 +04:00
i f e q ( "@STATIC_LINK@" , "yes" )
2004-02-24 21:46:20 +03:00
LIB_STATIC = $( interface) /libdevmapper.a
2009-04-08 18:04:35 +04:00
e n d i f
2005-01-27 19:16:54 +03:00
2024-04-26 17:20:59 +03:00
i f e q ( "@SHARED_LINK@" , "yes" )
2010-04-10 01:42:48 +04:00
LIB_SHARED = $( interface) /libdevmapper.$( LIB_SUFFIX)
2008-11-04 01:14:30 +03:00
LIB_VERSION = $( LIB_VERSION_DM)
2021-04-06 15:39:44 +03:00
TARGETS = libdevmapper.$( LIB_SUFFIX) libdevmapper.$( LIB_SUFFIX) .$( LIB_VERSION) .symver_check
2023-09-22 09:47:38 +03:00
e n d i f
2004-02-24 21:46:20 +03:00
2010-03-29 18:11:17 +04:00
CFLOW_LIST = $( SOURCES)
CFLOW_LIST_TARGET = libdevmapper.cflow
2010-06-25 22:17:38 +04:00
EXPORTED_HEADER = $( srcdir) /libdevmapper.h
EXPORTED_FN_PREFIX = dm
2018-05-14 14:16:43 +03:00
i n c l u d e $( top_builddir ) / l i b d m / m a k e . t m p l
2010-03-04 12:56:56 +03:00
2017-08-01 01:01:07 +03:00
PROGS_CFLAGS = $( UDEV_CFLAGS)
2015-05-14 00:42:17 +03:00
2021-04-08 20:44:53 +03:00
device-mapper : $( TARGETS )
2010-03-04 15:08:26 +03:00
2021-04-08 20:44:53 +03:00
dm-tools.device-mapper : device -mapper
2018-06-14 21:37:33 +03:00
2010-04-10 01:42:48 +04:00
libdevmapper.$(LIB_SUFFIX) libdevmapper.$(LIB_SUFFIX).$(LIB_VERSION) : $( LIB_SHARED )
2024-04-08 14:10:16 +03:00
$( SHOW) " [LN] $< "
2018-11-29 19:09:27 +03:00
$( Q) $( LN_S) -f $< $@
2010-04-10 01:42:48 +04:00
2021-04-06 15:39:44 +03:00
# Check versioned build when default versioned symbol is present @@
# also the older symbol is built-in
.symver_check : $( LIB_SHARED )
2024-04-08 14:10:16 +03:00
$( SHOW) " [CHECK] $< "
2022-11-19 19:51:08 +03:00
$( Q) if $( READELF) -Ws $< | grep -q dm_stats_create_region@@; then \
SYM = $$ ( $( READELF) -Ws $< | grep dm_stats_create_region@DM_1_02_106) ; \
2021-04-06 15:39:44 +03:00
if test -n " $$ SYM " ; then touch $@ ; \
else echo >& 2 " Missing versioned symbols in $< " ; false; fi ; \
else touch $@ ; fi
2006-04-19 19:23:10 +04:00
.PHONY : install_dynamic install_static install_include \
2007-08-21 22:41:58 +04:00
install_ioctl install_ioctl_static \
2006-04-19 20:38:56 +04:00
install_pkgconfig
2002-01-02 22:01:09 +03:00
2004-04-06 00:48:14 +04:00
INSTALL_TYPE = install_dynamic
2004-04-02 19:18:38 +04:00
i f e q ( "@STATIC_LINK@" , "yes" )
2004-04-06 00:48:14 +04:00
INSTALL_TYPE += install_static
2004-04-02 19:18:38 +04:00
e n d i f
2006-04-19 20:38:56 +04:00
i f e q ( "@PKGCONFIG@" , "yes" )
INSTALL_TYPE += install_pkgconfig
e n d i f
2006-04-19 19:23:10 +04:00
install : $( INSTALL_TYPE ) install_include
2008-11-04 20:25:32 +03:00
install_device-mapper : install
2010-04-10 01:42:48 +04:00
install_include : $( srcdir ) /libdevmapper .h
2024-04-08 14:10:16 +03:00
$( SHOW) " [INSTALL] $< "
2018-11-29 19:09:27 +03:00
$( Q) $( INSTALL_DATA) -D $< $( includedir) /$( <F)
2004-04-02 19:18:38 +04:00
install_dynamic : install_ @interface @
2001-11-28 23:08:11 +03:00
2004-01-28 06:40:31 +03:00
install_static : install_ @interface @_static
2007-10-03 14:48:27 +04:00
2023-09-22 09:47:38 +03:00
i f e q ( "@SHARED_LINK@" , "yes" )
2010-04-10 01:42:48 +04:00
install_ioctl : install_lib_shared
2023-09-22 09:47:38 +03:00
e n d i f
i f e q ( "@STATIC_LINK@" , "yes" )
install_ioctl : install_ioctl_static
e n d i f
2009-03-16 23:00:10 +03:00
2010-04-10 01:42:48 +04:00
install_pkgconfig : libdevmapper .pc
2024-04-08 14:10:16 +03:00
$( SHOW) " [INSTALL] $< "
2018-11-29 19:09:27 +03:00
$( Q) $( INSTALL_DATA) -D $< $( pkgconfigdir) /devmapper.pc
2004-04-02 19:18:38 +04:00
2010-04-10 01:42:48 +04:00
install_ioctl_static : $( LIB_STATIC )
2024-04-08 14:10:16 +03:00
$( SHOW) " [INSTALL] $< "
2018-11-29 19:09:27 +03:00
$( Q) $( INSTALL_DATA) -D $< $( usrlibdir) /$( <F)
2002-03-14 19:56:02 +03:00
2010-04-10 01:42:48 +04:00
CLEAN_TARGETS += ioctl/libdevmapper.a
2018-11-29 23:47:11 +03:00
DISTCLEAN_TARGETS += libdevmapper.pc make.tmpl