[Ovirt-devel] [PATCH] factor common variable definitions and rules out of Makefiles
Jim Meyering
meyering at redhat.com
Mon Jun 16 19:16:17 UTC 2008
The following two patches factor out the guts of
ovirt-host-creator/Makefile and wui/Makefile into
the new file, common/release.mk.
The first change-set merely moves things around so
the part to be factored out is all together, plus
the sole change: s/NAME/package/.
The second change removes the common code into common/release.mk,
adds the "include...", and adds a .PHONY: directive.
That latter makes it so the presence of a file named e.g., "all"
won't keep "make all" from working.
This pair of change-sets applies on top of my series of four from
yesterday.
>From 19c22e8cd8efad5366950691956948462f016e03 Mon Sep 17 00:00:00 2001
Date: Mon, 16 Jun 2008 20:43:35 +0200
Subject: [PATCH] */Makefile: prepare to factor out duplicate code
---
ovirt-host-creator/Makefile | 22 +++++++++++-----------
wui/Makefile | 22 +++++++++++-----------
2 files changed, 22 insertions(+), 22 deletions(-)
diff --git a/ovirt-host-creator/Makefile b/ovirt-host-creator/Makefile
index 322d95e..4611d17 100644
--- a/ovirt-host-creator/Makefile
+++ b/ovirt-host-creator/Makefile
@@ -9,21 +9,18 @@ GITRELEASE = $(X).$$(date --utc +%Y%m%d%H%M)git$(git_head)
DIST = $$(rpm --eval '%{dist}')
ARCH = $$(uname -i)
-NAME = ovirt-host-image
-SPEC_FILE = $(NAME).spec
+SPEC_FILE = $(package).spec
-NV = $(NAME)-$(VERSION)
+NV = $(package)-$(VERSION)
RPM_FLAGS = \
--define "_topdir %(pwd)/rpm-build" \
--define "_builddir %{_topdir}" \
--define "_rpmdir %{_topdir}" \
--define "_srcrpmdir %{_topdir}" \
- --define '_rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm' \
+ --define '_rpmfilename %%{package}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm' \
--define "_specdir %{_topdir}" \
--define "_sourcedir %{_topdir}"
-all: rpms
-
bumpgit:
echo "$(VERSION) $(GITRELEASE)" > version
@@ -36,6 +33,14 @@ bumpversion:
setversion:
echo "$(VERSION) $(RELEASE)" > version
+new-rpms: bumprelease rpms
+
+rpms: tar
+ rpmbuild $(RPM_FLAGS) -ba $(SPEC_FILE)
+
+package = ovirt-host-image
+all: rpms
+
clean:
rm -rf ovirt-host-image-* ovirt-pxe.log
@@ -54,8 +59,3 @@ tar: clean build
tar zcvf rpm-build/$(NV).tar $(NV)
cp version rpm-build/
rm -rf $(NV)
-
-new-rpms: bumprelease rpms
-
-rpms: tar
- rpmbuild $(RPM_FLAGS) -ba $(SPEC_FILE)
diff --git a/wui/Makefile b/wui/Makefile
index 71239ab..86d547a 100644
--- a/wui/Makefile
+++ b/wui/Makefile
@@ -9,21 +9,18 @@ GITRELEASE = $(X).$$(date --utc +%Y%m%d%H%M)git$(git_head)
DIST = $$(rpm --eval '%{dist}')
ARCH = $$(uname -i)
-NAME = ovirt-wui
-SPEC_FILE = $(NAME).spec
+SPEC_FILE = $(package).spec
-NV = $(NAME)-$(VERSION)
+NV = $(package)-$(VERSION)
RPM_FLAGS = \
--define "_topdir %(pwd)/rpm-build" \
--define "_builddir %{_topdir}" \
--define "_rpmdir %{_topdir}" \
--define "_srcrpmdir %{_topdir}" \
- --define '_rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm' \
+ --define '_rpmfilename %%{package}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm' \
--define "_specdir %{_topdir}" \
--define "_sourcedir %{_topdir}"
-all: rpms
-
bumpgit:
echo "$(VERSION) $(GITRELEASE)" > version
@@ -36,6 +33,14 @@ bumpversion:
setversion:
echo "$(VERSION) $(RELEASE)" > version
+new-rpms: bumprelease rpms
+
+rpms: tar
+ rpmbuild $(RPM_FLAGS) -ba $(SPEC_FILE)
+
+package = ovirt-wui
+all: rpms
+
clean:
rm -f ovirt*.gz ovirt*.rpm
rm -rf ovirt-wui-* dist build
@@ -53,11 +58,6 @@ tar: clean
cp version rpm-build/
rm -rf $(NV)
-new-rpms: bumprelease rpms
-
-rpms: tar
- rpmbuild $(RPM_FLAGS) -ba $(SPEC_FILE)
-
# convience method to simulate make install, not for production use
install: rpms
rpm -Uvh rpm-build/ovirt-wui-$(VERSION)-$(RELEASE)$(DIST).$(ARCH).rpm --force
--
1.5.6.rc3.9.gac038
>From d8ab35f63fdff24736f0b37f78c3db23bdf138c9 Mon Sep 17 00:00:00 2001
Date: Mon, 16 Jun 2008 21:08:39 +0200
Subject: [PATCH] factor common variable definitions and rules out of Makefiles
* common/release.mk: New file, factored out of...
* ovirt-host-creator/Makefile: ...here, and...
* wui/Makefile: ...here.
---
common/release.mk | 47 +++++++++++++++++++++++++++++++++++++++++++
ovirt-host-creator/Makefile | 44 +++------------------------------------
wui/Makefile | 44 +++------------------------------------
3 files changed, 55 insertions(+), 80 deletions(-)
create mode 100644 common/release.mk
diff --git a/common/release.mk b/common/release.mk
new file mode 100644
index 0000000..72e04d0
--- /dev/null
+++ b/common/release.mk
@@ -0,0 +1,47 @@
+# Release/version-related Makefile variables and rules.
+# This Makefile snippet is included by both ../wui/Makefile and
+# ../ovirt-host-creator/Makefile. It expects the including Makefile
+# to define the "package" variable, as well as a file named "version"
+# in the current directory.
+
+VERSION := $(shell awk '{ print $$1 }' version)
+RELEASE := $(shell awk '{ print $$2 }' version)
+NEWVERSION = $$(awk 'BEGIN { printf "%.2f", $(VERSION) + .01 }')
+NEWRELEASE = $$(($(RELEASE) + 1))
+X = $$(awk '{ split($$2,r,"."); \
+ printf("%d.%d\n", r[1], r[2]+1) }' version)
+git_head = $$(git show-ref --hash=7 HEAD)
+GITRELEASE = $(X).$$(date --utc +%Y%m%d%H%M)git$(git_head)
+DIST = $$(rpm --eval '%{dist}')
+ARCH = $$(uname -i)
+
+SPEC_FILE = $(package).spec
+
+NV = $(package)-$(VERSION)
+RPM_FLAGS = \
+ --define "_topdir %(pwd)/rpm-build" \
+ --define "_builddir %{_topdir}" \
+ --define "_rpmdir %{_topdir}" \
+ --define "_srcrpmdir %{_topdir}" \
+ --define '_rpmfilename %%{package}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm' \
+ --define "_specdir %{_topdir}" \
+ --define "_sourcedir %{_topdir}"
+
+bumpgit:
+ echo "$(VERSION) $(GITRELEASE)" > version
+
+bumprelease:
+ echo "$(VERSION) $(NEWRELEASE)" > version
+
+bumpversion:
+ echo "$(NEWVERSION) 0" > version
+
+setversion:
+ echo "$(VERSION) $(RELEASE)" > version
+
+new-rpms: bumprelease rpms
+
+rpms: tar
+ rpmbuild $(RPM_FLAGS) -ba $(SPEC_FILE)
+
+.PHONY: rpms new-rpms setversion bumprelease bumpversion bumpgit
diff --git a/ovirt-host-creator/Makefile b/ovirt-host-creator/Makefile
index 4611d17..6b26654 100644
--- a/ovirt-host-creator/Makefile
+++ b/ovirt-host-creator/Makefile
@@ -1,45 +1,7 @@
-VERSION := $(shell awk '{ print $$1 }' version)
-RELEASE := $(shell awk '{ print $$2 }' version)
-NEWVERSION = $$(awk 'BEGIN { printf "%.2f", $(VERSION) + .01 }')
-NEWRELEASE = $$(($(RELEASE) + 1))
-X = $$(awk '{ split($$2,r,"."); \
- printf("%d.%d\n", r[1], r[2]+1) }' version)
-git_head = $$(git show-ref --hash=7 HEAD)
-GITRELEASE = $(X).$$(date --utc +%Y%m%d%H%M)git$(git_head)
-DIST = $$(rpm --eval '%{dist}')
-ARCH = $$(uname -i)
+package = ovirt-host-image
-SPEC_FILE = $(package).spec
-
-NV = $(package)-$(VERSION)
-RPM_FLAGS = \
- --define "_topdir %(pwd)/rpm-build" \
- --define "_builddir %{_topdir}" \
- --define "_rpmdir %{_topdir}" \
- --define "_srcrpmdir %{_topdir}" \
- --define '_rpmfilename %%{package}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm' \
- --define "_specdir %{_topdir}" \
- --define "_sourcedir %{_topdir}"
-
-bumpgit:
- echo "$(VERSION) $(GITRELEASE)" > version
-
-bumprelease:
- echo "$(VERSION) $(NEWRELEASE)" > version
-
-bumpversion:
- echo "$(NEWVERSION) 0" > version
-
-setversion:
- echo "$(VERSION) $(RELEASE)" > version
-
-new-rpms: bumprelease rpms
-
-rpms: tar
- rpmbuild $(RPM_FLAGS) -ba $(SPEC_FILE)
-
-package = ovirt-host-image
all: rpms
+include ../common/release.mk
clean:
rm -rf ovirt-host-image-* ovirt-pxe.log
@@ -59,3 +21,5 @@ tar: clean build
tar zcvf rpm-build/$(NV).tar $(NV)
cp version rpm-build/
rm -rf $(NV)
+
+.PHONY: all clean build tar
diff --git a/wui/Makefile b/wui/Makefile
index 86d547a..6120129 100644
--- a/wui/Makefile
+++ b/wui/Makefile
@@ -1,45 +1,7 @@
-VERSION := $(shell awk '{ print $$1 }' version)
-RELEASE := $(shell awk '{ print $$2 }' version)
-NEWVERSION = $$(awk 'BEGIN { printf "%.2f", $(VERSION) + .01 }')
-NEWRELEASE = $$(($(RELEASE) + 1))
-X = $$(awk '{ split($$2,r,"."); \
- printf("%d.%d\n", r[1], r[2]+1) }' version)
-git_head = $$(git show-ref --hash=7 HEAD)
-GITRELEASE = $(X).$$(date --utc +%Y%m%d%H%M)git$(git_head)
-DIST = $$(rpm --eval '%{dist}')
-ARCH = $$(uname -i)
+package = ovirt-wui
-SPEC_FILE = $(package).spec
-
-NV = $(package)-$(VERSION)
-RPM_FLAGS = \
- --define "_topdir %(pwd)/rpm-build" \
- --define "_builddir %{_topdir}" \
- --define "_rpmdir %{_topdir}" \
- --define "_srcrpmdir %{_topdir}" \
- --define '_rpmfilename %%{package}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm' \
- --define "_specdir %{_topdir}" \
- --define "_sourcedir %{_topdir}"
-
-bumpgit:
- echo "$(VERSION) $(GITRELEASE)" > version
-
-bumprelease:
- echo "$(VERSION) $(NEWRELEASE)" > version
-
-bumpversion:
- echo "$(NEWVERSION) 0" > version
-
-setversion:
- echo "$(VERSION) $(RELEASE)" > version
-
-new-rpms: bumprelease rpms
-
-rpms: tar
- rpmbuild $(RPM_FLAGS) -ba $(SPEC_FILE)
-
-package = ovirt-wui
all: rpms
+include ../common/release.mk
clean:
rm -f ovirt*.gz ovirt*.rpm
@@ -61,3 +23,5 @@ tar: clean
# convience method to simulate make install, not for production use
install: rpms
rpm -Uvh rpm-build/ovirt-wui-$(VERSION)-$(RELEASE)$(DIST).$(ARCH).rpm --force
+
+.PHONY: all clean genlangs tar install
--
1.5.6.rc3.9.gac038
More information about the ovirt-devel
mailing list