https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=c86b2f549bd099fdb56834d28a8103e8b9814e32
commit c86b2f549bd099fdb56834d28a8103e8b9814e32 Author: Corinna Vinschen <[email protected]> Date: Tue Jan 29 17:33:59 2019 +0100 Cygwin: Makefile.in: Improve dependency for version info The version info only depends on the object files. This results in the version info not being rebuild immediately if a source file is changed. Rather, the version info is only rebuilt on the next make run. Fix that by making the version info build rule dependent on the source files. Signed-off-by: Corinna Vinschen <[email protected]> Diff: --- winsup/cygwin/Makefile.in | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/Makefile.in b/winsup/cygwin/Makefile.in index ecdabb0..4dc849b 100644 --- a/winsup/cygwin/Makefile.in +++ b/winsup/cygwin/Makefile.in @@ -761,7 +761,12 @@ libssp.a: ${LIB_NAME} $(newlib_build)/libc/ssp/lib.a ${EXTRALIBS}: lib%.a: %.o $(AR) cru $@ $? -winver.o: mkvers.sh include/cygwin/version.h winver.rc $(DLL_OFILES) +# Every time we touch a source file, the version info has to be rebuilt +# to maintain a correct build date, especially in uname release output +find_src_files = $(wildcard $(dir)/*.[chS]) $(wildcard $(dir)/*.cc) +src_files := $(foreach dir,$(VPATH),$(find_src_files)) + +winver.o: mkvers.sh include/cygwin/version.h winver.rc $(src_files) @echo "Making version.cc and winver.o";\ /bin/sh ${word 1,$^} ${word 2,$^} ${word 3,$^} $(WINDRES) ${CFLAGS} $(addprefix -I,${CCWRAP_SYSTEM_HEADERS} ${CCWRAP_DIRAFTER_HEADERS})
