diff options
author | Stefan Reinauer <stepan@coresystems.de> | 2009-02-28 12:50:32 +0000 |
---|---|---|
committer | Stefan Reinauer <stepan@openbios.org> | 2009-02-28 12:50:32 +0000 |
commit | 21c8b5ab5cf0bf9c48a68305213cc81b5af0cde5 (patch) | |
tree | 69a78e8075856842ee8ea9bd1fff295d1c077270 | |
parent | 3c7f46b42215502ecaee54c85f6d08dce9e21279 (diff) |
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 <stepan@coresystems.de>
Acked-by: Peter Stuge <peter@stuge.se>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3961 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r-- | src/config/Config.lb | 4 | ||||
-rw-r--r-- | src/cpu/x86/smm/Config.lb | 4 | ||||
-rw-r--r-- | util/newconfig/config.g | 33 |
3 files changed, 35 insertions, 6 deletions
diff --git a/src/config/Config.lb b/src/config/Config.lb index 85f1632b93..d341b1fbcc 100644 --- a/src/config/Config.lb +++ b/src/config/Config.lb @@ -45,8 +45,8 @@ end makerule coreboot_ram.o - depends "$(DRIVER) coreboot.a $(LIBGCC_FILE_NAME)" - action "$(CC) $(DISTRO_LFLAGS) -nostdlib -r -o $@ c_start.o $(DRIVER) coreboot.a $(LIBGCC_FILE_NAME)" + depends "$(TOP)/src/arch/$(ARCH)/lib/c_start.o $(DRIVER) coreboot.a $(LIBGCC_FILE_NAME)" + action "$(CC) $(DISTRO_LFLAGS) -nostdlib -r -o $@ $^" end makerule coreboot_ram diff --git a/src/cpu/x86/smm/Config.lb b/src/cpu/x86/smm/Config.lb index 8edbabdf3d..652cb2de7f 100644 --- a/src/cpu/x86/smm/Config.lb +++ b/src/cpu/x86/smm/Config.lb @@ -27,8 +27,8 @@ if HAVE_SMI_HANDLER smmobject smihandler.o makerule smm.o - depends "$(SMM-OBJECTS) printk.o vtxprintf.o $(LIBGCC_FILE_NAME)" - action "$(CC) $(DISTRO_LFLAGS) -nostdlib -r -o $@ $(SMM-OBJECTS) printk.o vtxprintf.o $(LIBGCC_FILE_NAME)" + depends "$(SMM-OBJECTS) $(TOP)/src/console/printk.o $(TOP)/src/console/vtxprintf.o $(LIBGCC_FILE_NAME)" + action "$(CC) $(DISTRO_LFLAGS) -nostdlib -r -o $@ $^" end makerule smm 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) |