From mboxrd@z Thu Jan 1 00:00:00 1970 From: Simon Glass Date: Fri, 13 Dec 2013 15:35:51 -0700 Subject: [U-Boot] [PATCH 0/34] Switch over to real Kbuild In-Reply-To: References: <1386759716-5322-1-git-send-email-yamada.m@jp.panasonic.com> <20131212115354.0711.AA925319@jp.panasonic.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Masahiro, On 12 December 2013 16:39, Simon Glass wrote: > Hi Masahiro, > > > On 11 December 2013 19:53, Masahiro Yamada wrote: >> Hello Simon >> >>> > You need to apply above patches beforehand to use this series. >>> > They are simple patches, so I hope they will be reviewed and applied first. >>> >>> Can you please push a branch somewhere with all of these and kbuild? >> >> Sure. >> >> u-boot/master was updated after posting this series. >> (Prerequisite [1] was merged into the mainline.) >> I rebased my local branch and push it to my GitHub space. >> >> >> Please try this: >> git clone git://github.com/masahir0y/u-boot-kbuild.git >> cd u-boot-kbuild >> git checktout kbuild > > Thank you, that is much easier. > > I'm very impressed with your efforts here - the commits are clean and > easy to understand. I have been through them in turn. I have a few > minor comments... > > I see this error turn up in commit 34 (it is fixed in 38): > > 34: Kbuild: change out-of-tree building > sandbox: + sandbox > +/usr/local/google/c/cosarm/src/third_party/u-boot/try-kbuild2/.bm-work/00/arch/sandbox/cpu/os.c:6:20: > fatal error: dirent.h: No such file or directory > +compilation terminated. > 35: Kbuild: add dummy obj-y to create built-in.o > 36: Makefile: rename scripts/Makefile.build to scripts/Makefile.build.tmp > 37: Kbuild: import more build scripts from Linux v3.12 tag > 38: Kbuild: use Linux Kernel build scripts > sandbox: sandbox > -/usr/local/google/c/cosarm/src/third_party/u-boot/try-kbuild2/.bm-work/00/arch/sandbox/cpu/os.c:6:20: > fatal error: dirent.h: No such file or directory > -compilation terminated. > 39: Kbuild: delete temporary build scripts Further to this one - here is my full buildman output. There are a few PPC problems also: ./tools/buildman/buildman -b try-kbuild2 -s Summary of 51 commits for 1194 boards (32 threads, 1 job per thread) 01: powerpc/mpc85xx: Update CONFIG_SYS_FSL_TBCLK_DIV for T1040 blackfin: + bf561-acvilon cm-bf561 blackstamp br4 bct-brettl2 cm-bf527 dnp5370 bf506f-ezkit ip04 bf527-sdp bf609-ezkit bf537-stamp bf527-ezkit-v2 cm-bf537e tcm-bf518 cm-bf537u bf537-pnav cm-bf533 pr1 bf533-ezkit ibf-dsp561 bf537-srv1 cm-bf548 bf537-minotaur bf538f-ezkit bf548-ezkit bf525-ucr2 blackvme bf527-ezkit tcm-bf537 bf533-stamp bf518f-ezbrd bf527-ad7160-eval bf526-ezbrd bf561-ezkit m68k: + M54455EVB_a66 M5329AFEE M5249EVB idmr M5208EVBE eb_cpu5282 M5475FFE M54451EVB astro_mcf5373l M54418TWR_serial_rmii M54455EVB_intel M5282EVB M54455EVB_i66 M5475GFE M5253DEMO M54455EVB_stm33 M5485BFE M5485DFE TASREG M5329BFEE M52277EVB M5475EFE M5475CFE cobra5272 M5485AFE M53017EVB M5485HFE M5235EVB M5253EVBE M54418TWR_nand_mii M54418TWR_nand_rmii_lowfreq M5475BFE M5475DFE M5275EVB M52277EVB_stmicro eb_cpu5282_internal M54451EVB_stmicro M5271EVB M5485GFE M5373EVB M5485EFE M5485FFE M54418TWR M5235EVB_Flash32 M54418TWR_nand_rmii M54418TWR_serial_mii M5485CFE M54455EVB M5475AFE M5272C3 powerpc: + MVBLM7 linkstation_HGLAN MVSMR lcd4_lwmon5 sparc: + grsim grsim_leon2 gr_cpci_ax2000 gr_xc3s_1500 gr_ep2s60 sh: + rsk7269 rsk7264 rsk7203 microblaze: + microblaze-generic openrisc: + openrisc-generic arm: + pm9g45 qong nitrogen6dl2g palmtc zipitz2 omap3_zoom2 omap3_zoom1 omap3_overo goflexhome mx6slevk nitrogen6s nitrogen6q wandboard_solo davinci_sonata VCMA9 mini2440 iconnect km_kirkwood_pci titanium ib62x0 lubbock ethernut5 zynq_dcc vpac270_nor_128 nitrogen6q2g colibri_pxa270 sheevaplug wandboard_dl wandboard_quad am3517_crane mx6dlsabresd zynq tnetv107x_evm xaeniax devkit8000 nitrogen6dl mx6qarm2 magnesium mx6qsabrelite mx6qsabresd palmtreo680 kmsuv31 polaris omap3_sdp3430 imx27lite mgcoge3un mx6qsabreauto vpac270_nor_256 pxa255_idp udoo_quad kmnusa kmcoge5un am3517_evm nhk8815_onenand openrd_client openrd_base nhk8815 km_kirkwood dns325 mcx lp8x4x vpac270_ond_256 smdk2410 cam_enc_4xx h2200 nitrogen6s1g scb9328 jornada cgtqmx6qeval balloon3 omap3_evm omap3_logic dockstar portl2 palmld openrd_ultimate trizepsiv pogo_e02 pm9263 mx1ads 02: sandbox: Use system headers first for sandbox's os.c in a different way 03: .gitignore: ignore spl/ and tpl/ directories except spl/Makefile 04: Makefile: delete a make rule of $(LDSCRIPT) 05: post: descend only when CONFIG_HAS_POST is defined 06: Makefile: Select objects by CONFIG_ rather than $(ARCH) or $(CPU) 07: drivers/usb/gadget: select objects by obj-$(CONFIG-...) 08: drivers/mtd: descend into sub directories only when it is necessary 09: Makefile: Move some scripts imported from Linux 10: Makefile: delete unnecessary CPPFLAGS settings 11: Makefile: delete unnecessary lines 12: Makefile: Do not create empty autoconf.mk on error 13: Makefile: use two double-quotations as a pair 14: Makefile: correct dependencies of asm-offsets.[hs] 15: examples: x86: delete 82559_eeprom 16: Makefile,.gitignore: Cleanup non-existing binaries 17: spl/Makefile: merge LIBS-y += arch/$(ARCH)/imx-common 18: .gitignore: ingore files generated by Kbuild 19: Makefile.host.tmp: add a new script to refactor tools 20: tools: convert makefiles to kbuild style 21: board: samsung: refactor host programs 22: examples: Use scripts/Makefile.build 23: nand-spl: Use scripts/Makefile.build 24: Makfile: move suffix rules to Makefile.build 25: Makefile: move some variable definitions to the top Makefile 26: Makefile: move BFD_ROOT_DIR to tools/gdb/Makefile 27: Kbuild: import Kbuild.include from linux v3.12 tag 28: Kbuild: Use Kbuild.include 29: Makefile: move more flags to the top Makefile powerpc: + rainier_nand glacier_nand canyonlands_nand sequoia_nand haleakala_nand kilauea_nand acadia_nand bamboo_nand 30: Makefile: refactor include path settings 31: Makefile: move more stuff to top Makefile powerpc: rainier_nand glacier_nand canyonlands_nand sequoia_nand haleakala_nand kilauea_nand acadia_nand bamboo_nand 32: Makefile: move some flags to spl/Makefile 33: Makefile: move some flags to examples makefiles 34: Kbuild: change out-of-tree building sandbox: + sandbox blackfin: bf561-acvilon cm-bf537u 35: Kbuild: add dummy obj-y to create built-in.o 36: Makefile: rename scripts/Makefile.build to scripts/Makefile.build.tmp 37: Kbuild: import more build scripts from Linux v3.12 tag 38: Kbuild: use Linux Kernel build scripts sandbox: sandbox blackfin: + bf561-acvilon cm-bf537u 39: Kbuild: delete temporary build scripts 40: Kbuild: move some lines to more suitable place 41: Kbuild: convert some make rules to Kbuild style 42: Kbuild: move include directives of board configuration files 43: Kbuild: generate {spl,tpl}-autoconf.mk only when it is necessary 44: Makefile: remove a cleaning target "tidy" 45: Kbuild: change the top Makefile to more Kbuild-ish structure 46: examples: move api/ and standalone/ to examples/Makefile 47: Kbuild: refactor Makefile and spl/Makefile more 48: Makefile: Do not pass MTD_VERSION from the top Makefile 49: Makefile: refactor tools-all targets 50: Kbuild: use scripts/Makefile.clean 51: Kbuild: support simultaneous board configuration and "make all" - Simon > > What will happen with the 'FIX ME's that are generated? e.g.: > > +# FIX ME > +ifneq ($(filter lib lib/lzma lib/zlib, $(obj)),) > +ccflags-y := -O2 > +endif > > > Have you done any comparison on build times? > > Regards, > Simon