CARVIEW |
Navigation Menu
-
Notifications
You must be signed in to change notification settings - Fork 5
Releases: mcandre/unmake
#soft
Compare
Warn on non-portable single colon equals (:=
) operator, rather than treating it as a parsing concern.
Assets 3
#frfr
Compare
unmake now treats variable prerequisites as resolving missing .PHONY declarations.
Assets 3
#patch
Compare
- Update Rust
- Update crit
- Update tinyrick & tinyrick_extras
Assets 3
#granddaddy
Compare
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.
Assets 3
#tarball
Compare
Replace zip archive with tarball for ease of Docker container injection.
Assets 3
#null
Compare
- Add
--print0
option to integrate with the common GNU/BSD| xargs -0
convention.
Assets 3
#ux
Compare
Clarify scanner logic. Register debug message when skipping include makefiles during dry run analysis.
Assets 3
#netbsd
Compare
- Fix port generation
- Add target x86_64-unknown-netbsd to precompiled binary archive
Assets 3
#options
Compare
- Add
-n
/--dry-run
passthrough option to external make implementation tools - Add
-l
/--list
option for integration with external linters - Add more test cases
- Update Rust
Assets 3
#onward
Compare
- Refine grammar to handle commands like
\curl
- Add new warning
RESERVED_TARGET
for use of non-special, reserved targets and prerequisites - Sort warnings by line number (roughly), for easier navigation