Author: stepan Date: Sun Feb 7 23:56:06 2010 New Revision: 5091 URL: http://tracker.coreboot.org/trac/coreboot/changeset/5091
Log: fix further build.h dependencies that were undetected before we enabled it on our parallel build server ;-)
Signed-off-by: Stefan Reinauer stepan@coresystems.de Acked-by: Stefan Reinauer stepan@coresystems.de
Modified: trunk/src/mainboard/amd/db800/Makefile.inc trunk/src/mainboard/amd/norwich/Makefile.inc trunk/src/mainboard/digitallogic/msm800sev/Makefile.inc trunk/src/mainboard/iei/pcisa-lx-800-r10/Makefile.inc trunk/src/mainboard/lippert/roadrunner-lx/Makefile.inc trunk/src/mainboard/lippert/spacerunner-lx/Makefile.inc
Modified: trunk/src/mainboard/amd/db800/Makefile.inc ============================================================================== --- trunk/src/mainboard/amd/db800/Makefile.inc Sun Feb 7 23:27:49 2010 (r5090) +++ trunk/src/mainboard/amd/db800/Makefile.inc Sun Feb 7 23:56:06 2010 (r5091) @@ -21,7 +21,7 @@
ifdef POST_EVALUATION
-$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c +$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c $(obj)/build.h $(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c -S $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c -o $@ perl -e 's/.rodata/.rom.data/g' -pi $@ perl -e 's/.text/.section .rom.text/g' -pi $@
Modified: trunk/src/mainboard/amd/norwich/Makefile.inc ============================================================================== --- trunk/src/mainboard/amd/norwich/Makefile.inc Sun Feb 7 23:27:49 2010 (r5090) +++ trunk/src/mainboard/amd/norwich/Makefile.inc Sun Feb 7 23:56:06 2010 (r5091) @@ -22,7 +22,7 @@
ifdef POST_EVALUATION
-$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c +$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c $(obj)/build.h $(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c -S $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c -o $@ perl -e 's/.rodata/.rom.data/g' -pi $@ perl -e 's/.text/.section .rom.text/g' -pi $@
Modified: trunk/src/mainboard/digitallogic/msm800sev/Makefile.inc ============================================================================== --- trunk/src/mainboard/digitallogic/msm800sev/Makefile.inc Sun Feb 7 23:27:49 2010 (r5090) +++ trunk/src/mainboard/digitallogic/msm800sev/Makefile.inc Sun Feb 7 23:56:06 2010 (r5091) @@ -22,7 +22,7 @@
ifdef POST_EVALUATION
-$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c +$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c $(obj)/build.h $(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c -S $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c -o $@ perl -e 's/.rodata/.rom.data/g' -pi $@ perl -e 's/.text/.section .rom.text/g' -pi $@
Modified: trunk/src/mainboard/iei/pcisa-lx-800-r10/Makefile.inc ============================================================================== --- trunk/src/mainboard/iei/pcisa-lx-800-r10/Makefile.inc Sun Feb 7 23:27:49 2010 (r5090) +++ trunk/src/mainboard/iei/pcisa-lx-800-r10/Makefile.inc Sun Feb 7 23:56:06 2010 (r5091) @@ -22,7 +22,7 @@
ifdef POST_EVALUATION
-$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c +$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c $(obj)/build.h $(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c -S $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c -o $@ perl -e 's/.rodata/.rom.data/g' -pi $@ perl -e 's/.text/.section .rom.text/g' -pi $@
Modified: trunk/src/mainboard/lippert/roadrunner-lx/Makefile.inc ============================================================================== --- trunk/src/mainboard/lippert/roadrunner-lx/Makefile.inc Sun Feb 7 23:27:49 2010 (r5090) +++ trunk/src/mainboard/lippert/roadrunner-lx/Makefile.inc Sun Feb 7 23:56:06 2010 (r5091) @@ -22,7 +22,7 @@
ifdef POST_EVALUATION
-$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c +$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c $(obj)/build.h $(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c -S $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c -o $@ perl -e 's/.rodata/.rom.data/g' -pi $@ perl -e 's/.text/.section .rom.text/g' -pi $@
Modified: trunk/src/mainboard/lippert/spacerunner-lx/Makefile.inc ============================================================================== --- trunk/src/mainboard/lippert/spacerunner-lx/Makefile.inc Sun Feb 7 23:27:49 2010 (r5090) +++ trunk/src/mainboard/lippert/spacerunner-lx/Makefile.inc Sun Feb 7 23:56:06 2010 (r5091) @@ -22,7 +22,7 @@
ifdef POST_EVALUATION
-$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c +$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c $(obj)/build.h $(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(src) -I. -c -S $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c -o $@ perl -e 's/.rodata/.rom.data/g' -pi $@ perl -e 's/.text/.section .rom.text/g' -pi $@
repository service wrote:
fix further build.h dependencies that were undetected before we enabled it on our parallel build server ;-)
..
+++ trunk/src/mainboard/amd/db800/Makefile.inc Sun Feb 7 23:56:06 2010 (r5091) @@ -21,7 +21,7 @@
ifdef POST_EVALUATION
-$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c +$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c $(obj)/build.h
Please talk a little more about this build.h again? I think it's a pretty unclean thing to deal with in mainboard directories.
Does it affect only romcc boards or only car boards or both?
How can we get rid of build.h completely? (Yes, I know I asked before.)
//Peter
Am 09.02.2010 08:45, schrieb Peter Stuge:
repository service wrote:
fix further build.h dependencies that were undetected before we enabled it on our parallel build server ;-)
..
+++ trunk/src/mainboard/amd/db800/Makefile.inc Sun Feb 7 23:56:06 2010 (r5091) @@ -21,7 +21,7 @@
ifdef POST_EVALUATION
-$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c +$(obj)/mainboard/$(MAINBOARDDIR)/auto.inc: $(src)/mainboard/$(MAINBOARDDIR)/cache_as_ram_auto.c $(obj)/build.h
Please talk a little more about this build.h again? I think it's a pretty unclean thing to deal with in mainboard directories.
I think we can get rid of that rule in mainboard directories altogether. Would that fix it?
Does it affect only romcc boards or only car boards or both?
All boards.
How can we get rid of build.h completely? (Yes, I know I asked before.)
What happens in the build: kconfig generates config.h, which carries all the CONFIG_* definitions. The build.h file is created by make rules and contains a couple more definitions, mostly those with COREBOOT_*, and an include of config.h.
There's no simple way to force make to wait for this file to be created except by telling it that _all_ files depend on it. First, it failed on some random coreboot object file. When we made all of those depend on build.h, make cleverly decided that these auto.incs above are "safe" to do parallely to build.h
Another approach to solve this conflict (apart from making everything depend on build.h) would be to generate build.h on config time. Not sure if that leads to desired results.
Patrick
Patrick Georgi wrote:
Please talk a little more about this build.h again? I think it's a pretty unclean thing to deal with in mainboard directories.
I think we can get rid of that rule in mainboard directories altogether. Would that fix it?
I think that would be a great improvement already!
Does it affect only romcc boards or only car boards or both?
All boards.
Thanks for clearing that up.
How can we get rid of build.h completely? (Yes, I know I asked before.)
What happens in the build: kconfig generates config.h, which carries all the CONFIG_* definitions. The build.h file is created by make rules and contains a couple more definitions, mostly those with COREBOOT_*, and an include of config.h.
Aha. Could we get COREBOOT_* into config.h somehow?
Maybe add functionality to Kconfig so that it adds all environment variables with a certain prefix to config.h?
There's no simple way to force make to wait for this file to be created except by telling it that _all_ files depend on it.
Of course. I think it would be nice to get rid of build.h completely and only have config.h with everything that is neccessary?
Another approach to solve this conflict (apart from making everything depend on build.h) would be to generate build.h on config time. Not sure if that leads to desired results.
How is the stuff in build.h used exactly?
//Peter
On 2/9/10 9:06 AM, Peter Stuge wrote:
What happens in the build: kconfig generates config.h, which carries all the CONFIG_* definitions. The build.h file is created by make rules and contains a couple more definitions, mostly those with COREBOOT_*, and an include of config.h.
Aha. Could we get COREBOOT_* into config.h somehow?
Why?
Maybe add functionality to Kconfig so that it adds all environment variables with a certain prefix to config.h?
Sounds hackish; the config would have to be rewritten for every compile. build.h contains build specific information, config.h contains configuration. That was the reason we created two files of them to begin with... In v2 it was only one file.
What about this:
We -include config.h and have dependencies on build.h only where needed. In theory this could be two object files. In practice it's a few more because we include the C file in every romstage.c.
Stefan
Am 09.02.2010 12:01, schrieb Stefan Reinauer:
We -include config.h and have dependencies on build.h only where needed. In theory this could be two object files. In practice it's a few more because we include the C file in every romstage.c.
Don't think we have to care. It's not user-visible anymore with my patch (see "Unify romstage.inc handling")
Patrick