summaryrefslogtreecommitdiff
path: root/Makefile.in
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2015-05-11 21:48:11 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2015-05-12 12:40:37 +0200
commit9c2a6de68f776be2b6839960d955c75e749ccc0c (patch)
tree1eff2058b32b5e8847c161605b8265f7814aa578 /Makefile.in
parentf5199a1cbddf9fbfaba54635c12b7ebd6e4dd0a8 (diff)
downloadlvm2-9c2a6de68f776be2b6839960d955c75e749ccc0c.tar.gz
makefiles: runtime spec.inc
Support CLEAN_DIRS Var for rpmbuilddir Use LN_S Generate spec.inc at runtime for 'make rpm'.
Diffstat (limited to 'Makefile.in')
-rw-r--r--Makefile.in37
1 files changed, 23 insertions, 14 deletions
diff --git a/Makefile.in b/Makefile.in
index a180d1093..be4241c81 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -99,24 +99,33 @@ check check_system check_cluster check_local check_lvmetad unit: all
conf.generate: tools
-VER = LVM2.@LVM_MAJOR@.@LVM_MINOR@.@LVM_PATCHLEVEL@
-CLEAN_TARGETS += $(VER).tgz
-clean:
- $(RM) -r build
+# how to use parenthesis in makefiles
+leftparen:=(
+LVM_VER := $(firstword $(subst $(leftparen), ,$(LVM_VERSION)))
+VER := LVM2.$(LVM_VER)
+# release file name
+FILE_VER := $(VER).tgz
+CLEAN_TARGETS += $(FILE_VER)
+CLEAN_DIRS += $(rpmbuilddir)
dist:
- @echo "Generating $(VER).tgz";\
- git ls-tree -r HEAD --name-only | xargs tar --transform "s,^,$(VER)/," -zcf $(VER).tgz
+ @echo "Generating $(FILE_VER)";\
+ (cd $(top_srcdir); git ls-tree -r HEAD --name-only | xargs tar --transform "s,^,$(VER)/," -c) | gzip >$(FILE_VER)
rpm: dist
- $(MKDIR_P) build/SPECS build/SOURCES
- ln -sf $(abs_top_srcdir)/spec/lvm2.spec build/SPECS
- ln -sf $(abs_top_srcdir)/spec/build.inc build/SOURCES
- ln -sf $(abs_top_srcdir)/spec/macros.inc build/SOURCES
- ln -sf $(abs_top_srcdir)/spec/packages.inc build/SOURCES
- ln -sf $(abs_top_srcdir)/spec/source.inc build/SOURCES
- ln -sf $(abs_top_builddir)/$(VER).tgz build/SOURCES
- rpmbuild -v --define "_topdir $(abs_top_builddir)/build" -ba build/SPECS/lvm2.spec
+ $(RM) -r $(rpmbuilddir)/SOURCES
+ $(MKDIR_P) $(rpmbuilddir)/SOURCES
+ $(LN_S) -f $(abs_top_builddir)/$(FILE_VER) $(rpmbuilddir)/SOURCES
+ $(LN_S) -f $(abs_top_srcdir)/spec/build.inc $(rpmbuilddir)/SOURCES
+ $(LN_S) -f $(abs_top_srcdir)/spec/macros.inc $(rpmbuilddir)/SOURCES
+ $(LN_S) -f $(abs_top_srcdir)/spec/packages.inc $(rpmbuilddir)/SOURCES
+ DM_VER=$$(cut -d- -f1 $(top_srcdir)/VERSION_DM);\
+ GIT_VER=$$(cd $(top_srcdir); git describe | cut -d- --output-delimiter=. -f2,3 || echo 0);\
+ sed -e "s,\(device_mapper_version\) [0-9.]*$$,\1 $$DM_VER," \
+ -e "s,^\(Version:[^0-9%]*\)[0-9.]*$$,\1 $(LVM_VER)," \
+ -e "s,^\(Release:[^0-9%]*\)[0-9.]\+,\1 $$GIT_VER," \
+ $(top_srcdir)/spec/source.inc >$(rpmbuilddir)/SOURCES/source.inc
+ rpmbuild -v --define "_topdir $(abs_top_builddir)/$(rpmbuilddir)" -ba $(top_srcdir)/spec/lvm2.spec
generate: conf.generate
$(MAKE) -C conf generate