summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Teigland <teigland@redhat.com>2017-02-09 10:04:38 -0600
committerDavid Teigland <teigland@redhat.com>2017-02-09 12:10:25 -0600
commitd07977c1550362ce1f16d500adcbba9e9b0849e4 (patch)
tree3032aa6b78dda0f3212a6e6b3addced041324f5f
parent5e7d9d4b925b74c58743d20efb3eca79d11dba3c (diff)
downloadlvm2-dev-dct-cmd-defs79.tar.gz
makefile: fixes and improvementsdev-dct-cmd-defs79
-rw-r--r--man/Makefile.in23
-rw-r--r--tools/Makefile.in31
-rwxr-xr-xtools/command-lines-input.sh11
3 files changed, 27 insertions, 38 deletions
diff --git a/man/Makefile.in b/man/Makefile.in
index 12a9306f9..d29756487 100644
--- a/man/Makefile.in
+++ b/man/Makefile.in
@@ -46,8 +46,6 @@ MAN8GEN=lvm-config.8 lvm-dumpconfig.8 lvm-fullreport.8 lvm-lvpoll.8 \
vgrename.8 vgs.8 vgscan.8 vgsplit.8 \
lvmsar.8 lvmsadc.8 lvmdiskscan.8 lvmchange.8
-MAN8+=$(MAN8GEN)
-
ifeq ($(MAKECMDGOALS),all_man)
MAN_ALL="yes"
endif
@@ -117,8 +115,8 @@ MAN8DIR=$(mandir)/man8
include $(top_builddir)/make.tmpl
-CLEAN_TARGETS+=$(MAN5) $(MAN7) $(MAN8) $(MAN8CLUSTER) \
- $(MAN8SYSTEMD_GENERATORS) $(MAN8DM)
+CLEAN_TARGETS+=$(MAN5) $(MAN7) $(MAN8) $(MAN8GEN) $(MAN8CLUSTER) \
+ $(MAN8SYSTEMD_GENERATORS) $(MAN8DM) *.gen man-generator
DISTCLEAN_TARGETS+=$(FSADMMAN) $(BLKDEACTIVATEMAN) $(DMEVENTDMAN) \
$(LVMETADMAN) $(LVMPOLLDMAN) $(LVMLOCKDMAN) $(CLVMDMAN) $(CMIRRORDMAN) \
$(LVMCACHEMAN) $(LVMTHINMAN) $(LVMDBUSDMAN) $(LVMRAIDMAN)
@@ -129,11 +127,11 @@ all: man device-mapper
device-mapper: $(MAN8DM)
-man: $(MAN5) $(MAN7) $(MAN8) $(MAN8CLUSTER) $(MAN8SYSTEMD_GENERATORS)
+man: $(MAN5) $(MAN7) $(MAN8) $(MAN8GEN) $(MAN8CLUSTER) $(MAN8SYSTEMD_GENERATORS)
all_man: man
-$(MAN5) $(MAN7) $(MAN8) $(MAN8DM) $(MAN8CLUSTER): Makefile
+$(MAN5) $(MAN7) $(MAN8) $(MAN8GEN) $(MAN8DM) $(MAN8CLUSTER): Makefile
Makefile: Makefile.in
@:
@@ -144,14 +142,14 @@ Makefile: Makefile.in
*) echo "Creating $@" ; $(SED) -e "s+#VERSION#+$(LVM_VERSION)+;s+#DEFAULT_SYS_DIR#+$(DEFAULT_SYS_DIR)+;s+#DEFAULT_ARCHIVE_DIR#+$(DEFAULT_ARCHIVE_DIR)+;s+#DEFAULT_BACKUP_DIR#+$(DEFAULT_BACKUP_DIR)+;s+#DEFAULT_PROFILE_DIR#+$(DEFAULT_PROFILE_DIR)+;s+#DEFAULT_CACHE_DIR#+$(DEFAULT_CACHE_DIR)+;s+#DEFAULT_LOCK_DIR#+$(DEFAULT_LOCK_DIR)+;s+#CLVMD_PATH#+@CLVMD_PATH@+;s+#LVM_PATH#+@LVM_PATH@+;s+#DEFAULT_RUN_DIR#+@DEFAULT_RUN_DIR@+;s+#DEFAULT_PID_DIR#+@DEFAULT_PID_DIR@+;s+#SYSTEMD_GENERATOR_DIR#+$(SYSTEMD_GENERATOR_DIR)+;s+#DEFAULT_MANGLING#+$(DEFAULT_MANGLING)+;" $< > $@ ;; \
esac
-generator:
- $(CC) -DMAN_PAGE_GENERATOR $(top_builddir)/tools/command.c -o man-generator
+man-generator:
+ $(CC) -DMAN_PAGE_GENERATOR -I$(top_builddir)/tools $(CFLAGS) $(top_srcdir)/tools/command.c -o $@
-$(MAN8GEN): generator
+$(MAN8GEN): man-generator
echo "Generating $@" ;
- ./man-generator `basename -s .8 $@` > $@.in
- if [ -f $@.end ]; then cat $@.end >> $@.in; fi;
- $(SED) -e "s+#VERSION#+$(LVM_VERSION)+;s+#DEFAULT_SYS_DIR#+$(DEFAULT_SYS_DIR)+;s+#DEFAULT_ARCHIVE_DIR#+$(DEFAULT_ARCHIVE_DIR)+;s+#DEFAULT_BACKUP_DIR#+$(DEFAULT_BACKUP_DIR)+;s+#DEFAULT_PROFILE_DIR#+$(DEFAULT_PROFILE_DIR)+;s+#DEFAULT_CACHE_DIR#+$(DEFAULT_CACHE_DIR)+;s+#DEFAULT_LOCK_DIR#+$(DEFAULT_LOCK_DIR)+;s+#CLVMD_PATH#+@CLVMD_PATH@+;s+#LVM_PATH#+@LVM_PATH@+;s+#DEFAULT_RUN_DIR#+@DEFAULT_RUN_DIR@+;s+#DEFAULT_PID_DIR#+@DEFAULT_PID_DIR@+;s+#SYSTEMD_GENERATOR_DIR#+$(SYSTEMD_GENERATOR_DIR)+;s+#DEFAULT_MANGLING#+$(DEFAULT_MANGLING)+;" $@.in > $@
+ ./man-generator $(basename $@) > $@.gen
+ if [ -f $(top_srcdir)/man/$@.end ]; then cat $(top_srcdir)/man/$@.end >> $@.gen; fi;
+ $(SED) -e "s+#VERSION#+$(LVM_VERSION)+;s+#DEFAULT_SYS_DIR#+$(DEFAULT_SYS_DIR)+;s+#DEFAULT_ARCHIVE_DIR#+$(DEFAULT_ARCHIVE_DIR)+;s+#DEFAULT_BACKUP_DIR#+$(DEFAULT_BACKUP_DIR)+;s+#DEFAULT_PROFILE_DIR#+$(DEFAULT_PROFILE_DIR)+;s+#DEFAULT_CACHE_DIR#+$(DEFAULT_CACHE_DIR)+;s+#DEFAULT_LOCK_DIR#+$(DEFAULT_LOCK_DIR)+;s+#CLVMD_PATH#+@CLVMD_PATH@+;s+#LVM_PATH#+@LVM_PATH@+;s+#DEFAULT_RUN_DIR#+@DEFAULT_RUN_DIR@+;s+#DEFAULT_PID_DIR#+@DEFAULT_PID_DIR@+;s+#SYSTEMD_GENERATOR_DIR#+$(SYSTEMD_GENERATOR_DIR)+;s+#DEFAULT_MANGLING#+$(DEFAULT_MANGLING)+;" $@.gen > $@
install_man5: $(MAN5)
$(INSTALL) -d $(MAN5DIR)
@@ -164,6 +162,7 @@ install_man7: $(MAN7)
install_man8: $(MAN8) $(MAN8GEN)
$(INSTALL) -d $(MAN8DIR)
$(INSTALL_DATA) $(MAN8) $(MAN8DIR)/
+ $(INSTALL_DATA) $(MAN8GEN) $(MAN8DIR)/
install_lvm2: install_man5 install_man7 install_man8
diff --git a/tools/Makefile.in b/tools/Makefile.in
index cb3c76eb7..9003dffa8 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -1,4 +1,3 @@
-
#
# Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved.
# Copyright (C) 2004-2012 Red Hat, Inc. All rights reserved.
@@ -78,9 +77,6 @@ SOURCES2 =\
TARGETS =\
.commands \
- cmds.h \
- command-count.h \
- command-lines-input.h \
liblvm2cmd.a \
lvm
@@ -105,7 +101,7 @@ CLEAN_TARGETS = liblvm2cmd.$(LIB_SUFFIX) $(TARGETS_DM) \
liblvm2cmd.$(LIB_SUFFIX).$(LIB_VERSION) lvm-static.o \
liblvm2cmd-static.a dmsetup.static lvm.static \
$(LDDEPS) .exported_symbols_generated \
- command-lines-input.h command-lines-count.h
+ cmds.h command-lines-input.h command-count.h
ifeq ("@CMDLIB@", "yes")
TARGETS += liblvm2cmd.$(LIB_SUFFIX).$(LIB_VERSION)
@@ -185,26 +181,31 @@ liblvm2cmd.$(LIB_SUFFIX).$(LIB_VERSION): liblvm2cmd.$(LIB_SUFFIX)
WC = /usr/bin/wc
GREP = /bin/grep
SORT = /bin/sort
-CUT = /bin/cut
-SED = /bin/sed
-# FIXME Add licence text from template file
+# FIXME Prepend licence text from a template file to top of each generated file
+# FIXME Prepend 'do not edit' and timestamp comment to each generated file
command-count.h: $(srcdir)/command-lines.in Makefile
set -o pipefail && \
- (echo -n "#define COMMAND_COUNT " && \
- $(GREP) '^ID:' $(srcdir)/command-lines.in | $(WC) -l \
+ ( echo -n "#define COMMAND_COUNT " && \
+ $(GREP) '^ID:' $(srcdir)/command-lines.in | $(WC) -l \
) > $@
cmds.h: $(srcdir)/command-lines.in Makefile
- echo "cmd(CMD_NONE, none)" > cmds.h
- cat command-lines.in | grep '^ID:' | sort | uniq | awk '{print "cmd(" $$2 "_CMD, " $$2 ")"}' >> cmds.h
- echo "cmd(CMD_COUNT, count)" >> cmds.h
+ set -o pipefail && \
+ ( echo "cmd(CMD_NONE, none)" && \
+ $(GREP) '^ID:' $(srcdir)/command-lines.in | $(SORT) -u | $(AWK) '{print "cmd(" $$2 "_CMD, " $$2 ")"}' && \
+ echo "cmd(CMD_COUNT, count)" \
+ ) > $@
command-lines-input.h: $(srcdir)/command-lines.in Makefile
- $(srcdir)/command-lines-input.sh
+ set -o pipefail && \
+ ( echo -en "const char _command_input[] =\n\n\"" && \
+ $(GREP) -Ev '^#|\-\-\-|^$$' $(srcdir)/command-lines.in | $(AWK) 'BEGIN {ORS = "\\n\"\n\""} //' && \
+ echo "\\n\";" \
+ ) > $@
-$(SOURCES:%.c=%.d): command-lines-input.h command-count.h cmds.h
+$(SOURCES:%.c=%.d) $(SOURCES2:%.c=%.d): command-lines-input.h command-count.h cmds.h
ifneq ("$(CFLOW_CMD)", "")
CFLOW_SOURCES = $(addprefix $(srcdir)/, $(SOURCES))
diff --git a/tools/command-lines-input.sh b/tools/command-lines-input.sh
deleted file mode 100755
index 3e0dafb44..000000000
--- a/tools/command-lines-input.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-
-cat command-lines.in | grep -v '^#' | grep -v '\-\-\-' | grep -v '^$' > command-lines.tmp
-echo "" >> command-lines.tmp
-echo "const char _command_input[] =" > command-lines-input.h
-while read -r line; do
- echo "" >> command-lines-input.h
- printf '\"%s\\n\"' "$line" >> command-lines-input.h
-done < command-lines.tmp
-echo ";" >> command-lines-input.h
-