Skip to content

#granddaddy

Latest
Compare
Choose a tag to compare
@mcandre mcandre released this 17 Aug 05:21
· 12 commits to master since this release

Enhancements:

  • Temporarily narrow the PHONY_TARGET recommendation warning to ignore more empty-command targets.

Make inferred rules rely on empty command lists, however unmake has not yet implemented inferred rules. This caused previous scanning logic to trigger false positives for some valid makefiles. Out of an abundance of caution, disabling most of these warnings except for a short list of conventional phony targets such as all, clean, test, etc.

Planning to crack that inferred rule nut in the future. For now, applying the sage advice of wiser men like Simon Peyton Jones... It is better to accept some less than perfect programs than to reject too many valid programs.

A linter acts as a teacher, helping the user to adopt good habits. makefile authors are still encouraged to (manually) deeply analyze build systems for .PHONY worthy targets.

One suggested workaround for large, overly elaborate makefile configurations is to make clean [<additional targets>], for example when building projects locally. Legacy CI/CD systems should take additional steps to wipe the environment prior to each pipeline execution. Modern, ephemeral CI/CD pipelines automatically do this.