summaryrefslogtreecommitdiff
path: root/libdm
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2021-04-08 19:44:53 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2021-04-12 09:54:15 +0200
commitaee0cd6530c6340f6f0a8256b887c8561f29dde6 (patch)
tree1bbff466a7f8f3ef9a2e870607daf7e62de2a37b /libdm
parent01f108c4d03f848a84bff74104dd18b21c7a8e3f (diff)
downloadlvm2-aee0cd6530c6340f6f0a8256b887c8561f29dde6.tar.gz
makefiles: static linking enhancements
Diffstat (limited to 'libdm')
-rw-r--r--libdm/Makefile.in6
-rw-r--r--libdm/dm-tools/Makefile.in25
-rw-r--r--libdm/make.tmpl.in6
3 files changed, 17 insertions, 20 deletions
diff --git a/libdm/Makefile.in b/libdm/Makefile.in
index a78d2b517..35115d7f0 100644
--- a/libdm/Makefile.in
+++ b/libdm/Makefile.in
@@ -59,11 +59,9 @@ include $(top_builddir)/libdm/make.tmpl
PROGS_CFLAGS = $(UDEV_CFLAGS)
-LIBS += $(SELINUX_LIBS) $(UDEV_LIBS) $(PTHREAD_LIBS) $(RT_LIBS) $(M_LIBS)
+device-mapper: $(TARGETS)
-device-mapper: all
-
-dm-tools.device-mapper: $(TARGETS)
+dm-tools.device-mapper: device-mapper
libdevmapper.$(LIB_SUFFIX) libdevmapper.$(LIB_SUFFIX).$(LIB_VERSION): $(LIB_SHARED)
@echo " [LN] $<"
diff --git a/libdm/dm-tools/Makefile.in b/libdm/dm-tools/Makefile.in
index 8fbdfc152..9ddb3c261 100644
--- a/libdm/dm-tools/Makefile.in
+++ b/libdm/dm-tools/Makefile.in
@@ -52,18 +52,19 @@ include $(top_builddir)/libdm/make.tmpl
CFLAGS_dmsetup.o += $(UDEV_CFLAGS) $(EXTRA_EXEC_CFLAGS)
CFLAGS_dmfilemapd.o += $(EXTRA_EXEC_CFLAGS)
-LDFLAGS += -L$(interfacebuilddir)
-DMLIBS = -ldevmapper
+LIBDM_LIBS = -L$(interfacebuilddir) -ldevmapper
+LIBDM_SHARED = $(interfacebuilddir)/libdevmapper.so
+LIBDM_STATIC = $(interfacebuilddir)/libdevmapper.a
-dmsetup: dmsetup.o
+dmsetup: dmsetup.o $(LIBDM_SHARED)
@echo " [CC] $@"
$(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(EXTRA_EXEC_LDFLAGS) $(ELDFLAGS) \
- -o $@ $+ $(DMLIBS)
+ -o $@ $< $(LIBDM_LIBS) $(LIBS)
-dmsetup.static: dmsetup.o
+dmsetup.static: dmsetup.o $(LIBDM_STATIC)
@echo " [CC] $@"
$(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static \
- -o $@ $+ $(DMLIBS) $(STATIC_LIBS)
+ -o $@ $< $(LIBDM_LIBS) $(LIBS) $(STATIC_LIBS)
install_dmsetup_dynamic: dmsetup
@echo " [INSTALL] $<"
@@ -73,18 +74,18 @@ install_dmsetup_dynamic: dmsetup
install_dmsetup_static: dmsetup.static
@echo " [INSTALL] $<"
$(Q) $(INSTALL_PROGRAM) -D $< $(staticdir)/$(<F)
- $(Q) $(LN_S) -f $(<F) $(staticdir)/dmstats
+ $(Q) $(LN_S) -f $(<F) $(staticdir)/dmstats.static
-dmfilemapd: dmfilemapd.o $(LIB_SHARED)
+dmfilemapd: dmfilemapd.o $(LIBDM_SHARED)
@echo " [CC] $@"
$(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(EXTRA_EXEC_LDFLAGS) $(ELDFLAGS) \
- -o $@ $+ $(DMLIBS)
+ -o $@ $< $(LIBDM_LIBS) $(LIBS)
-dmfilemapd.static: dmfilemapd.o $(LIB_STATIC)
+dmfilemapd.static: dmfilemapd.o $(LIBDM_STATIC)
@echo " [CC] $@"
- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(ELDFLAGS) -static \
- -o $@ $+ $(DMLIBS) $(STATIC_LIBS)
+ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static \
+ -o $@ $< $(LIBDM_LIBS) $(LIBS) $(STATIC_LIBS)
install_dmfilemapd_dynamic: dmfilemapd
@echo " [INSTALL] $<"
diff --git a/libdm/make.tmpl.in b/libdm/make.tmpl.in
index 9ef39fc0a..f7a5a7a73 100644
--- a/libdm/make.tmpl.in
+++ b/libdm/make.tmpl.in
@@ -53,11 +53,9 @@ WC = @WC@
AR = @AR@
RM = rm -f
-
-LIBS = @LIBS@
-LIBS += $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS) $(RT_LIBS) -lm
+LIBS += @LIBS@ $(PTHREAD_LIBS) $(SELINUX_LIBS) $(UDEV_LIBS) $(RT_LIBS) $(M_LIBS)
# Extra libraries always linked with static binaries
-STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS)
+STATIC_LIBS = $(PTHREAD_LIBS)
DEFS += @DEFS@
# FIXME set this only where it's needed, not globally?
CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@