summaryrefslogtreecommitdiff
path: root/tools/preprocess.py
blob: 4c43c2a7e31f3abd639fbc1386147b7a912f1406 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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)