bugmake - Bugs: bug #54675, avoid redundant recipe warning for...


bug #54675: avoid redundant recipe warning for identical recipes

Submitter:  David Boyce <boyski>
Submitted:  Tue 18 Sep 2018 01:23:09 AM UTC
Severity:  3 - Normal Item Group:  Enhancement
Status:  None Privacy:  Public
Assigned to:  None Open/Closed:  Open
Component Version:  4.3 Operating System:  None
Fixed Release:  None Triage Status:  None
* Mandatory Fields

Add a New Comment Rich Markup

Tue 18 Sep 2018 01:23:09 AM UTC, original submission:  

I'm wondering whether it might be reasonable to skip the redundant-recipe warnings if the recipes are identical anyway. Test case:

% cat makefile
.PHONY: all
foo:; touch $@
foo:; touch $@

% make
makefile:5: warning: overriding recipe for target 'foo'
makefile:4: warning: ignoring old recipe for target 'foo'
make: Nothing to be done for 'all'.

It looks like this might be avoidable with a strcmp in read.c around line 2113 (in current SCM) though I'm not in a position to try it now.

This comes up because I have various macros and helper makefiles which generate rules to create directory paths. The recipe to create a directory will in all cases be "mkdir $@" in my use case but when multiple macros end up generating identical rules these spurious warnings are still printed. Of course it can be programmed around but I wonder whether it's worth giving the warning at all here.

David Boyce <boyski>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by boyski (Submitted the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.


    No changes have been made to this item

    Back to the top

    Powered by Savane 3.13-04b1.
    Corresponding source code