-
Notifications
You must be signed in to change notification settings - Fork 111
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
This fixes issue #157 #159
base: master
Are you sure you want to change the base?
Conversation
Any idea or suggestion on how to figure out the check failure would be appreciated. |
What is Looking at how gmake handles --include-dir, it only applies to the |
Thank you for reviewing it and we'll take a look. |
* Move code to the function evaluating include directive and fix test case
Just when I got my hopes up that somebody might have FINALLY written a MakeThatUsesHashesInsteadOfTimestamps™, I look into issues and find years-old unmerged PR that would fix total showstoppers... |
for (auto inc_path : g_flags.include_dirs) { | ||
auto to_check = (inc_path + '/' + pat.data()); | ||
LOG("searching for %s in : %s", pat.data(), inc_path.c_str()); | ||
Glob(to_check.c_str(), &files); |
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.
It seems that in GNU make, the include directories are not searched using globs. You can test this with:
root/
Makefile - include foo*.mk
dir1
fooa.mk
make -Idir1 gives "foo*.mk: No such file or directory", but if you change the include to fooa.mk explicitly, it works.
--include-dir option is supported and a test case verifying it also is included.
As described in #157, this option can be used to specify include directory of makefiles thus allowing just to use include directive with only file names in makefile.