From 028e1a631629c7f5959e522dee80188ea7534d8f Mon Sep 17 00:00:00 2001 From: Melody Horn Date: Sat, 27 Mar 2021 15:50:39 -0600 Subject: refactor makefile elements into submodules --- src/makefile/inference_rules.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/makefile/inference_rules.rs (limited to 'src/makefile/inference_rules.rs') diff --git a/src/makefile/inference_rules.rs b/src/makefile/inference_rules.rs new file mode 100644 index 0000000..3d18730 --- /dev/null +++ b/src/makefile/inference_rules.rs @@ -0,0 +1,22 @@ +use std::fmt; + +use crate::makefile::command_line::CommandLine; + +#[derive(PartialEq, Eq, Clone, Debug)] +pub struct InferenceRule { + /// POSIX calls this ".s1" but that's not useful. + pub product: String, + /// POSIX calls this ".s2" but that's not useful. + pub prereq: String, + pub commands: Vec, +} + +impl fmt::Display for InferenceRule { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + writeln!(f, "{}{}:", &self.prereq, &self.product)?; + for command in &self.commands { + writeln!(f, "\t{}", command)?; + } + Ok(()) + } +} -- cgit v1.2.3