bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

make 4.0 invalid exit value for q option when targets out of date.


From: Krzysztof Cieniuch
Subject: make 4.0 invalid exit value for q option when targets out of date.
Date: Mon, 16 Dec 2013 11:20:50 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130625 Thunderbird/17.0.7

Hi,

Given following makefile in empty directory:
#==================
.PHONY: all

all: cap

cap:
    touch $(@)
#==================

Running make 3.81 from command line gives different exit code then 4.0 i.e

make 3.81
/usr/bin/make  -q ; echo $?
1

make 4.0
/opt/make-4.0/bin/make  -q ; echo $?
2


3.81 correctly reports that target is out of date (since there is no cap file in current dir) but make 4.0 reports that there is error but no error message is actually printed.

I traced down this to be a change in remake.c
(Modify the update_status field in struct file to be an enum. git commit 4b81f5ca920d716c08430583f5edb2c125f1f123 )

If I only revert below change in remake.c all works fine (for me that is

@@ -664,7 +666,7 @@ update_file_1 (struct file *file, unsigned int depth)

   if (dep_status != 0)
     {
-      file->update_status = dep_status;
+      file->update_status = us_failed;
       notice_finished_file (file);

Thanks
Krzysztof



reply via email to

[Prev in Thread] Current Thread [Next in Thread]