[LinuxBIOS] [PATCH] [v3] create map files, clean up

Stefan Reinauer stepan at coresystems.de
Mon Jul 23 12:44:24 CEST 2007


* Uwe Hermann <uwe at hermann-uwe.de> [070723 11:54]:
> > +# These are possibly not permanent
> > +INITRAM_OBJ := $(INITRAM_OBJ) $(obj)/lib/console.o
> > +INITRAM_OBJ := $(INITRAM_OBJ) $(obj)/lib/vtxprintf.o
> > +INITRAM_OBJ := $(INITRAM_OBJ) $(obj)/lib/uart8250.o
> > +INITRAM_OBJ := $(INITRAM_OBJ) $(obj)/arch/x86/post_code.o
> 
> INITRAM_OBJ := $(obj)/lib/console.o $(obj)/lib/vtxprintf.o \
> 	       $(obj)/lib/uart8250.o $(obj)/arch/x86/post_code.o
> 
> (is a bit shorter)
 
INITRAM_OBJ := $(INITRAM_OBJ) $(obj)/lib/console.o $(obj)/lib/vtxprintf.o \
 	       $(obj)/lib/uart8250.o $(obj)/arch/x86/post_code.o

would be the way to go I think. 

> >  $(obj)/device/%.o: $(src)/device/%.c
> > -	$(Q)mkdir -p $(obj)/device
> > +	$(Q)mkdir -p $(dir $@)
> >  	$(Q)printf "  CC      $(subst $(shell pwd)/,,$(@))\n"
> >  	$(Q)$(CC) $(INITCFLAGS) -c $< -o $@
> 
> This is for a later patch, but can we have a generic rule for this
> kind of thing? So that you only have to say 'FOO_OBJ += foo.o'
> in the Makefiles?
 
Yes, that should be the goal I think. I did that for the mainboard/ code
already, but there's still a lot of potential.

> > +$(obj)/southbridge/%.o: $(src)/southbridge/%.c $(obj)/statictree.h
> > +	$(Q)mkdir -p $(dir $@)
> > +	$(Q)printf "  CC      $(subst $(shell pwd)/,,$(@))\n"
> > +	$(Q)$(CC) $(INITCFLAGS) -c $< -o $@
> 
> All of the above are almost identical. Can they be merged easily?
 
good question. They have a different paths and not all files have the 
dependency to statictree.h, otherwise we could hit them with a global
rule. Maybe we can somehow...?

I will play some more to get this right, but I did not want to pile this
stuff up forever, as Marc was waiting for the post_code part while I got
into messing with the Makefiles..

> >  		printf "Error. Bootblock got too big.\n" || true
> > +	$(Q)printf "  NM      $(subst $(shell pwd)/,,$(@))\n"
> > +	$(Q)$(NM) $(obj)/stage0.o |sort -u > $(obj)/stage0.init.map
>                                    ^
>                             missing space
> 
> I'd rename Rules.make to Makefile.rules, but other than that:
> 
> Acked-by: Uwe Hermann <uwe at hermann-uwe.de>

Thanks...

-- 
coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
      Tel.: +49 761 7668825 • Fax: +49 761 7664613
Email: info at coresystems.dehttp://www.coresystems.de/
Registergericht: Amtsgericht Freiburg • HRB 7656
Geschäftsführer: Stefan Reinauer • Ust-IdNr.: DE245674866




More information about the coreboot mailing list