26 Feb, 2014

18 commits


25 Feb, 2014

1 commit


22 Feb, 2014

2 commits


20 Feb, 2014

19 commits

  • Conflicts:
    Makefile
    drivers/net/npe/Makefile

    These two conflicts arise from commit 0b2d3f20
    ("ARM: NET: Remove the IXP NPE ethernet driver") and are
    resolved by deleting the drivers/net/npe/Makefile file
    and removing the CONFIG_IXP4XX_NPE line from Makefile.

    Albert ARIBAUD
     
  • Signed-off-by: Tom Rini

    Tom Rini
     
  • Useful rules in scripts/Makefile.lib allows us to easily
    generate a device tree blob and wrap it in assembly code.

    We do not need to parse a linker script to get output format and arch.

    This commit deletes ./u-boot.dtb since it is a copy of dts/dt.dtb.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • tools/kernel-doc/docproc.c and tools/kernel-doc/kernel-doc are
    files imported from Linux Kernel.

    They originally resided under scripts/ directory in Linux Kernel.

    This commit moves them to the original location.

    Signed-off-by: Masahiro Yamada
    Acked-by: Simon Glass

    Masahiro Yamada
     
  • For out-of-tree build
    - Check if the source tree is clean
    - Create a Makefile in the output directory

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • This commit fixes two problems:

    [1] We could not do board configuration and "make all"
    in one command line.

    For example, the following did not work as we expect:
    $ make sandbox_config all
    Configuring for sandbox board...
    make: Nothing to be done for `all'.

    [2] mixed-target build did not work with -j option

    For example, the following did not work:
    $ make -j8 sandbox_config u-boot
    Makefile:481: *** "System not configured - see README". Stop.
    make: *** [u-boot] Error 2
    make: *** Waiting for unfinished jobs....
    Configuring for sandbox board...

    Going forward, we can do
    $ make -j8 sandbox_config all

    This is the same as
    $ make sandbox_config
    $ make -j8

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • This commit refactors cleaning targets such as
    clean, clobber, mrpropper, distclean
    with scripts/Makefile.clean.

    By using scripts/Makefile.clean, we can recursively descend
    into subdirectories and delete generated files there.

    We do not need add a big list of generated files
    to the "clean" target.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • - Move "easylogo", "gdb" tagets to tools/Makefile
    - Delete "gdbtools" target (same as "gdb")

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • $(MTD_VERSION) is used in tools/env/Makefile

    If you specify a variable at a command line like:
    $ make MTD_VERSION=old env
    or specify it thru an envrionment variable like:
    $ export MTD_VERSION=old
    $ make env
    it is inherited to the sub-make too.
    We do not need to pass it from the top Makefile explicitely.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • This commit refactors rules of directory descending
    and defines u-boot-dirs and u-boot-all-dirs.
    (We will need u-boot-all-dirs when using
    scripts/Makefile.clean)

    Additionally, rename LIBS-y to libs-y.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • This commit changes the top Makefile to handle various targets
    nicely.
    Make targets are divided into four categories:

    - mixed-targets
    We can call a configuration target and build targets
    at one command line like follows:
    $ make _config u-boot

    They are handled one by one.

    - config targets
    _config

    - no-dot-config-targets
    Targets we can run without board configuration such as
    clean, mrproper, distclean, TAGS, %docs, etc.

    - build targets
    The other target which need board configuration.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • Before this commit, "make tidy" did
    "make clean" + delete "*.depend*" files.

    But, we do not have "*.depend*" files any more,
    which means "make tidy" is the same as "make clean".

    This commit removes the redandant target "tidy".

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • Before this commit, {spl,tpl}-autoconf.mk was always generated
    at the top Makefile even if SPL(TPL) build was not selected.

    This commit moves the build rule of {spl,tpl}-autoconf.mk
    from the top Makefile to spl/Makefile.
    It prevents unnecessary {spl,tpl}-autoconf.mk from being
    generated.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • We can get Kbuild-ish log style like this:
    GEN include/autoconf.mk
    GEN include/autoconf.mk.dep

    We do not need XECHO any more.

    And also change checkstack target like Linux Kernel.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • Now we are ready to switch over to real Kbuild.

    This commit disables temporary scripts:
    scripts/{Makefile.build.tmp, Makefile.host.tmp}
    and enables real Kbuild scripts:
    scripts/{Makefile.build,Makefile.host,Makefile.lib}.

    This switch is triggered by the line in scripts/Kbuild.include
    -build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build.tmp obj
    +build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj

    We need to adjust some build scripts for U-Boot.
    But smaller amount of modification is preferable.

    Additionally, we need to fix compiler flags which are
    locally added or removed.

    In Kbuild, it is not allowed to change CFLAGS locally.
    Instead, ccflags-y, asflags-y, cppflags-y,
    CFLAGS_$(basetarget).o, CFLAGS_REMOVE_$(basetarget).o
    are prepared for that purpose.

    Signed-off-by: Masahiro Yamada
    Tested-by: Gerhard Sittig

    Masahiro Yamada
     
  • This commit changes the working directory
    where the build process occurs.

    Before this commit, build process occurred under the source
    tree for both in-tree and out-of-tree build.

    That's why we needed to add $(obj) prefix to all generated
    files in makefiles like follows:
    $(obj)u-boot.bin: $(obj)u-boot

    Here, $(obj) is empty for in-tree build, whereas it points
    to the output directory for out-of-tree build.

    And our old build system changes the current working directory
    with "make -C " syntax when descending into the
    sub-directories.

    On the other hand, Kbuild uses a different idea
    to handle out-of-tree build and directory descending.

    The build process of Kbuild always occurs under the output tree.
    When "O=dir/to/store/output/files" is given, the build system
    changes the current working directory to that directory and
    restarts the make.

    Kbuild uses "make -f $(srctree)/scripts/Makefile.build obj="
    syntax for descending into sub-directories.
    (We can write it like "make $(obj)=" with a shorthand.)
    This means the current working directory is always the top
    of the output directory.

    Signed-off-by: Masahiro Yamada
    Tested-by: Gerhard Sittig

    Masahiro Yamada
     
  • Signed-off-by: Masahiro Yamada

    Masahiro Yamada