diff --git a/Makefile b/Makefile index 84944a8413..63cad7a27e 100644 --- a/Makefile +++ b/Makefile @@ -48,45 +48,50 @@ CFLAGS := -Os -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \ -ffreestanding -fno-builtin HOSTCC := gcc -HOSTCFLAGS := -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer +HOSTCFLAGS := -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer LINUXBIOSINCLUDE := -I$(src) -Iinclude \ -I$(src)/include \ -I$(src)/include/cpu/generic/$(ARCH)/ \ -include $(obj)/config.h +# make silent per default +Q := @ CPPFLAGS := $(LINUXBIOSINCLUDE) export src obj KERNELVERSION ifeq ($(strip $(have_dotconfig)),) + all: - @echo "run make menuconfig first" + $(Q)echo "Please run make menuconfig, xconfig or config first." + else + include $(src)/.config all: prepare prepare2 $(obj)/linuxbios.rom - @echo "build process finished." -endif - - -include util/Makefile -#include mainboards/Makefile -include arch/$(ARCH)/Makefile + $(Q)echo "build process finished." MAINBOARDDIR=$(shell echo $(CONFIG_MAINBOARD_NAME)) --include mainboard/$(MAINBOARDDIR)/Makefile + +include arch/$(ARCH)/Makefile +include mainboard/$(MAINBOARDDIR)/Makefile +endif + +include util/Makefile + prepare: - @mkdir -p $(obj) + $(Q)mkdir -p $(obj) prepare2: - @cp $(src)/.tmpconfig.h $(obj)/config.h + $(Q)cp $(src)/.tmpconfig.h $(obj)/config.h clean: - @echo "Cleaning up..." - rm -rf $(obj) - + $(Q)echo "Cleaning up..." + $(Q)rm -rf $(obj) %.o: %.c - $(CC) $(CFLAGS) -o $@ -c $< + $(Q)echo "Compiling $<" + $(Q)$(CC) $(CFLAGS) -o $@ -c $< diff --git a/arch/x86/Makefile b/arch/x86/Makefile index a8f9261533..a8490b795f 100644 --- a/arch/x86/Makefile +++ b/arch/x86/Makefile @@ -19,7 +19,7 @@ ## $(obj)/linuxbios.rom: $(obj)/linuxbios.lar $(obj)/stage0.init $(obj)/linuxbios.vpd - @cat $(obj)/linuxbios.lar \ + $(Q)cat $(obj)/linuxbios.lar \ $(obj)/linuxbios.vpd \ $(obj)/stage0.init > \ $(obj)/linuxbios.rom @@ -67,7 +67,7 @@ $(obj)/linuxbios.stage2: $(obj)/stage0.init $(obj)/statictree.o -o $(obj)/linuxbios.stage2.o stage2.o device.o \ device_util.o mem.o malloc.o clog2.o mainboard.o \ statictree.o - objcopy -O binary $(obj)/linuxbios.stage2.o $(obj)/linuxbios.stage2 + $(Q)objcopy -O binary $(obj)/linuxbios.stage2.o $(obj)/linuxbios.stage2 $(Q)chmod 644 $(obj)/linuxbios.stage2 @@ -105,34 +105,34 @@ $(obj)/linuxbios.lar: $(obj)/util/lar/lar lzma $(obj)/linuxbios.initram $(obj)/l INITCFLAGS := $(CFLAGS) -I$(src)/include/cpu/generic/x86 -I$(src)/include -fno-builtin $(obj)/stage0.init: - @echo Building linuxbios.init + $(Q)echo Building linuxbios.init # Building asm stub - @$(CC) -E $(LINUXBIOSINCLUDE) $(src)/arch/x86/stage0_i586.S -o $(obj)/stage0_i586.s -DBOOTBLK=0x1f00 -DRESRVED=0xf0 -DDATE=\"`date +%Y/%m/%d`\" - @$(AS) $(obj)/stage0_i586.s -o $(obj)/stage0_i586.o + $(Q)$(CC) -E $(LINUXBIOSINCLUDE) $(src)/arch/x86/stage0_i586.S -o $(obj)/stage0_i586.s -DBOOTBLK=0x1f00 -DRESRVED=0xf0 -DDATE=\"`date +%Y/%m/%d`\" + $(Q)$(AS) $(obj)/stage0_i586.s -o $(obj)/stage0_i586.o # Building cachemain $(CC) $(INITCFLAGS) -c $(src)/arch/x86/cachemain.c -o $(obj)/cachemain.o # - @$(CC) $(INITCFLAGS) -c $(src)/lib/lar.c -o $(obj)/lar.o + $(Q)$(CC) $(INITCFLAGS) -c $(src)/lib/lar.c -o $(obj)/lar.o # # console lib - @$(CC) $(INITCFLAGS) -c $(src)/arch/x86/console.c -o $(obj)/console.o - @$(CC) $(INITCFLAGS) -c $(src)/arch/x86/serial.c -o $(obj)/serial.o - @$(CC) $(INITCFLAGS) -c $(src)/console/vtxprintf.c -o $(obj)/vtxprintf.o - @$(CC) $(INITCFLAGS) -c $(src)/console/vsprintf.c -o $(obj)/vsprintf.o - @$(CC) $(INITCFLAGS) -c $(src)/lib/uart8250.c -o $(obj)/uart8250.o + $(Q)$(CC) $(INITCFLAGS) -c $(src)/arch/x86/console.c -o $(obj)/console.o + $(Q)$(CC) $(INITCFLAGS) -c $(src)/arch/x86/serial.c -o $(obj)/serial.o + $(Q)$(CC) $(INITCFLAGS) -c $(src)/console/vtxprintf.c -o $(obj)/vtxprintf.o + $(Q)$(CC) $(INITCFLAGS) -c $(src)/console/vsprintf.c -o $(obj)/vsprintf.o + $(Q)$(CC) $(INITCFLAGS) -c $(src)/lib/uart8250.c -o $(obj)/uart8250.o # other lib parts - @$(CC) $(INITCFLAGS) -c $(src)/lib/mem.c -o $(obj)/mem.o + $(Q)$(CC) $(INITCFLAGS) -c $(src)/lib/mem.c -o $(obj)/mem.o - @cd $(obj); $(CC) -m32 -nostdlib -static -T $(src)/arch/x86/ldscript.ld cachemain.o console.o uart8250.o \ + $(Q)cd $(obj); $(CC) -m32 -nostdlib -static -T $(src)/arch/x86/ldscript.ld cachemain.o console.o uart8250.o \ serial.o vtxprintf.o vsprintf.o lar.o mem.o stage0_i586.o -o stage0.o - @objcopy -O binary $(obj)/stage0.o $(obj)/stage0.init.pre + $(Q)objcopy -O binary $(obj)/stage0.o $(obj)/stage0.init.pre # Pad boot block to 0x2000 - 0x100 # we will probably remove this step -- not needed if we continue with ldscript.ld - @dd if=$(obj)/stage0.init.pre of=$(obj)/stage0.init bs=7936 conv=sync - @echo "Len: `wc -c < $(obj)/stage0.init.pre`" + $(Q)dd if=$(obj)/stage0.init.pre of=$(obj)/stage0.init bs=7936 conv=sync + $(Q)echo "Len: `wc -c < $(obj)/stage0.init.pre`" # - @test `wc -c < $(obj)/stage0.init.pre` -gt 7936 && echo "Error. Bootblock got too big" || true + $(Q)test `wc -c < $(obj)/stage0.init.pre` -gt 7936 && echo "Error. Bootblock got too big" || true diff --git a/mainboard/emulation/qemu-i386/Makefile b/mainboard/emulation/qemu-i386/Makefile index 70d9767772..8560c3c83f 100644 --- a/mainboard/emulation/qemu-i386/Makefile +++ b/mainboard/emulation/qemu-i386/Makefile @@ -25,30 +25,19 @@ # $(obj)/linuxbios.vpd: - @printf "Building dummy VPD ..." - @dd if=/dev/zero of=$(obj)/linuxbios.vpd bs=256 count=1 - @printf "ok.\n" + $(Q)printf "Building dummy VPD ..." + $(Q)dd if=/dev/zero of=$(obj)/linuxbios.vpd bs=256 count=1 + $(Q)printf "ok.\n" # # this is going to be the init ram code: # -$(obj)/linuxbios.initram: $(obj)/stage0.o +$(obj)/linuxbios.initram: $(obj)/stage0.init $(obj)/stage0.o $(Q)echo Building linuxbios.initram - # - # main + # initram links against stage0 $(Q)$(CC) $(INITCFLAGS) -c $(src)/mainboard/$(MAINBOARDDIR)/initram.c -o $(obj)/initram.o - # - # console lib - #$(Q)$(CC) $(INITCFLAGS) -c $(src)/arch/x86/console.c -o $(obj)/console.o - #$(Q)$(CC) $(INITCFLAGS) -c $(src)/arch/x86/serial.c -o $(obj)/serial.o - #$(Q)$(CC) $(INITCFLAGS) -c $(src)/console/vtxprintf.c -o $(obj)/vtxprintf.o - #$(Q)$(CC) $(INITCFLAGS) -c $(src)/lib/uart8250.c -o $(obj)/uart8250.o - - #cd $(obj); $(Q)$(LD) -Ttext 0x00000000 -s --oformat binary initram.o console.o uart8250.o \ - # serial.o vtxprintf.o -o $(obj)/linuxbios.initram - $(Q)$(LD) -R $(obj)/stage0.o -Ttext 0x80000 $(obj)/initram.o \ -o $(obj)/linuxbios.initram.o @@ -61,10 +50,10 @@ $(obj)/linuxbios.initram: $(obj)/stage0.o $(obj)/mainboard.o: $(obj)/statictree.o $(obj)/statictree.o: $(obj)/statictree.c - $(CC) $(CFLAGS) $(LINUXBIOSINCLUDE) -c -o $(obj)/statictree.o $(obj)/statictree.c + $(Q)$(CC) $(CFLAGS) $(LINUXBIOSINCLUDE) -c -o $(obj)/statictree.o $(obj)/statictree.c $(obj)/statictree.c: mainboard/$(MAINBOARDDIR)/dts $(obj)/util/dtc/dtc - $(obj)/util/dtc/dtc -O lb mainboard/$(MAINBOARDDIR)/dts >$(obj)/statictree.c + $(Q)$(obj)/util/dtc/dtc -O lb mainboard/$(MAINBOARDDIR)/dts >$(obj)/statictree.c diff --git a/util/Makefile b/util/Makefile index 50a591504d..7dea5ea34d 100644 --- a/util/Makefile +++ b/util/Makefile @@ -18,10 +18,7 @@ ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ## - include util/lar/Makefile include util/dtc/Makefile include util/kconfig/Makefile - - diff --git a/util/dtc/Makefile b/util/dtc/Makefile index b7d709dd81..34dfb3fe46 100644 --- a/util/dtc/Makefile +++ b/util/dtc/Makefile @@ -13,47 +13,50 @@ DEPFILES = $(DTC_OBJS:.o=.d) #all: $(TARGETS) $(obj)/util/dtc/dtc: $(patsubst %,$(obj)/%,$(DTC_OBJS)) - mkdir -p $(obj)/util/dtc/ - $(LINK.c) -o $@ $^ + $(Q)mkdir -p $(obj)/util/dtc/ + $(Q)$(LINK.c) -o $@ $^ ftdump: ftdump.o - $(LINK.c) -o $@ $^ + $(Q)$(LINK.c) -o $@ $^ $(obj)/dtc-parser.tab.c $(obj)/dtc-parser.tab.h $(obj)/dtc-parser.output: $(src)/util/dtc/dtc-parser.y - cd $(obj); $(BISON) -d $< + $(Q)cd $(obj); $(BISON) -d $< &> $(obj)/dtc.bison.out $(obj)/lex.yy.c: $(src)/util/dtc/dtc-lexer.l - cd $(obj); $(LEX) $< - -#lex.yy.o: lex.yy.c dtc-parser.tab.h - -check: all - cd tests && $(MAKE) check + $(Q)cd $(obj); $(LEX) $< $(obj)/dtc.o: $(src)/util/dtc/dtc.c - $(HOSTCC) $(HOSTCFLAGS) -o $@ -c $< + $(Q)$(HOSTCC) $(HOSTCFLAGS) -o $@ -c $< $(obj)/livetree.o: $(src)/util/dtc/livetree.c - $(HOSTCC) $(HOSTCFLAGS) -o $@ -c $< + $(Q)$(HOSTCC) $(HOSTCFLAGS) -o $@ -c $< $(obj)/flattree.o: $(src)/util/dtc/flattree.c - $(HOSTCC) $(HOSTCFLAGS) -o $@ -c $< + $(Q)$(HOSTCC) $(HOSTCFLAGS) -o $@ -c $< $(obj)/data.o: $(src)/util/dtc/data.c - $(HOSTCC) $(HOSTCFLAGS) -o $@ -c $< + $(Q)$(HOSTCC) $(HOSTCFLAGS) -o $@ -c $< $(obj)/treesource.o: $(src)/util/dtc/treesource.c - $(HOSTCC) $(HOSTCFLAGS) -o $@ -c $< + $(Q)$(HOSTCC) $(HOSTCFLAGS) -o $@ -c $< $(obj)/fstree.o: $(src)/util/dtc/fstree.c - $(HOSTCC) $(HOSTCFLAGS) -o $@ -c $< + $(Q)$(HOSTCC) $(HOSTCFLAGS) -o $@ -c $< $(obj)/dtc-parser.tab.o: $(obj)/dtc-parser.tab.c - $(HOSTCC) -I$(src)/util/dtc $(HOSTCFLAGS) -o $@ -c $< + $(Q)$(HOSTCC) -I$(src)/util/dtc $(HOSTCFLAGS) -o $@ -c $< $(obj)/lex.yy.o: $(obj)/lex.yy.c $(obj)/dtc-parser.tab.h - $(HOSTCC) -I$(src)/util/dtc $(HOSTCFLAGS) -o $@ -c $< + $(Q)$(HOSTCC) -I$(src)/util/dtc $(HOSTCFLAGS) -o $@ -c $< -#clean: -# rm -f *~ *.o a.out core $(TARGETS) -# rm -f *.tab.[ch] lex.yy.c -# rm -f *.i *.output vgcore.* -# rm -f *.d -# cd tests && $(MAKE) clean +ifdef DTC_DEBUG + +lex.yy.o: lex.yy.c dtc-parser.tab.h + +check: all + $(Q)cd tests && $(MAKE) check + +clean: + $(Q)rm -f *~ *.o a.out core $(TARGETS) + $(Q)rm -f *.tab.[ch] lex.yy.c + $(Q)rm -f *.i *.output vgcore.* + $(Q)rm -f *.d + $(Q)cd tests && $(MAKE) clean +endif %.d: %.c $(CC) -MM -MG -MT "$*.o $@" $< > $@ diff --git a/util/kconfig/Makefile b/util/kconfig/Makefile index fbd9eedaec..c0e0534c31 100644 --- a/util/kconfig/Makefile +++ b/util/kconfig/Makefile @@ -5,53 +5,35 @@ .PHONY: oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config xconfig: prepare $(obj)/qconf - $(obj)/qconf Kconfig + $(Q)$(obj)/qconf Kconfig gconfig: $(obj)/gconf - $(obj)/gconf Kconfig + $(Q)$(obj)/gconf Kconfig menuconfig: prepare $(obj)/lxdialog $(obj)/mconf - $(obj)/mconf Kconfig + $(Q)$(obj)/mconf Kconfig config: prepare $(obj)/conf - $(obj)/conf Kconfig + $(Q)$(obj)/conf Kconfig oldconfig: prepare $(obj)/conf - $(obj)/conf -o Kconfig + $(Q)$(obj)/conf -o Kconfig silentoldconfig: prepare $(obj)/conf - $(obj)/conf -s Kconfig - -update-po-config: $(obj)/kxgettext - xgettext --default-domain=linux \ - --add-comments --keyword=_ --keyword=N_ \ - --files-from=scripts/kconfig/POTFILES.in \ - --output scripts/kconfig/config.pot - $(Q)for i in `ls arch/`; \ - do \ - scripts/kconfig/kxgettext Kconfig \ - | msguniq -o scripts/kconfig/linux_$${i}.pot; \ - done - $(Q)msgcat scripts/kconfig/config.pot \ - `find scripts/kconfig/ -type f -name linux_*.pot` \ - --output scripts/kconfig/linux_raw.pot - $(Q)msguniq --sort-by-file scripts/kconfig/linux_raw.pot \ - --output scripts/kconfig/linux.pot - $(Q)rm -f scripts/kconfig/linux_*.pot scripts/kconfig/config.pot - + $(Q)$(obj)/conf -s Kconfig .PHONY: randconfig allyesconfig allnoconfig allmodconfig defconfig randconfig: $(obj)/conf - $< -r Kconfig + $(Q)$< -r Kconfig allyesconfig: $(obj)/conf - $< -y Kconfig + $(Q)$< -y Kconfig allnoconfig: $(obj)/conf - $< -n Kconfig + $(Q)$< -n Kconfig allmodconfig: $(obj)/conf - $< -m Kconfig + $(Q)$< -m Kconfig UNAME_RELEASE := $(shell uname -r) CLONECONFIG := $(firstword $(wildcard /proc/config.gz \ @@ -124,8 +106,28 @@ $(obj)/zconf.tab.c: $(src)/util/kconfig/zconf.tab.c_shipped include $(src)/util/kconfig/lxdialog/Makefile -###################### -# kbuild crap follows +# ##################################################################### + +ifdef KCONFIG_DEBUG + +update-po-config: $(obj)/kxgettext + xgettext --default-domain=linux \ + --add-comments --keyword=_ --keyword=N_ \ + --files-from=scripts/kconfig/POTFILES.in \ + --output scripts/kconfig/config.pot + $(Q)for i in `ls arch/`; \ + do \ + scripts/kconfig/kxgettext Kconfig \ + | msguniq -o scripts/kconfig/linux_$${i}.pot; \ + done + $(Q)msgcat scripts/kconfig/config.pot \ + `find scripts/kconfig/ -type f -name linux_*.pot` \ + --output scripts/kconfig/linux_raw.pot + $(Q)msguniq --sort-by-file scripts/kconfig/linux_raw.pot \ + --output scripts/kconfig/linux.pot + $(Q)rm -f scripts/kconfig/linux_*.pot scripts/kconfig/config.pot + + # =========================================================================== # Shared Makefile for the various kconfig executables: @@ -184,6 +186,10 @@ HOSTLOADLIBES_gconf = `pkg-config --libs gtk+-2.0 gmodule-2.0 libglade-2.0` HOSTCFLAGS_gconf.o = `pkg-config --cflags gtk+-2.0 gmodule-2.0 libglade-2.0` \ -D LKC_DIRECT_LINK +endif + +# ##################################################################### + $(obj)/qconf.o: $(obj)/.tmp_qtcheck ifeq ($(qconf-target),1) diff --git a/util/lar/Makefile b/util/lar/Makefile index 3300676226..fba1c9da15 100644 --- a/util/lar/Makefile +++ b/util/lar/Makefile @@ -25,40 +25,43 @@ HOSTCC=gcc HOSTCFLAGS=-O2 -Wall -W $(obj)/util/lar/lar: $(patsubst %,$(src)/util/lar/%,$(SOURCE)) - @mkdir -p $(obj)/util/lar - @$(HOSTCC) $(HOSTCFLAGS) -o $@ $^ - @echo "Built LAR." + $(Q)printf "Building LAR utility..." + $(Q)mkdir -p $(obj)/util/lar + $(Q)$(HOSTCC) $(HOSTCFLAGS) -o $@ $^ + $(Q)printf "done." ## -------------------------------------------------------------------- -## stuff below this line should be fixed or go away +## stuff below this line is for debugging purposes only. +ifdef DEBUG_LAR example: example.c - $(CC) $(CFLAGS) -o $@ $^ + $(Q)$(CC) $(CFLAGS) -o $@ $^ -#clean: -# rm -rf lar tree.lar tree tree2 example +clean: + $(Q)rm -rf lar tree.lar tree tree2 example tree: - @printf "creating sample tree... " - @rm -rf tree - @mkdir tree - @mkdir -p tree/compression - @mkdir -p tree/normal - @mkdir -p tree/fallback - @dd if=/dev/urandom of=tree/compression/lzma bs=1k count=8 &>/dev/null - @dd if=/dev/urandom of=tree/normal/linuxbios.elf.lzma bs=1k count=32 &>/dev/null - @dd if=/dev/urandom of=tree/normal/initmem bs=1k count=16 &>/dev/null - @dd if=/dev/urandom of=tree/fallback/linuxbios.elf.lzma bs=1k count=32 &>/dev/null - @dd if=/dev/urandom of=tree/fallback/initmem bs=1k count=16 &>/dev/null - @printf "done.\n" + $(Q)printf "creating sample tree... " + $(Q)rm -rf tree + $(Q)mkdir tree + $(Q)mkdir -p tree/compression + $(Q)mkdir -p tree/normal + $(Q)mkdir -p tree/fallback + $(Q)dd if=/dev/urandom of=tree/compression/lzma bs=1k count=8 &>/dev/null + $(Q)dd if=/dev/urandom of=tree/normal/linuxbios.elf.lzma bs=1k count=32 &>/dev/null + $(Q)dd if=/dev/urandom of=tree/normal/initmem bs=1k count=16 &>/dev/null + $(Q)dd if=/dev/urandom of=tree/fallback/linuxbios.elf.lzma bs=1k count=32 &>/dev/null + $(Q)dd if=/dev/urandom of=tree/fallback/initmem bs=1k count=16 &>/dev/null + $(Q)printf "done.\n" tree.lar: lar tree - cd tree; ../lar c ../tree.lar `find . -type f|cut -c3-` + $(Q)cd tree; ../lar c ../tree.lar `find . -type f|cut -c3-` test: lar example tree.lar - mkdir tree2; cd tree2; ../lar x ../tree.lar - @echo Comparing tree: - diff -urN tree tree2 - @rm -rf tree tree2 - ./example tree.lar + $(Q)mkdir tree2; cd tree2; ../lar x ../tree.lar + $(Q)echo Comparing tree: + $(Q)diff -urN tree tree2 + $(Q)rm -rf tree tree2 + $(Q)./example tree.lar +endif