-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Makefile.include: only keep macros in riotbuild.h #12348
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
Makefile.include: only keep macros in riotbuild.h #12348
Conversation
There's a typo in the commit message ;) |
Rely on creating an intermediate riotbuild.h.in file that is updated on CFLAGS changes, but then generate 'riotbuild.h' without the comments. The updated timestamp will still trigger a rebuild but not cause ccache miss due to the content of the CFLAGS that contains absolute path. This removes the caching issue due to the absolute path that was added to `CFLAGS` and so the comment in that file.
0af1161
to
3bfe30a
Compare
Fixed, I only re-read the content and not the title >< |
This seems to recover the caching situation. Tihs PR:
This PR's mergebase:
Something else is off, two days ago there were 15k less files and ~50MB less data in cache after one build. But I think that's unrelated. |
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.
ACK.
Recovers Murdock caching to previous levels. sed'ing out the comment seems an OK solution.
Thanks for the review. I will do a test with removing completely the macros from that file. |
Contribution description
Rely on creating an intermediate riotbuild.h.in file that is updated on
CFLAGS changes, but then generate 'riotbuild.h' without the comments.
The updated timestamp will still trigger a rebuild but not cause ccache
miss due to the content of the CFLAGS that contains absolute path.
This removes the caching issue due to the absolute path that was
added to
CFLAGS
and so the comment in that file.Testing procedure
Low level testing procedure
The file
riotbuild.h
does not contain any absolute path anymore in a comment.File is not updated on rebuilding the same thing but is on
CFLAGS
change:The output shows that on the first rebuild, both the header and the object were not changed, but on the rebuild with a different CFLAGS, it was rebuild despite still having the same content in
riotbuild.h
.The file content is the same as before without the `CFLAGS` comment:
High level testing procedure
Changing a macro like the
RIOT_VERSION
without cleaning still re-builds:Hello-world with different RIOT_VERSION
And then just after
Caching impact
@kaspar030 testing procedure for the caching
Issues/PRs references
#12262 (comment)