aboutsummaryrefslogtreecommitdiff
path: root/src/makefile/input.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/makefile/input.rs')
-rw-r--r--src/makefile/input.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/makefile/input.rs b/src/makefile/input.rs
index 700bf4b..601a159 100644
--- a/src/makefile/input.rs
+++ b/src/makefile/input.rs
@@ -766,6 +766,25 @@ endef
Ok(())
}
+ #[cfg(feature = "full")]
+ #[test]
+ fn elseif() -> R {
+ let file = "
+ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE
+ KBUILD_CFLAGS += -O2
+else ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3
+ KBUILD_CFLAGS += -O3
+else ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
+ KBUILD_CFLAGS += -Os
+endif
+FOO = bar
+";
+ let args = Args::empty();
+ let makefile = MakefileReader::read(&args, MacroSet::new(), Cursor::new(file))?;
+ assert_eq!(makefile.expand_macros(&TokenString::r#macro("FOO"))?, "bar",);
+ Ok(())
+ }
+
#[test]
#[cfg(feature = "full")]
fn eval() -> R {