summaryrefslogtreecommitdiff
path: root/tools/preprocess.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/preprocess.py')
-rwxr-xr-xtools/preprocess.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/tools/preprocess.py b/tools/preprocess.py
new file mode 100755
index 0000000..4c43c2a
--- /dev/null
+++ b/tools/preprocess.py
@@ -0,0 +1,27 @@
+#!/usr/bin/env python
+
+# SPDX-License-Identifier: LGPL-3.0-or-later
+# Copyright (C) 2020 Daniel Thompson
+"""Quick and dirty macro processor.
+
+Currently the only support macro is #include!
+"""
+
+import sys
+
+def preprocess(fname):
+ with open(fname) as f:
+ for ln in f.readlines():
+ ln = ln.rstrip()
+
+ macro = ln.lstrip()
+ if macro.startswith('#include'):
+ exec(macro[1:])
+ else:
+ print(ln)
+
+def include(fname):
+ preprocess(fname)
+
+for arg in sys.argv[1:]:
+ preprocess(arg)