diff options
-rw-r--r-- | os/os2/svn_version.cmd | 33 | ||||
-rw-r--r-- | os/os2/svn_version.mak | 34 |
2 files changed, 67 insertions, 0 deletions
diff --git a/os/os2/svn_version.cmd b/os/os2/svn_version.cmd new file mode 100644 index 000000000..6085b8ece --- /dev/null +++ b/os/os2/svn_version.cmd @@ -0,0 +1,33 @@ +@echo off +echo Running SVN version detection script... +rem +rem Requires subversion (`svnversion'), GNU make and some other GNU tools (eg, textutils) +rem installed - a hack, I know, but it seems to work if you have the appropriate tools +rem installed. +rem +cd ..\.. +if not exist .svn goto nosvn +make -f os/os2/svn_version.mak +if not %ERRORLEVEL%==0 goto nomake + +goto end + +:nomake +gmake -f os/os2/svn_version.mak +if not %ERRORLEVEL%==0 goto nomake2 +goto end + +:nomake2 +echo Neither `make` nor `gmake' could be found, SVN version detection unable to +echo run. Default rev.c used... +:nosvn +echo const char _openttd_revision[] = "norev000"; > rev.c +echo const int _revision_number = 0; >> rev.c +echo #ifdef __MORPHOS__ >> rev.c +echo const char morphos_versions_tag[] = "\\0$VER: OpenTTD norev000 (00.00.00) © OpenTTD Team [MorphOS, PowerPC]"; >> rev.c +echo #endif >> rev.c +goto end + +:end +cd os\os2 +rem end diff --git a/os/os2/svn_version.mak b/os/os2/svn_version.mak new file mode 100644 index 000000000..fb21456b3 --- /dev/null +++ b/os/os2/svn_version.mak @@ -0,0 +1,34 @@ +all : rev.c + +# What revision are we compiling, if we have an idea? +REV_NUMBER := $(shell if test -d .svn; then svnversion . | tr -dc 0-9; fi) + +ifdef RELEASE +REV:=$(RELEASE) +else +REV := $(shell if test -d .svn; then svnversion . | awk '{ print "r"$$0 }'; fi) +tmp_test:=$(shell echo "$(REV)" | grep "M" ) +ifdef tmp_test +REV_NUMBER:=1 +endif +endif + +ifndef REV_NUMBER +REV_NUMBER:=0 +endif + +rev.c: FORCE + @# setting the revision number in a place, there the binary can read it + @echo 'const char _openttd_revision[] = "$(REV)";' >>rev.c.new + @echo 'const int _revision_number = $(REV_NUMBER);' >>rev.c.new + @# some additions for MorphOS versions tag + @echo '#ifdef __MORPHOS__' >>rev.c.new + @echo 'const char morphos_versions_tag[] = "\\0$$VER: OpenTTD $(REV) ('${BUILDDATE}') © OpenTTD Team [MorphOS, PowerPC]";' >>rev.c.new + @echo '#endif' >>rev.c.new + @# Only update the real rev.c if it actually changed, to prevent + @# useless rebuilds. + @cmp -s rev.c rev.c.new 2>/dev/null || mv rev.c.new rev.c + @rm -f rev.c.new + +FORCE: + |