Skip to content

3d: make --makefile honor --save_hashes#287

Open
tahina-pro wants to merge 4 commits into
project-everest:masterfrom
tahina-pro:_taramana_3d_makefile_save_hashes
Open

3d: make --makefile honor --save_hashes#287
tahina-pro wants to merge 4 commits into
project-everest:masterfrom
tahina-pro:_taramana_3d_makefile_save_hashes

Conversation

@tahina-pro
Copy link
Copy Markdown
Member

Thanks @nikswamy for reporting!

So far --save_hashes has worked only in default mode, not in Makefile generation mode (--makefile).

This PR adds support for --save_hashes in Makefile generation mode: it adds a --micro_step to generate the .json file to record the hashes and makes GenMakefile add a rule to generate that .json file.

tahina-pro and others added 4 commits May 20, 2026 10:04
Add a new MicroStepSaveHashes micro step and a corresponding Makefile
rule so that when --makefile and --save_hashes are both specified, the
generated Makefile includes rules to produce <Module>.json hash files.

Each hash rule depends on the .3d source file and all produced C/H
files for the module (Modul.c, Modul.h, and optionally ModulWrapper.c,
ModulWrapper.h, ModulStaticAssertions.c), mirroring what Batch.hashed_files
reads when computing hashes in --batch mode.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ck_hashes

Test that the generated Makefile produces .json hash files via the new
--__micro_step save_hashes, and that --check_hashes strong validates them.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add a second .3d module (Test2) to exercise --makefile + --save_hashes
with multiple modules, ensuring each gets its own .json hash file.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
When --save_hashes is used with --makefile, the generated Makefile now
includes an EVERPARSE_ALL_JSON_FILES variable listing all .json hash
files, consistent with the existing EVERPARSE_ALL_{H,C,O}_FILES.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.

1 participant