Skip to content

Releases: mcandre/unmake

#docker

07 Jan 19:45

Choose a tag to compare

  • Update Rust
  • Publish Docker images, yet another way to install unmake

#lockedin

04 Dec 05:55

Choose a tag to compare

Modernize lazy_static API members into std::sync::LazyLock

#float-up

16 Oct 20:38

Choose a tag to compare

  • Relax dependency pins to implicit caret, which allows rising semver equivalent versions
  • Update dependencies

#loud

31 Aug 00:53

Choose a tag to compare

unmake now warns on silent -include lines.

#soft

15 Jul 23:31

Choose a tag to compare

Warn on non-portable single colon equals (:=) operator, rather than treating it as a parsing concern.

#frfr

21 Jun 01:43

Choose a tag to compare

unmake now treats variable prerequisites as resolving missing .PHONY declarations.

#patch

20 Jun 00:32

Choose a tag to compare

  • Update Rust
  • Update crit
  • Update tinyrick & tinyrick_extras

#granddaddy

17 Aug 05:21

Choose a tag to 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.

#tarball

15 Jan 06:05

Choose a tag to compare

Replace zip archive with tarball for ease of Docker container injection.

#null

08 Jan 01:15

Choose a tag to compare

  • Add --print0 option to integrate with the common GNU/BSD | xargs -0 convention.