summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Schodet2016-03-16 15:10:15 +0100
committerNicolas Schodet2019-10-07 00:44:57 +0200
commit567a61a4b4053a715d57efa278fa733e50bf1db6 (patch)
tree10a627bdd779b8a65755a4a34ed7d59f177650ea
parent792683ddfcffcec899b775b28bb8786cd9af0a28 (diff)
ucoo/base/fs/romfs: add --search-path option for mkromfs
-rwxr-xr-xucoo/base/fs/romfs/mkromfs.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/ucoo/base/fs/romfs/mkromfs.py b/ucoo/base/fs/romfs/mkromfs.py
index f9f9393..4934214 100755
--- a/ucoo/base/fs/romfs/mkromfs.py
+++ b/ucoo/base/fs/romfs/mkromfs.py
@@ -25,6 +25,7 @@
import argparse
import struct
import sys
+import os
p = argparse.ArgumentParser(description=__doc__)
p.add_argument('-o', '--output', type=argparse.FileType('w'),
@@ -32,6 +33,9 @@ p.add_argument('-o', '--output', type=argparse.FileType('w'),
metavar='FILE', help='output file')
p.add_argument('-i', '--header', metavar='VARNAME',
help='generate C header file')
+p.add_argument('-p', '--search-path', action='append', metavar='PATH',
+ default = [],
+ help='search files in PATH, can be used several times')
p.add_argument('-S', '--not-static', dest='static',
action='store_const', const='', default='static ',
help='do not output static keyword')
@@ -51,7 +55,13 @@ for f in files:
index += len(f)
indexes.append(index)
for f in files:
- with open(f) as fd:
+ for p in options.search_path:
+ fp = os.path.join(p, f)
+ if os.path.exists(fp):
+ break
+ else:
+ fp = f
+ with open(fp) as fd:
content = fd.read()
index += len(content)
indexes.append(index)