URL:
<http://savannah.gnu.org/bugs/?37708>
Summary: File rules compare wrong own timestamps
Project: make
Submitted by: None
Submitted on: Sat 10 Nov 2012 06:18:16 PM UTC
Severity: 3 - Normal
Item Group: Bug
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Component Version: 3.81
Operating System: POSIX-Based
Fixed Release: None
Triage Status: None
_______________________________________________________
Details:
Have test makefile:
.SILENT:
.PHONY: depended_remake_always
all : depended_remake_always main
depended_remake_always :
if [ \( ! -e ./depended_real_file \) -o \( ./depended -nt
./depended_real_file \) ]; then \
touch depended_real_file; \
echo depended_real_file remade; \
fi
depended_real_file: depended_remake_always
#
main: depended_real_file
echo "about to do main"
touch main
in command line
touch depended
make -f test.mak main
doesn't proceed rule main while depended_remake_always made. It happens
because timestamps of main and depended_real_file compared on wrong stage:
namely BEFORE depended_real_file rule FULLY executes.
As workaround
touch depended
make -f test.mak all
works as it should
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?37708>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
_______________________________________________
Bug-make mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-make