path: root/Makefile
diff options
authorCarl-Daniel Hailfinger <>2009-06-12 14:49:10 +0000
committerCarl-Daniel Hailfinger <>2009-06-12 14:49:10 +0000
commita23041ccbe5382577b9e0eda68dd9cd3172b4620 (patch)
treec67e0a2dbf8eedb4bf43c7407f415d788dbb5121 /Makefile
parentf78cff159bc77cb6dda03fcbff9b3cc2ce0968c1 (diff)
This patch introduces two new targets which are designed to make the life of packagers easier
In particular, it should no longer be necessary to patch the makefile for hassle-free compilation. The targets are: make export make tarball Both preserve svn revisions and the exported tree does not depend on subversion in any way or shape. Documentation for this feature has been added to README. We need this for five reasons: 1. Packagers currently have to patch flashrom source to compile it on systems without subversion. We should make it easier for them. 2. Snapshot tarballs currently have a .svn 1.5 directory included but this will cause errors for users with older svn 1.4. Not requiring subversion for snapshot compilation is best. 3. Since packagers seldom the svn revision in their fixup patches, some packages out there have incorrect or no revision, only major version numbers. 4. Releasing a new version of flashrom needs too many changes to the makefile which have to be reverted instantly after the release. That is unnecessary churn. 5. Making a release is easy with the change. Update the major version, then run "make tarball". Corresponding to flashrom svn r587. Signed-off-by: Carl-Daniel Hailfinger <> Acked-by: Uwe Hermann <>
Diffstat (limited to 'Makefile')
1 files changed, 20 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 438da4a..567c42c 100644
--- a/Makefile
+++ b/Makefile
@@ -25,6 +25,7 @@ INSTALL = install
PREFIX ?= /usr/local
MANDIR ?= $(PREFIX)/share/man
CFLAGS ?= -Os -Wall -Werror
OS_ARCH = $(shell uname)
ifneq ($(OS_ARCH), SunOS)
@@ -53,8 +54,13 @@ all: pciutils dep $(PROGRAM)
# Set the flashrom version string from the highest revision number
# of the checked out flashrom files.
-SVNDEF := -D'FLASHROM_VERSION="0.9.0-r$(shell svnversion -cn . \
- | sed -e "s/.*://" -e "s/\([0-9]*\).*/\1/")"'
+# Note to packagers: Any tree exported with "make export" or "make tarball"
+# will not require subversion. The downloadable snapshots are already exported.
+SVNVERSION := $(shell LANG=C svnversion -cn . | sed -e "s/.*://" -e "s/\([0-9]*\).*/\1/" | grep "[0-9]" || echo unknown)
@@ -93,6 +99,17 @@ install: $(PROGRAM)
$(INSTALL) -m 0755 $(PROGRAM) $(DESTDIR)$(PREFIX)/sbin
$(INSTALL) -m 0644 $(PROGRAM).8 $(DESTDIR)$(MANDIR)/man8
-.PHONY: all clean distclean dep pciutils
+ @rm -rf $(EXPORTDIR)/flashrom-$(VERSION)
+ @svn export -r BASE . $(EXPORTDIR)/flashrom-$(VERSION)
+ @sed "s/^SVNVERSION.*/SVNVERSION := $(SVNVERSION)/" Makefile >$(EXPORTDIR)/flashrom-$(VERSION)/Makefile
+ @echo Exported $(EXPORTDIR)/flashrom-$(VERSION)/
+tarball: export
+ @tar cfz $(EXPORTDIR)/flashrom-$(VERSION).tar.gz -C $(EXPORTDIR)/ flashrom-$(VERSION)/
+ @rm -rf $(EXPORTDIR)/flashrom-$(VERSION)
+ @echo Created $(EXPORTDIR)/flashrom-$(VERSION).tar.gz
+.PHONY: all clean distclean dep pciutils export tarball
-include .dependencies
OpenPOWER on IntegriCloud