[FFmpeg-cvslog] r22420 - in trunk: Makefile common.mak

mru subversion
Wed Mar 10 03:56:57 CET 2010


Author: mru
Date: Wed Mar 10 03:56:56 2010
New Revision: 22420

Log:
Improve version.h generation

Force version.sh to run whenever the version might have changed,
regardless of what is being built.  This is done by attaching the
dependencies to a dummy file (.version) which is included from the
makefile.  As make will always attempt to rebuild any included files
before considering other rules, this ensures that the real version.h
is (re-)created before it is required by any source file.

Modified:
   trunk/Makefile
   trunk/common.mak

Modified: trunk/Makefile
==============================================================================
--- trunk/Makefile	Wed Mar 10 03:56:52 2010	(r22419)
+++ trunk/Makefile	Wed Mar 10 03:56:56 2010	(r22420)
@@ -85,7 +85,18 @@ tools/%.o: tools/%.c
 
 ffplay.o ffplay.d: CFLAGS += $(SDL_CFLAGS)
 
-cmdutils.o cmdutils.d: version.h
+VERSION_SH  = $(SRC_PATH_BARE)/version.sh
+SVN_ENTRIES = $(SRC_PATH_BARE)/.svn/entries
+
+.version: $(wildcard $(SVN_ENTRIES)) $(VERSION_SH) config.mak
+.version: M=@
+
+version.h .version:
+	$(M)$(VERSION_SH) $(SRC_PATH) $@ $(EXTRA_VERSION)
+	$(Q)touch .version
+
+# force version.sh to run whenever version might have changed
+-include .version
 
 alltools: $(TOOLS)
 

Modified: trunk/common.mak
==============================================================================
--- trunk/common.mak	Wed Mar 10 03:56:52 2010	(r22419)
+++ trunk/common.mak	Wed Mar 10 03:56:56 2010	(r22420)
@@ -54,14 +54,6 @@ CFLAGS   += $(ECFLAGS)
 
 %.c %.h: MSG = GEN
 
-SVN_ENTRIES = $(SRC_PATH_BARE)/.svn/entries
-ifeq ($(wildcard $(SVN_ENTRIES)),$(SVN_ENTRIES))
-$(BUILD_ROOT_REL)/version.h: $(SVN_ENTRIES)
-endif
-
-$(BUILD_ROOT_REL)/version.h: $(SRC_PATH_BARE)/version.sh config.mak
-	$(M)$< $(SRC_PATH) $@ $(EXTRA_VERSION)
-
 install: install-libs install-headers
 install-libs: install-libs-yes
 



More information about the ffmpeg-cvslog mailing list