Skip to content
Snippets Groups Projects
Commit f33a3faa authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild

Pull kbuild changes from Michal Marek:
 - fix for handling dependencies of *-objs targets by Masahiro Yamada
 - lots of cleanups in the kbuild machinery, also by Masahiro
 - fixes for the kconfig build to use an UTF-8 capable ncurses library
   if possible and to build on not-so-standard installs
 - some more minor fixes

* 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
  kbuild: Do not reference *-n variables in the Makefile
  kbuild: simplify build, clean, modbuiltin shorthands
  kbuild: arm: Do not define "comma" twice
  kbuild: remove obj-n and lib-n handling
  kbuild: remove unnecessary variable initializaions
  kbuild: remove unnecessary "obj- := dummy.o" trick
  kbuild: handle C=... and M=... after entering into build directory
  kbuild: use $(Q) for sub-make target
  kbuild: fake the "Entering directory ..." message more simply
  kconfig/lxdialog: get ncurses CFLAGS with pkg-config
  kconfig: nconfig: fix multi-byte UTF handling
  kconfig: lxdialog: fix spelling
  kbuild: Make scripts executable
  kbuild: remove redundant clean-files from scripts/kconfig/Makefile
  kbuild: refactor script/kconfig/Makefile
  kbuild: handle the dependency of multi-objs hostprogs appropriately
  kbuild: handle multi-objs dependency appropriately
