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.

Originally committed as revision 22420 to svn://svn.ffmpeg.org/ffmpeg/trunk
release/0.6
Måns Rullgård 15 years ago
parent 93bff1de77
commit 6a53fffd77
  1. 13
      Makefile
  2. 8
      common.mak

@ -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)

@ -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

Loading…
Cancel
Save