aboutsummaryrefslogtreecommitdiff
path: root/src/makefile/functions.rs
diff options
context:
space:
mode:
authorMelody Horn <melody@boringcactus.com>2021-03-28 01:45:52 -0600
committerMelody Horn <melody@boringcactus.com>2021-03-28 01:45:52 -0600
commit82278c3a5aa93204c963a63cc3cfefea1d0fb3fd (patch)
tree88c7cb553025f98f5b3c81a1be174aaece9933af /src/makefile/functions.rs
parent5b27bf30d0887bab761559113417de38597ba958 (diff)
downloadmakers-82278c3a5aa93204c963a63cc3cfefea1d0fb3fd.tar.gz
makers-82278c3a5aa93204c963a63cc3cfefea1d0fb3fd.zip
lay down boilerplate for function calls
of all the obnoxious GNUisms, this will probably wind up being the largest. especially if huge makefiles (e.g. Linux) use most of the functions that GNU offers, meaning we have to implement most of them to be Linuxable
Diffstat (limited to 'src/makefile/functions.rs')
-rw-r--r--src/makefile/functions.rs31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/makefile/functions.rs b/src/makefile/functions.rs
new file mode 100644
index 0000000..bc39886
--- /dev/null
+++ b/src/makefile/functions.rs
@@ -0,0 +1,31 @@
+use super::token::TokenString;
+
+pub(crate) fn call(name: &str, args: &[TokenString]) -> TokenString {
+ match name {
+ // Text Functions
+ "filter" => todo!(),
+ "filter-out" => todo!(),
+ "sort" => todo!(),
+
+ // File Name Functions
+ "notdir" => todo!(),
+ "basename" => todo!(),
+ "addprefix" => todo!(),
+ "wildcard" => todo!(),
+
+ // foreach
+ "foreach" => todo!(),
+
+ // call
+ "call" => todo!(),
+
+ // eval
+ "eval" => todo!(),
+
+ // shell
+ "shell" => todo!(),
+
+ // fallback
+ _ => panic!("function not implemented: {}", name),
+ }
+}