-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor MPS Makefile to support separate build directories #62
Conversation
Turns out Ubuntu 22.04, which we use for CI, packages the correct verilator version for building MPS. This means we can install all the necessary dependencies via |
Copies of the generated source files are checked into this repo. However, depending on the order in which files are created by git, the generated code might be older than the Cryptol models, and `make` will thus try to run the code generators. This commit disables the code generator rules unless the user sets `REGENERATE_SOURCES`.
97b6e12
to
b2066fd
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
This branch refactors the MPS
src/Makefile
to put all generated files (except the final binary) in a build directory and to use separate build directories for separate configurations. For example, this allows for the following:This produces separate
rts.self_test
andrts.no_self_test.aarch64
binaries. Object files and other intermediate files are placed in separatebuild.self_test/
andbuild.self_test.aarch64/
directories, so they don't conflict and there's no need tomake clean
between the two builds.If
CONFIG
andTARGET
aren't specified, it's still possible to configure the build by specifying options directly:This produces an unsuffixed
rts
binary and usesbuild/
for intermediate files.Fixes #49
Checklist before requesting a review