Skip to content
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 fixes #648

Merged
merged 6 commits into from
Nov 26, 2024
Merged

Makefile fixes #648

merged 6 commits into from
Nov 26, 2024

Conversation

ipatix
Copy link
Contributor

@ipatix ipatix commented Nov 21, 2024

See commit description.

What's still broken: After the .d files are generated for the first time, compilation has to run a second time, even though everything built successfully the first time.

Edit: Should be fixed now.

@ipatix ipatix force-pushed the makefile-fixes branch 5 times, most recently from 9e793d1 to e16eec1 Compare November 25, 2024 12:49
@ipatix ipatix marked this pull request as ready for review November 25, 2024 12:49
To briefly summarize:
- It's now possible to run make with --jobs, NOPARALLEL is removed
- .ONESHELL is removed, since it causes rules to not cancel if an error
  occurs. It's speedup is probably negligible anyway.
- Add --no-undefined to linker flags. This prevents undefined references
  going unnoticed during compilation. Previously, an undefined reference
  would have caused an error only at runtime, which is undesirable.,
- Remove unecessary dependencies on certain rules. E.g. 'all' in the
  top-level Makefile depended on BUILD_DIR and PERFMONHEADERS, which is
  clearly wrong. We don't really care about the headers when writing
  'make', what we care about is that PERFMONHEADERS are build when they
  are needed, which is only the case for C objects.
- likwid-bench linker flags are adjusted to use a non-executable stack,
  which fixes a warning.
- BUILD_DIR is removed as target and instead run individually for
  targets, which write files to BUILD_DIR.
- Q works again for debugging (it used to occur twice in the Makefile)
Previously, the sub makefiles would not compile the files they delcared
as target. Accordingly, they would always try to rebuild e.g. the .so
file, even though it was already up-to-date.
@ipatix ipatix merged commit d787795 into master Nov 26, 2024
2 checks passed
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