From 21c8b5ab5cf0bf9c48a68305213cc81b5af0cde5 Mon Sep 17 00:00:00 2001 From: Stefan Reinauer Date: Sat, 28 Feb 2009 12:50:32 +0000 Subject: With this patch the v2 build system will create a directory hierarchy similar to what v3 does. This is required to have two source files with the same name but in different directories. (As in, two different SuperIOs on board, with a superio.c each) Signed-off-by: Stefan Reinauer Acked-by: Peter Stuge git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3961 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- util/newconfig/config.g | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) (limited to 'util') diff --git a/util/newconfig/config.g b/util/newconfig/config.g index 0e741836e7..75d46793f1 100644 --- a/util/newconfig/config.g +++ b/util/newconfig/config.g @@ -329,9 +329,14 @@ class romimage: type = object_name[-1:] if (object_name[0] == '.'): source = base + suffix + object = base + '.o' else: - source = os.path.join(dirstack.tos(), base + suffix) - object = base + '.o' + rel_base = re.sub(treetop, "", os.path.join(dirstack.tos(), base)) + source = "$(TOP)/" + rel_base + suffix + if (rel_base[0] == '/'): + rel_base = re.sub("^/", "", rel_base) + object = rel_base + '.o' + debug.info(debug.object, "add object %s source %s" % (object_name, source)) l = getdict(dict, base) if (l): @@ -2378,6 +2383,30 @@ if __name__=='__main__': print "Creating directory %s" % img_dir os.makedirs(img_dir) + for objrule, obj in image.getobjectrules().items(): + sub_dir = img_dir + '/' + os.path.dirname(obj[0]) + if not os.path.isdir(sub_dir): + print "Creating sub directory %s" % sub_dir + os.makedirs(sub_dir) + + for driverrule, driver in image.getdriverrules().items(): + sub_dir = img_dir + '/' + os.path.dirname(driver[0]) + if not os.path.isdir(sub_dir): + print "Creating sub directory %s" % sub_dir + os.makedirs(sub_dir) + + for srule, smm in image.getsmmobjectrules().items(): + sub_dir = img_dir + '/' + os.path.dirname(smm[0]) + if not os.path.isdir(sub_dir): + print "Creating sub directory %s" % sub_dir + os.makedirs(sub_dir) + + for irule, init in image.getinitobjectrules().items(): + sub_dir = img_dir + '/' + os.path.dirname(init[0]) + if not os.path.isdir(sub_dir): + print "Creating sub directory %s" % sub_dir + os.makedirs(sub_dir) + if (debug.level(debug.dump)): for i in image.getinitincludes(): debug.info(debug.dump, "crt0include file %s" % i) -- cgit v1.2.3