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
This commit is contained in:
parent
3c7f46b422
commit
21c8b5ab5c
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue