Skip to content

Conversation

@jeffcharles
Copy link
Collaborator

Description of the change

Use explicit filepaths for dependencies for targets in the Makefile.

Why am I making this change?

With Makefiles, for a target, if all files it depends on exist and have older timestamps, then make won't run the commands to rebuild those files. This should allow us to simplify the Makefile.

Checklist

  • I've updated the default plugin import namespace and incremented the major version of javy-plugin-api if the QuickJS bytecode has changed.
  • I've updated the relevant CHANGELOG files if necessary. Changes to javy-cli, javy-plugin, and javy-plugin-processing do not require updating CHANGELOG files.
  • I've updated the relevant crate versions if necessary. Versioning policy for library crates
  • I've updated documentation including crate documentation if necessary.

@saulecabrera
Copy link
Member

for a target, if all files it depends on exist and have older timestamps, then make won't run the commands to rebuild those files. This should allow us to simplify the Makefile.

What's the difference between this approach and leaving it up to cargo to decide whether a rebuild is needed? Aside from the obvious: not needing to invoke cargo at all.

@jeffcharles
Copy link
Collaborator Author

What's the difference between this approach and leaving it up to cargo to decide whether a rebuild is needed?

The main one is there isn't currently a way to make Cargo aware that the javy-plugin crate needs to be compiled and compiled to wasm32-wasip2 with a release profile for javy-cli to compile to a native target. Otherwise they work under the same principle because Cargo's approach was inspired by Make's.

@jeffcharles jeffcharles marked this pull request as ready for review November 10, 2025 21:00
@saulecabrera saulecabrera merged commit cc31bf6 into main Nov 11, 2025
5 checks passed
@saulecabrera saulecabrera deleted the jc.simplify-makefile branch November 11, 2025 13:44
@jeffcharles jeffcharles mentioned this pull request Jan 5, 2026
4 tasks
jeffcharles added a commit that referenced this pull request Jan 5, 2026
jeffcharles added a commit that referenced this pull request Jan 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants