[newlib-cygwin] Cygwin: Makefile.in: Improve dependency for version info

Corinna Vinschen corinna@sourceware.org
Tue Jan 29 17:00:00 GMT 2019


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=c86b2f549bd099fdb56834d28a8103e8b9814e32

commit c86b2f549bd099fdb56834d28a8103e8b9814e32
Author: Corinna Vinschen <corinna@vinschen.de>
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 <corinna@vinschen.de>

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



More information about the Cygwin-cvs mailing list