[coreboot] r3961 - in trunk/coreboot-v2: src/config src/cpu/x86/smm util/newconfig

svn at coreboot.org svn at coreboot.org
Sat Feb 28 13:50:32 CET 2009


Author: stepan
Date: 2009-02-28 13:50:32 +0100 (Sat, 28 Feb 2009)
New Revision: 3961

Modified:
   trunk/coreboot-v2/src/config/Config.lb
   trunk/coreboot-v2/src/cpu/x86/smm/Config.lb
   trunk/coreboot-v2/util/newconfig/config.g
Log:
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 at coresystems.de>
Acked-by: Peter Stuge <peter at stuge.se>



Modified: trunk/coreboot-v2/src/config/Config.lb
===================================================================
--- trunk/coreboot-v2/src/config/Config.lb	2009-02-27 23:09:55 UTC (rev 3960)
+++ trunk/coreboot-v2/src/config/Config.lb	2009-02-28 12:50:32 UTC (rev 3961)
@@ -45,8 +45,8 @@
 
 
 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

Modified: trunk/coreboot-v2/src/cpu/x86/smm/Config.lb
===================================================================
--- trunk/coreboot-v2/src/cpu/x86/smm/Config.lb	2009-02-27 23:09:55 UTC (rev 3960)
+++ trunk/coreboot-v2/src/cpu/x86/smm/Config.lb	2009-02-28 12:50:32 UTC (rev 3961)
@@ -27,8 +27,8 @@
 	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

Modified: trunk/coreboot-v2/util/newconfig/config.g
===================================================================
--- trunk/coreboot-v2/util/newconfig/config.g	2009-02-27 23:09:55 UTC (rev 3960)
+++ trunk/coreboot-v2/util/newconfig/config.g	2009-02-28 12:50:32 UTC (rev 3961)
@@ -329,9 +329,14 @@
 		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 @@
 			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)





More information about the coreboot mailing list