Merge branch 'obi/master' into experimental
[vuplus_dvbapp] / main / Makefile.am
index 33bebdf..a65b4ac 100644 (file)
@@ -13,6 +13,10 @@ enigma2_SOURCES = \
        bsod.cpp \
        bsod.h \
        enigma.cpp \
+       xmlgenerator.cpp \
+       xmlgenerator.h \
+       version_info.cpp \
+       version_info.h \
        version.h
 
 EXTRA_DIST = \
@@ -22,8 +26,21 @@ EXTRA_DIST = \
        enigma-playlist.cpp \
        enigma-scan.cpp
 
+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
+
 enigma2_LDADD = \
-       $(top_builddir)/lib/libenigma.la \
        @BASE_LIBS@ \
        @LIBGIF_LIBS@ \
        @LIBJPEG_LIBS@ \
@@ -33,22 +50,32 @@ enigma2_LDADD = \
        @PTHREAD_LIBS@ \
        @PYTHON_LDFLAGS@
 
+enigma2_LDFLAGS = -Wl,--export-dynamic
+
+if HAVE_GIT_DIR
 GIT_DIR = $(top_srcdir)/.git
+GIT = git --git-dir=$(GIT_DIR)
+
+if HAVE_FAKE_GIT_DIR
+ENIGMA2_COMMIT_DATE = `grep '^CommitDate:' $(GIT_DIR)/last_commit_info | cut -d' ' -f2`
+ENIGMA2_BRANCH = `cat $(GIT_DIR)/branch`
+else
+ENIGMA2_COMMIT_DATE = `$(GIT) log --no-color -n 1 --pretty=format:%cd --date=short`
+ENIGMA2_BRANCH = `$(GIT) branch --no-color 2>/dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'`
+ENIGMA2_REV = `$(GIT) describe --abbrev=7 --always --long --tags`
+endif
+endif
+
+BUILT_SOURCES = version-intermediate.h
+.INTERMEDIATE: version-intermediate.h
+.PHONY: version-intermediate.h
+version-intermediate.h:
+       $(AM_V_GEN)touch $@
+       -$(AM_V_at)[ -n "$(ENIGMA2_COMMIT_DATE)" ] && echo "#define ENIGMA2_COMMIT_DATE \"$(ENIGMA2_COMMIT_DATE)\"" >> $@
+       -$(AM_V_at)[ -n "$(ENIGMA2_BRANCH)" ] && echo "#define ENIGMA2_BRANCH \"$(ENIGMA2_BRANCH)\"" >> $@
+       -$(AM_V_at)[ -n "$(ENIGMA2_REV)" ] && echo "#define ENIGMA2_REV \"$(ENIGMA2_REV)\"" >> $@
+       $(AM_V_at)([ -f version.h ] && diff -q version.h $@ >/dev/null) || $(INSTALL_HEADER) $@ version.h
 
-version.h:
-       if [ -d $(GIT_DIR) ]; then \
-               if [ -f $(GIT_DIR)/last_commit_info ]; then \
-                       echo "#define ENIGMA2_LAST_CHANGE_DATE \"`cat $(GIT_DIR)/last_commit_info | grep 'Date:' | cut -d' ' -f4`\"" > $@; \
-                       echo "#define ENIGMA2_BRANCH \"`cat $(GIT_DIR)/branch`\"" >> $@; \
-               else \
-                       echo "#define ENIGMA2_LAST_CHANGE_DATE \"`git --git-dir=$(top_srcdir)/.git log --no-color -n 1 --format=format:%cd --date=short`\"" > $@; \
-                       echo "#define ENIGMA2_BRANCH \"`git --git-dir=$(top_srcdir)/.git branch --no-color 2>/dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'`\"" >> $@; \
-               fi; \
-       elif [ ! -f $@ ]; then \
-               echo "#define ENIGMA2_LAST_CHANGE_DATE \"`date --rfc-3339=date`\"" > $@; \
-               echo "#define ENIGMA2_BRANCH \"$(PACKAGE_VERSION)\"" >> $@; \
-       fi;
-
-dist-hook:
-       echo "#define ENIGMA2_LAST_CHANGE_DATE \"`date --rfc-3339=date`\"" > version.h;
-       echo "#define ENIGMA2_BRANCH \"$(PACKAGE_VERSION)\"" >> version.h;
+enigma2$(EXEEXT): $(enigma2_OBJECTS) $(enigma2_DEPENDENCIES) $(enigma2_LDADD_WHOLE)
+       $(AM_V_CXXLD)$(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ $(enigma2_LDFLAGS) $(enigma2_OBJECTS) \
+               -Wl,--whole-archive $(enigma2_LDADD_WHOLE) -Wl,--no-whole-archive $(enigma2_LDADD) $(LIBS)