refresh version.h when svn info changed
[enigma2.git] / main / Makefile.am
index 68bde79502317780abbc87b814f39b32185d657f..a37289ae18082567ff1ff43ba0de55da1d6f45d2 100644 (file)
@@ -6,6 +6,8 @@ bin_PROGRAMS = enigma2
 enigma2_SOURCES = \
        enigma.cpp bsod.cpp
 
+CLEANFILES = version.h
+
 bsod.o: version.h
 
 enigma.o: version.h
@@ -15,39 +17,48 @@ 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 = \
        $(top_builddir)/lib/actions/libenigma_actions.a \
        $(top_builddir)/lib/base/libenigma_base.a \
        $(top_builddir)/lib/components/libenigma_components.a \
        $(top_builddir)/lib/driver/libenigma_driver.a \
+       $(top_builddir)/lib/mmi/libenigma_mmi.a \
        $(top_builddir)/lib/dvb/libenigma_dvb.a \
        $(top_builddir)/lib/dvb_ci/libenigma_dvb_ci.a \
        $(top_builddir)/lib/gdi/libenigma_gdi.a \
        $(top_builddir)/lib/gui/libenigma_gui.a \
        $(top_builddir)/lib/python/libenigma_python.a \
        $(top_builddir)/lib/nav/libenigma_nav.a \
-       $(top_builddir)/lib/service/libenigma_service.a \
-       $(top_builddir)/lib/xml/libenigma_xml.a
+       $(top_builddir)/lib/service/libenigma_service.a
 
 enigma2_LDADD = \
        @FREETYPE_LIBS@ \
        @ID3TAG_LIBS@ \
        @MAD_LIBS@ \
        @PNG_LIBS@ \
+       @SDL_LIBS@ \
        @SIGC_LIBS@ \
        @DVBSI_LIBS@ \
        @FRIBIDI_LIBS@ \
        @GSTREAMER_LIBS@ \
+       @GSTREAMERPBUTILS_LIBS@ \
        @JPEG_LIBS@ \
        @LIBUNGIF_LIBS@ \
-       -ldl -lpthread -lcrypt -lresolv -lxml2
+       @XML2_LIBS@ \
+       @XMLCCWRAP_LIBS@ \
+       -ldl -lpthread -lcrypt -lresolv -lrt
 
 enigma2$(EXEEXT): $(enigma2_OBJECTS) $(enigma2_DEPENDENCIES) $(enigma2_LDADD_WHOLE)
 #      @rm -f enigma2$(EXEEXT)