diff options
-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) |