aboutsummaryrefslogtreecommitdiffstats
path: root/amalgamate/merge_all.py
diff options
context:
space:
mode:
Diffstat (limited to 'amalgamate/merge_all.py')
-rw-r--r--amalgamate/merge_all.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/amalgamate/merge_all.py b/amalgamate/merge_all.py
index 7935ead..fe7b50f 100644
--- a/amalgamate/merge_all.py
+++ b/amalgamate/merge_all.py
@@ -1,13 +1,20 @@
import glob
+import os
import re
from collections import defaultdict
+import sys
+
+header_path = "../include"
+if len(sys.argv) > 1:
+ header_path = sys.argv[1]
+
OUTPUT = 'crow_all.h'
re_depends = re.compile('^#include "(.*)"', re.MULTILINE)
-headers = [x.rsplit('/',1)[-1] for x in glob.glob('../include/*.h')]
+headers = [x.rsplit('/',1)[-1] for x in glob.glob(os.path.join(header_path,'*.h'))]
print headers
edges = defaultdict(list)
for header in headers:
- d = open("../include/" + header).read().decode('utf8')
+ d = open(os.path.join(header_path, header)).read().decode('utf8')
match = re_depends.findall(d)
for m in match:
# m should included before header
@@ -36,7 +43,7 @@ for x in edges:
print order
build = []
for header in order:
- d = open("../include/" + header).read().decode('utf8')
+ d = open(os.path.join(header_path, header)).read().decode('utf8')
build.append(re_depends.sub(lambda x:'\n', d))
build.append('\n')