parents 1b5a5f59 30142230
No related merge requests found
Showing
with 40 additions and 120 deletions
...@@ -10,11 +10,9 @@ NAME = Shuffling Zombie Juror ...@@ -10,11 +10,9 @@ NAME = Shuffling Zombie Juror
# Comments in this file are targeted only to the developer, do not # Comments in this file are targeted only to the developer, do not
# expect to learn how to build the kernel reading this file. # expect to learn how to build the kernel reading this file.
# Do not: # Do not use make's built-in rules and variables
# o use make's built-in rules and variables # (this increases performance and avoids hard-to-debug behaviour);
# (this increases performance and avoids hard-to-debug behaviour); MAKEFLAGS += -rR
# o print "Entering directory ...";
MAKEFLAGS += -rR --no-print-directory
# Avoid funny character set dependencies # Avoid funny character set dependencies
unexport LC_ALL unexport LC_ALL
...@@ -97,34 +95,6 @@ endif ...@@ -97,34 +95,6 @@ endif
export quiet Q KBUILD_VERBOSE export quiet Q KBUILD_VERBOSE
# Call a source code checker (by default, "sparse") as part of the
# C compilation.
#
# Use 'make C=1' to enable checking of only re-compiled files.
# Use 'make C=2' to enable checking of *all* source files, regardless
# of whether they are re-compiled or not.
#
# See the file "Documentation/sparse.txt" for more details, including
# where to get the "sparse" utility.
ifeq ("$(origin C)", "command line")
KBUILD_CHECKSRC = $(C)
endif
ifndef KBUILD_CHECKSRC
KBUILD_CHECKSRC = 0
endif
# Use make M=dir to specify directory of external module to build
# Old syntax make ... SUBDIRS=$PWD is still supported
# Setting the environment variable KBUILD_EXTMOD take precedence
ifdef SUBDIRS
KBUILD_EXTMOD ?= $(SUBDIRS)
endif
ifeq ("$(origin M)", "command line")
KBUILD_EXTMOD := $(M)
endif
# kbuild supports saving output files in a separate directory. # kbuild supports saving output files in a separate directory.
# To locate output files in a separate directory two syntaxes are supported. # To locate output files in a separate directory two syntaxes are supported.
# In both cases the working directory must be the root of the kernel src. # In both cases the working directory must be the root of the kernel src.
...@@ -140,7 +110,6 @@ endif ...@@ -140,7 +110,6 @@ endif
# The O= assignment takes precedence over the KBUILD_OUTPUT environment # The O= assignment takes precedence over the KBUILD_OUTPUT environment
# variable. # variable.
# KBUILD_SRC is set on invocation of make in OBJ directory # KBUILD_SRC is set on invocation of make in OBJ directory
# KBUILD_SRC is not intended to be used by the regular user (for now) # KBUILD_SRC is not intended to be used by the regular user (for now)
ifeq ($(KBUILD_SRC),) ifeq ($(KBUILD_SRC),)
...@@ -172,17 +141,9 @@ PHONY += $(MAKECMDGOALS) sub-make ...@@ -172,17 +141,9 @@ PHONY += $(MAKECMDGOALS) sub-make
$(filter-out _all sub-make $(CURDIR)/Makefile, $(MAKECMDGOALS)) _all: sub-make $(filter-out _all sub-make $(CURDIR)/Makefile, $(MAKECMDGOALS)) _all: sub-make
@: @:
# Fake the "Entering directory" message once, so that IDEs/editors are
# able to understand relative filenames.
echodir := @echo
quiet_echodir := @echo
silent_echodir := @:
sub-make: FORCE sub-make: FORCE
$($(quiet)echodir) "make[1]: Entering directory \`$(KBUILD_OUTPUT)'" $(Q)$(MAKE) -C $(KBUILD_OUTPUT) KBUILD_SRC=$(CURDIR) \
$(if $(KBUILD_VERBOSE:1=),@)$(MAKE) -C $(KBUILD_OUTPUT) \ -f $(CURDIR)/Makefile $(filter-out _all sub-make,$(MAKECMDGOALS))
KBUILD_SRC=$(CURDIR) \
KBUILD_EXTMOD="$(KBUILD_EXTMOD)" -f $(CURDIR)/Makefile \
$(filter-out _all sub-make,$(MAKECMDGOALS))
# Leave processing to above invocation of make # Leave processing to above invocation of make
skip-makefile := 1 skip-makefile := 1
...@@ -192,6 +153,39 @@ endif # ifeq ($(KBUILD_SRC),) ...@@ -192,6 +153,39 @@ endif # ifeq ($(KBUILD_SRC),)
# We process the rest of the Makefile if this is the final invocation of make # We process the rest of the Makefile if this is the final invocation of make
ifeq ($(skip-makefile),) ifeq ($(skip-makefile),)
# Do not print "Entering directory ...",
# but we want to display it when entering to the output directory
# so that IDEs/editors are able to understand relative filenames.
MAKEFLAGS += --no-print-directory
# Call a source code checker (by default, "sparse") as part of the
# C compilation.
#
# Use 'make C=1' to enable checking of only re-compiled files.
# Use 'make C=2' to enable checking of *all* source files, regardless
# of whether they are re-compiled or not.
#
# See the file "Documentation/sparse.txt" for more details, including
# where to get the "sparse" utility.
ifeq ("$(origin C)", "command line")
KBUILD_CHECKSRC = $(C)
endif
ifndef KBUILD_CHECKSRC
KBUILD_CHECKSRC = 0
endif
# Use make M=dir to specify directory of external module to build
# Old syntax make ... SUBDIRS=$PWD is still supported
# Setting the environment variable KBUILD_EXTMOD take precedence
ifdef SUBDIRS
KBUILD_EXTMOD ?= $(SUBDIRS)
endif
ifeq ("$(origin M)", "command line")
KBUILD_EXTMOD := $(M)
endif
# If building an external module we do not care about the all: rule # If building an external module we do not care about the all: rule
# but instead _all depend on modules # but instead _all depend on modules
PHONY += all PHONY += all
...@@ -889,9 +883,7 @@ vmlinux-dirs := $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \ ...@@ -889,9 +883,7 @@ vmlinux-dirs := $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \
$(net-y) $(net-m) $(libs-y) $(libs-m))) $(net-y) $(net-m) $(libs-y) $(libs-m)))
vmlinux-alldirs := $(sort $(vmlinux-dirs) $(patsubst %/,%,$(filter %/, \ vmlinux-alldirs := $(sort $(vmlinux-dirs) $(patsubst %/,%,$(filter %/, \
$(init-n) $(init-) \ $(init-) $(core-) $(drivers-) $(net-) $(libs-))))
$(core-n) $(core-) $(drivers-n) $(drivers-) \
$(net-n) $(net-) $(libs-n) $(libs-))))
init-y := $(patsubst %/, %/built-in.o, $(init-y)) init-y := $(patsubst %/, %/built-in.o, $(init-y))
core-y := $(patsubst %/, %/built-in.o, $(core-y)) core-y := $(patsubst %/, %/built-in.o, $(core-y))
...@@ -1591,7 +1583,7 @@ endif ...@@ -1591,7 +1583,7 @@ endif
# Shorthand for $(Q)$(MAKE) -f scripts/Makefile.clean obj=dir # Shorthand for $(Q)$(MAKE) -f scripts/Makefile.clean obj=dir
# Usage: # Usage:
# $(Q)$(MAKE) $(clean)=dir # $(Q)$(MAKE) $(clean)=dir
clean := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.clean obj clean := -f $(srctree)/scripts/Makefile.clean obj
endif # skip-makefile endif # skip-makefile
......
...@@ -50,8 +50,6 @@ AS += -EL ...@@ -50,8 +50,6 @@ AS += -EL
LD += -EL LD += -EL
endif endif
comma = ,
# This selects which instruction set is used. # This selects which instruction set is used.
# Note that GCC does not numerically define an architecture version # Note that GCC does not numerically define an architecture version
# macro, but instead defines a whole series of macros which makes # macro, but instead defines a whole series of macros which makes
......
...@@ -3,9 +3,6 @@ ...@@ -3,9 +3,6 @@
# #
obj-y := gpio.o setup.o sysirq_mask.o obj-y := gpio.o setup.o sysirq_mask.o
obj-m :=
obj-n :=
obj- :=
obj-$(CONFIG_OLD_IRQ_AT91) += irq.o obj-$(CONFIG_OLD_IRQ_AT91) += irq.o
obj-$(CONFIG_OLD_CLK_AT91) += clock.o obj-$(CONFIG_OLD_CLK_AT91) += clock.o
......
...@@ -5,6 +5,3 @@ ...@@ -5,6 +5,3 @@
# Object file lists. # Object file lists.
obj-y := core.o io.o leds.o obj-y := core.o io.o leds.o
obj-m :=
obj-n :=
obj- :=
...@@ -2,9 +2,6 @@ ...@@ -2,9 +2,6 @@
# Makefile for the linux kernel. # Makefile for the linux kernel.
# #
obj-y := core.o clock.o obj-y := core.o clock.o
obj-m :=
obj-n :=
obj- :=
obj-$(CONFIG_EP93XX_DMA) += dma.o obj-$(CONFIG_EP93XX_DMA) += dma.o
......
...@@ -7,11 +7,6 @@ ...@@ -7,11 +7,6 @@
ccflags-$(CONFIG_ARCH_MULTIPLATFORM) += -I$(srctree)/$(src)/include -I$(srctree)/arch/arm/plat-samsung/include ccflags-$(CONFIG_ARCH_MULTIPLATFORM) += -I$(srctree)/$(src)/include -I$(srctree)/arch/arm/plat-samsung/include
obj-y :=
obj-m :=
obj-n :=
obj- :=
# Core # Core
obj-$(CONFIG_ARCH_EXYNOS) += exynos.o pmu.o exynos-smc.o firmware.o obj-$(CONFIG_ARCH_EXYNOS) += exynos.o pmu.o exynos-smc.o firmware.o
......
...@@ -5,9 +5,6 @@ ...@@ -5,9 +5,6 @@
# Object file lists. # Object file lists.
obj-y := common.o dma.o isa-irq.o obj-y := common.o dma.o isa-irq.o
obj-m :=
obj-n :=
obj- :=
pci-y += dc21285.o pci-y += dc21285.o
pci-$(CONFIG_ARCH_CATS) += cats-pci.o pci-$(CONFIG_ARCH_CATS) += cats-pci.o
......
obj-y :=
obj-m :=
obj-n :=
obj- :=
obj-$(CONFIG_ARCH_IOP13XX) += setup.o obj-$(CONFIG_ARCH_IOP13XX) += setup.o
obj-$(CONFIG_ARCH_IOP13XX) += irq.o obj-$(CONFIG_ARCH_IOP13XX) += irq.o
obj-$(CONFIG_ARCH_IOP13XX) += pci.o obj-$(CONFIG_ARCH_IOP13XX) += pci.o
......
...@@ -3,9 +3,6 @@ ...@@ -3,9 +3,6 @@
# #
obj-y := irq.o obj-y := irq.o
obj-m :=
obj-n :=
obj- :=
obj-$(CONFIG_MACH_GLANTANK) += glantank.o obj-$(CONFIG_MACH_GLANTANK) += glantank.o
obj-$(CONFIG_ARCH_IQ80321) += iq80321.o obj-$(CONFIG_ARCH_IQ80321) += iq80321.o
......
...@@ -3,9 +3,6 @@ ...@@ -3,9 +3,6 @@
# #
obj-y := irq.o uart.o obj-y := irq.o uart.o
obj-m :=
obj-n :=
obj- :=
obj-$(CONFIG_ARCH_IQ80331) += iq80331.o obj-$(CONFIG_ARCH_IQ80331) += iq80331.o
obj-$(CONFIG_MACH_IQ80332) += iq80332.o obj-$(CONFIG_MACH_IQ80332) += iq80332.o
...@@ -4,9 +4,6 @@ ...@@ -4,9 +4,6 @@
# #
obj-y := cpu.o irq.o time.o devices.o obj-y := cpu.o irq.o time.o devices.o
obj-m :=
obj-n :=
obj- :=
# PCI support is optional # PCI support is optional
obj-$(CONFIG_PCI) += pci.o obj-$(CONFIG_PCI) += pci.o
......
...@@ -5,7 +5,3 @@ ...@@ -5,7 +5,3 @@
# Object file lists. # Object file lists.
obj-y := dma.o ecard.o fiq.o irq.o riscpc.o time.o obj-y := dma.o ecard.o fiq.o irq.o riscpc.o time.o
obj-m :=
obj-n :=
obj- :=
...@@ -7,11 +7,6 @@ ...@@ -7,11 +7,6 @@
# #
# Licensed under GPLv2 # Licensed under GPLv2
obj-y :=
obj-m :=
obj-n :=
obj- :=
# core # core
obj-y += common.o obj-y += common.o
......
...@@ -5,11 +5,6 @@ ...@@ -5,11 +5,6 @@
# #
# Licensed under GPLv2 # Licensed under GPLv2
obj-y :=
obj-m :=
obj-n :=
obj- :=
# Core # Core
obj-y += common.o obj-y += common.o
......
...@@ -7,11 +7,6 @@ ...@@ -7,11 +7,6 @@
ccflags-$(CONFIG_ARCH_MULTIPLATFORM) += -I$(srctree)/$(src)/include -I$(srctree)/arch/arm/plat-samsung/include ccflags-$(CONFIG_ARCH_MULTIPLATFORM) += -I$(srctree)/$(src)/include -I$(srctree)/arch/arm/plat-samsung/include
obj-y :=
obj-m :=
obj-n :=
obj- :=
# Core # Core
obj-$(CONFIG_PM_SLEEP) += pm.o sleep.o obj-$(CONFIG_PM_SLEEP) += pm.o sleep.o
......
...@@ -4,9 +4,6 @@ ...@@ -4,9 +4,6 @@
# Common support # Common support
obj-y := clock.o generic.o irq.o time.o #nmi-oopser.o obj-y := clock.o generic.o irq.o time.o #nmi-oopser.o
obj-m :=
obj-n :=
obj- :=
# Specific board support # Specific board support
obj-$(CONFIG_SA1100_ASSABET) += assabet.o obj-$(CONFIG_SA1100_ASSABET) += assabet.o
......
...@@ -3,9 +3,6 @@ ...@@ -3,9 +3,6 @@
# #
obj-y := core.o obj-y := core.o
obj-m :=
obj-n :=
obj- :=
obj-$(CONFIG_MACH_U300_SPIDUMMY) += dummyspichip.o obj-$(CONFIG_MACH_U300_SPIDUMMY) += dummyspichip.o
obj-$(CONFIG_REGULATOR_AB3100) += regulator.o obj-$(CONFIG_REGULATOR_AB3100) += regulator.o
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
# Makefile for the linux kernel. # Makefile for the linux kernel.
# #
obj-y :=
# IOP32X # IOP32X
obj-$(CONFIG_ARCH_IOP32X) += i2c.o obj-$(CONFIG_ARCH_IOP32X) += i2c.o
obj-$(CONFIG_ARCH_IOP32X) += pci.o obj-$(CONFIG_ARCH_IOP32X) += pci.o
...@@ -27,7 +25,3 @@ obj-$(CONFIG_ARCH_IOP33X) += restart.o ...@@ -27,7 +25,3 @@ obj-$(CONFIG_ARCH_IOP33X) += restart.o
# IOP13XX # IOP13XX
obj-$(CONFIG_ARCH_IOP13XX) += cp6.o obj-$(CONFIG_ARCH_IOP13XX) += cp6.o
obj-$(CONFIG_ARCH_IOP13XX) += time.o obj-$(CONFIG_ARCH_IOP13XX) += time.o
obj-m :=
obj-n :=
obj- :=
...@@ -6,9 +6,6 @@ ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/arch/arm/plat-omap/include ...@@ -6,9 +6,6 @@ ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/arch/arm/plat-omap/include
# Common support # Common support
obj-y := sram.o dma.o counter_32k.o obj-y := sram.o dma.o counter_32k.o
obj-m :=
obj-n :=
obj- :=
# omap_device support (OMAP2+ only at the moment) # omap_device support (OMAP2+ only at the moment)
......
...@@ -6,11 +6,6 @@ ...@@ -6,11 +6,6 @@
ccflags-$(CONFIG_ARCH_MULTI_V7) += -I$(srctree)/$(src)/include ccflags-$(CONFIG_ARCH_MULTI_V7) += -I$(srctree)/$(src)/include
obj-y :=
obj-m :=
obj-n := dummy.o
obj- :=
# Objects we always build independent of SoC choice # Objects we always build independent of SoC choice
obj-y += init.o cpu.o obj-y += init.o cpu.o
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment