Replace Makefile with Justfile#16199
Conversation
|
Thank you for opening a new pull request. Before your PR can be merged it will first need to pass continuous integration tests and be reviewed. Sometimes the review process can be slow, so please be patient. While you're waiting, please feel free to review other open PRs. While only a subset of people are authorized to approve pull requests for merging, everyone is encouraged to review open pull requests. Doing reviews helps reduce the burden on the core team and helps make the project's code better for everyone. One or more of the following people are relevant to this code:
|
|
Thanks for this, and the interest in the project! Honestly, my tendency is against swapping away from Make here. I do think For Windows: yeah, it's not great, but GNU Make is available via Btw, I'd be totally open to PRs that allow POSIX Make instead of GNU Make so it's a little easier by default on macOS / BSDs, but I don't think that'd be easy, and I think GNU Make is standard enough we've not put in a huge amount of effort to mitigate it. |
|
Re maturity of Just: that's pretty much how I feel as well 🙇 Especially while working on this I felt user-defined functions could be appropriate for mkdir -p, rm -rf, etc. but those are an "unstable" language feature of Just, and needing to enable unstable features manually quite surprised me! The Make available on WinGet (from GnuWin32) to my knowledge is 2 decades old, and I'm not sure how it interacts with not having SH on the system. Regarding the C development experience, my main goal was simply being able to include qiskit-rs in a project built for Windows. Qiskit/qiskit-rs@6bc2005 fixes that particular issue but it's not in I'm not actually sure what parts of the current Makefile are non-POSIX. I'd have to go through and check. |
I originally just ported
just cbecause it's very hard to find a GNU Make for Windows, but I figured why not go the whole way and make a PR. No expectation for this to be merged, but since I went through the effort, I'll at least share 😄The new
Makefileforwards to Just. On my AArch64 Linux machine,fishcompletions properly detect the Just rules in tab completion frommake <TAB>.makewith no arguments remains forwarding tojust default.I felt Just was appropriate:
PHONY)justis as easy to install on the big 3 (Windows, Mac, Linux) asmakeis on LinuxesI've tested
just con amd64 Windows and AArch64 Linux, andjust cteston amd64 Windows. I don't have Conda on either machine so at the moment I haven't testedjust env.AI/LLM disclosure
conda run -noversource. This argument is demonstrated in Conda's own examples ofconda run.