refresh version.h when svn info changed
[enigma2.git] / main / Makefile.am
index da09c1a..a37289a 100644 (file)
@@ -17,12 +17,16 @@ enigma.o: version.h
 
 ../CVS/Root:
 
-# this depends on Entries and not on Tag because Tag isn't always there.
-# Entries, however, will change then Tag is changed, so everything is fine.
-version.h: # ../CVS/Entries ../CVS/Root
+.PHONY: .svn/entries
+
+entries: .svn/entries
+       @if [ ! -f entries ]; then touch entries; fi
+       @if [ -f .svn/entries ] && ! diff -q entries .svn/entries 2>/dev/null; then     \
+               cp --no-preserve=mode .svn/entries entries;                             \
+       fi;
+
+version.h: entries
        > version.h
-       if [ -f ../CVS/Tag ]; then echo "#define ENIGMA2_CHECKOUT_TAG \"`cat ../CVS/Tag`\"" >> version.h; fi
-       if [ -f ../CVS/Root ]; then echo "#define ENIGMA2_CHECKOUT_ROOT \"`cat ../CVS/Root`\"" >> version.h; fi
        if [ -d .svn ]; then echo "#define ENIGMA2_CHECKOUT_TAG \"D`svn info | grep 'Last Changed Date:' | sed -e 's/[^:]*: \(....\)-\(..\)-\(..\) \(..\):\(..\):\(..\).*+.*$$/\1.\2.\3.\4.\5.\6/'`\"" >> version.h; fi
 
 enigma2_LDADD_WHOLE = \