diff options
-rw-r--r-- | src/makefile/macro.rs | 2 | ||||
-rw-r--r-- | src/makefile/mod.rs | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/makefile/macro.rs b/src/makefile/macro.rs index 3444e2c..fc3be51 100644 --- a/src/makefile/macro.rs +++ b/src/makefile/macro.rs @@ -221,7 +221,7 @@ impl<'parent, 'lookup> Set<'parent, 'lookup> { let name = self .expand(name) .wrap_err_with(|| format!("while expanding \"{}\"", name))?; - let internal_macro_names = &['@', '?', '<', '*'][..]; + let internal_macro_names = &['@', '?', '<', '*', '^'][..]; let internal_macro_suffices = &['D', 'F'][..]; let just_internal = name.len() == 1 && name.starts_with(internal_macro_names); let suffixed_internal = name.len() == 2 diff --git a/src/makefile/mod.rs b/src/makefile/mod.rs index ac6090e..eb06939 100644 --- a/src/makefile/mod.rs +++ b/src/makefile/mod.rs @@ -348,6 +348,8 @@ impl<'a> Makefile<'a> { // The $* macro shall evaluate to the current target name with // its suffix deleted. (GNUism: the match stem) vec![target.stem.as_ref().unwrap_or(&target.name).to_owned()] + } else if macro_name.starts_with('^') { + target.prerequisites.clone() } else { unreachable!() }; |