08 Jun, 2016

1 commit

  • Infrastructure for building independent shared library targets.

    Based on work created by the PaX Team.

    Signed-off-by: Emese Revfy
    Acked-by: Kees Cook
    Signed-off-by: Michal Marek

    Emese Revfy
     

20 Feb, 2015

1 commit

  • Pull kbuild updates from Michal Marek:

    - several cleanups in kbuild

    - serialize multiple *config targets so that 'make defconfig kvmconfig'
    works

    - The cc-ifversion macro got support for an else-branch

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild,gcov: simplify kernel/gcov/Makefile more
    kbuild: allow cc-ifversion to have the argument for false condition
    kbuild,gcov: simplify kernel/gcov/Makefile
    kbuild,gcov: remove unnecessary workaround
    kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion
    kbuild: fix cc-ifversion macro
    kbuild: drop $(version_h) from MRPROPER_FILES
    kbuild: use mixed-targets when two or more config targets are given
    kbuild: remove redundant line from bounds.h/asm-offsets.h
    kbuild: merge bounds.h and asm-offsets.h rules
    kbuild: Drop support for clean-rule

    Linus Torvalds
     

02 Jan, 2015

2 commits

  • scripts/Makefile.clean treats absolute path specially, but
    $(objtree)/debian is no longer an absolute path since 7e1c0477 (kbuild:
    Use relative path for $(objtree). Work around this by checking if the
    path starts with $(objtree)/.

    Reported-and-tested-by: Sedat Dilek
    Fixes: 7e1c0477 (kbuild: Use relative path for $(objtree)
    Signed-off-by: Michal Marek

    Michal Marek
     
  • clean-rule has not been used since 94869f86 (kbuild: Accept absolute
    paths in clean-files and introduce clean-dirs) ten years ago.

    Tested-by: Sedat Dilek
    Signed-off-by: Michal Marek

    Michal Marek
     

26 Nov, 2014

2 commits

  • Makefile.clean includes Kbuild.include since commit 371fdc77
    (kbuild: collect shorthands into scripts/Kbuild.include), so there is no
    need for a local copy.

    Signed-off-by: Michal Marek

    Michal Marek
     
  • The shorthand "clean" is defined in both the top Makefile and
    scripts/Makefile.clean. Likewise, the "hdr-inst" is defined in
    both the top Makefile and scripts/Makefile.headersinst.

    To reduce code duplication, this commit collects them into
    scripts/Kbuild.include like the "build" and "modbuiltin" shorthands.
    It requires scripts/Makefile.clean to include scripts/Kbuild.include,
    but its impact on the performance of "make clean" should be
    negligible.

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

    Masahiro Yamada
     

02 Oct, 2014

2 commits

  • $(if $(KBUILD_SRC),$(srctree)/) was a useful strategy
    to omit a long absolute path for in-source-tree build
    prior to commit 890676c65d699db3ad82e7dddd0cf8fb449031af
    (kbuild: Use relative path when building in the source tree).

    Now $(srctree) is "." when building in the source tree.
    It would not be annoying to add "$(srctree)/" all the time.

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

    Masahiro Yamada
     
  • Kconfig never defines CONFIG_* as 'n'.
    Now obj-n is only used in firmware/Makefile and it can be
    replaced with obj-. No makefile uses lib-n.

    Let's rip off obj-n and lib-n.

    Signed-off-by: Masahiro Yamada
    Acked-by: Peter Foley
    Signed-off-by: Michal Marek

    Masahiro Yamada
     

04 Jul, 2014

1 commit


11 Mar, 2010

1 commit

  • Commit 7d3cc8b tried to keep bounds.h and asm-offsets.h during make
    clean by filtering these out of $(clean-files), but they are listed in
    $(targets) and $(always) and thus removed automatically. Introduce a new
    $(no-clean-files) variable to really skip such files in Makefile.clean.

    Signed-off-by: Michal Marek

    Michal Marek
     

26 Apr, 2008

1 commit


13 Oct, 2007

1 commit

  • These checks has been present for several kernel releases (> 5).
    So lets just get rid of them.
    With this we no longer check for use of:
    EXTRA_TARGETS, O_TARGET, L_TARGET, list-multi, export-objs

    There were three remaining in-tree users of O_TARGET in some
    unmaintained sh64 code - mail sent to the maintainer + list.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

06 Mar, 2006

1 commit

  • The kbuild system takes advantage of an incorrect behavior in GNU make.
    Once this behavior is fixed, all files in the kernel rebuild every time,
    even if nothing has changed. This patch ensures kbuild works with both
    the incorrect and correct behaviors of GNU make.

    For more details on the incorrect behavior, see:

    http://lists.gnu.org/archive/html/bug-make/2006-03/msg00003.html

    Changes in this patch:
    - Keep all targets that are to be marked .PHONY in a variable, PHONY.
    - Add .PHONY: $(PHONY) to mark them properly.
    - Remove any $(PHONY) files from the $? list when determining whether
    targets are up-to-date or not.

    Signed-off-by: Paul Smith
    Signed-off-by: Sam Ravnborg

    Paul Smith
     

28 Jul, 2005

1 commit

  • kbuild failed to locate Makefile for external modules.
    This brought to my attention how the variables for directories
    have different values in different usage scenarios.

    Different kbuild usage scenarios:
    make - plain make in same directory where kernel source lives
    make O= - kbuild is told to store output files in another directory
    make M= - building an external module
    make O= M= - building an external module with kernel output seperate from src

    Value assigned to the different variables:

    |$(src) |$(obj) |$(srctree) |$(objtree)
    make |reldir to k src |as src |abs path to k src |abs path to k src
    make O= |reldir to k src |as src |abs path to k src |abs path to output dir
    make M= |abs path to src |as src |abs path to k src |abs path to k src
    make O= M= |abs path to src |as src |abs path to k src |abs path to k output

    path to kbuild file:

    make | $(srctree)/$(src), $(src)
    make O= | $(srctree)/$(src)
    make M= | $(src)
    make O= M= | $(src)

    From the table above it can be seen that the only good way to find the
    home directory of the kbuild file is to locate the one of the two variants
    that is an absolute path. If $(src) is an absolute path (starts with /)
    then use it, otherwise prefix $(src) with $(srctree).

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

26 Jul, 2005

2 commits


17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds