summaryrefslogtreecommitdiff
path: root/common.mk
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-01-25 09:27:30 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-01-25 09:27:30 +0000
commit6d91bf3b0c423f647094846b8c9ec2c8d9829f9e (patch)
treeee9aead6dcce83d168b8d51c302d436a034ff87c /common.mk
parenta984e00b80d78fdb9f6d2e0ec3bdfb0a80a06105 (diff)
* common.mk (revision.h): extracts revision number with ``svn info''.
* common.mk (up): target to update from the repository. * Makefile.in, {win,bcc}32/Makefile.sub (IFCHANGE): tool to update a file if changed. * tool/ifchange: for unixen. * win32/ifchange.bat: some fix git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'common.mk')
-rw-r--r--common.mk15
1 files changed, 12 insertions, 3 deletions
diff --git a/common.mk b/common.mk
index 1b53989c4c..f27d3789d2 100644
--- a/common.mk
+++ b/common.mk
@@ -98,6 +98,8 @@ TESTWORKDIR = testwork
BOOTSTRAPRUBY = $(BASERUBY)
+VCS = svn
+
all: $(MKFILES) $(PREP) $(RBCONFIG) $(LIBRUBY) encs
@$(MINIRUBY) $(srcdir)/ext/extmk.rb $(EXTMK_ARGS)
prog: $(PROGRAM) $(WPROGRAM)
@@ -698,7 +700,7 @@ vm.inc: $(srcdir)/template/vm.inc.tmpl
srcs: {$(VPATH)}parse.c {$(VPATH)}lex.c $(srcdir)/ext/ripper/ripper.c
-incs: $(INSNS) {$(VPATH)}node_name.inc {$(VPATH)}encdb.h {$(VPATH)}revision.h
+incs: $(INSNS) {$(VPATH)}node_name.inc {$(VPATH)}encdb.h $(srcdir)/revision.h
node_name.inc: {$(VPATH)}node.h
$(BASERUBY) -n $(srcdir)/tool/node_name.rb $? > $@
@@ -724,8 +726,11 @@ PRELUDES = prelude.c miniprelude.c golf_prelude.c
docs:
$(BASERUBY) -I$(srcdir) $(srcdir)/tool/makedocs.rb $(INSNS2VMOPT)
-revision.h:
- exit > $@
+$(srcdir)/revision.h:
+ @set LC_MESSAGES=C
+ -@$(SET_LC_MESSAGES) $(VCS) info "$(@D)" | \
+ sed -n "s/.*Rev:/#define RUBY_REVISION/p" > "$@.tmp"
+ $(IFCHANGE) "$@" "$@.tmp"
$(srcdir)/ext/ripper/ripper.c:
cd $(srcdir)/ext/ripper && exec $(MAKE) -f depend $(MFLAGS) top_srcdir=../.. srcdir=.
@@ -788,3 +793,7 @@ vtune: miniruby$(EXEEXT)
dist: $(PROGRAM)
$(RUNRUBY) $(srcdir)/distruby.rb
+
+up:
+ @$(VCS) up "$(srcdir)" |\
+ sed '-e$${' -eh "-es/[^0-9]//g" "-es/^/#define RUBY_REVISION /" "-ew$(srcdir)/revision.h" -eg "-e}"