19 Aug, 2014

1 commit


16 Jul, 2014

5 commits

  • Assume we have a Makefile like this:

    hostprogs-y := foo
    foo-cxxobjs := bar/baz.o
    foo-objs := qux/quux.o

    In this case, Kbuild creates bar/ directory,
    but fails to create qux/ directory.

    This commit re-writes directory creation more simply,
    fixing that bug.

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Michal Marek

    Masahiro Yamada
     
  • The directory creation can be more simplified by two levels.

    [1] Drop $(dir ...)

    $(dir $(f)) always returns non-empty string.

    So, $(if $(dir $(f)),$(dir $(f)) is equivalent to $(dir $(f)).

    [2] Unroll $(foreach ...) loop

    $(dir ...) can take one or more arguments and returns a list of
    directories of them.

    $(foreach f, $(progs), $(dir $(f))) can be unrolled as $(dir $(progs)).

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Michal Marek

    Masahiro Yamada
     
  • The shared library feature in Makefile.host is no longer used.
    Rip it off to keep the build infrastucture simple.

    Update Documentation/kbuild/makefiles.txt too.
    The section "4.3 Definition shared libraries" should be removed
    and the following sections should be re-numbered.

    Signed-off-by: Masahiro Yamada
    Suggested-by: Sam Ravnborg
    Signed-off-by: Michal Marek

    Masahiro Yamada
     
  • The comment claims:
    C++ executables compiled from at least one .cc file
    and zero or more .c files

    But C++ executables with zero .c file fail in build.

    For example, assume we have a Makefile like this:

    hostprogs-y := foo
    foo-cxxobjs := bar.o

    In this case, foo is treated as host-csingle
    and Kbuild tries to search non-existing foo.c source.

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Michal Marek

    Masahiro Yamada
     
  • Signed-off-by: Masahiro Yamada
    Signed-off-by: Michal Marek

    Masahiro Yamada
     

13 Jun, 2014

1 commit

  • Pull kbuild misc updates from Michal Marek:
    "This is the non-critical part of kbuild for v3.16-rc1:
    - make deb-pkg can do s390x and arm64
    - new patterns in scripts/tags.sh
    - scripts/tags.sh skips userspace tools' sources (which sometimes
    have copies of kernel structures) and symlinks
    - improvements to the objdiff tool
    - two new coccinelle patches
    - other minor fixes"

    * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    scripts: objdiff: support directories for the augument of record command
    scripts: objdiff: fix a comment
    scripts: objdiff: change the extension of disassembly from .o to .dis
    scripts: objdiff: improve path flexibility for record command
    scripts: objdiff: remove unnecessary code
    scripts: objdiff: direct error messages to stderr
    scripts: objdiff: get the path to .tmp_objdiff more simply
    deb-pkg: Add automatic support for s390x architecture
    coccicheck: Add unneeded return variable test
    kbuild: Fix a typo in documentation
    kbuild: trivial - use tabs for code indent where possible
    kbuild: trivial - remove trailing empty lines
    coccinelle: Check for missing NULL terminators in of_device_id tables
    scripts/tags.sh: ignore symlink'ed source files
    scripts/tags.sh: add regular expression replacement pattern for memcg
    builddeb: add arm64 in the supported architectures
    builddeb: use $OBJCOPY variable instead of objcopy
    scripts/tags.sh: ignore code of user space tools
    scripts/tags.sh: add pattern for DEFINE_HASHTABLE
    .gitignore: ignore Module.symvers in all directories

    Linus Torvalds
     

10 Jun, 2014

1 commit


30 Apr, 2014

1 commit


26 Apr, 2008

1 commit