aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile47
1 files changed, 32 insertions, 15 deletions
diff --git a/Makefile b/Makefile
index 914e5f514888..7431c283f15b 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
1VERSION = 2 1VERSION = 2
2PATCHLEVEL = 6 2PATCHLEVEL = 6
3SUBLEVEL = 35 3SUBLEVEL = 35
4EXTRAVERSION = -rc4 4EXTRAVERSION =
5NAME = Sheep on Meth 5NAME = Sheep on Meth
6 6
7# *DOCUMENTATION* 7# *DOCUMENTATION*
@@ -332,10 +332,9 @@ CHECK = sparse
332 332
333CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \ 333CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
334 -Wbitwise -Wno-return-void $(CF) 334 -Wbitwise -Wno-return-void $(CF)
335MODFLAGS = -DMODULE 335CFLAGS_MODULE =
336CFLAGS_MODULE = $(MODFLAGS) 336AFLAGS_MODULE =
337AFLAGS_MODULE = $(MODFLAGS) 337LDFLAGS_MODULE =
338LDFLAGS_MODULE = -T $(srctree)/scripts/module-common.lds
339CFLAGS_KERNEL = 338CFLAGS_KERNEL =
340AFLAGS_KERNEL = 339AFLAGS_KERNEL =
341CFLAGS_GCOV = -fprofile-arcs -ftest-coverage 340CFLAGS_GCOV = -fprofile-arcs -ftest-coverage
@@ -354,7 +353,12 @@ KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
354 -Werror-implicit-function-declaration \ 353 -Werror-implicit-function-declaration \
355 -Wno-format-security \ 354 -Wno-format-security \
356 -fno-delete-null-pointer-checks 355 -fno-delete-null-pointer-checks
356KBUILD_AFLAGS_KERNEL :=
357KBUILD_CFLAGS_KERNEL :=
357KBUILD_AFLAGS := -D__ASSEMBLY__ 358KBUILD_AFLAGS := -D__ASSEMBLY__
359KBUILD_AFLAGS_MODULE := -DMODULE
360KBUILD_CFLAGS_MODULE := -DMODULE
361KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds
358 362
359# Read KERNELRELEASE from include/config/kernel.release (if it exists) 363# Read KERNELRELEASE from include/config/kernel.release (if it exists)
360KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null) 364KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
@@ -369,6 +373,8 @@ export HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS
369export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS 373export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS
370export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE CFLAGS_GCOV 374export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE CFLAGS_GCOV
371export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE 375export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
376export KBUILD_AFLAGS_MODULE KBUILD_CFLAGS_MODULE KBUILD_LDFLAGS_MODULE
377export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL
372 378
373# When compiling out-of-tree modules, put MODVERDIR in the module 379# When compiling out-of-tree modules, put MODVERDIR in the module
374# tree rather than in the kernel tree. The kernel tree might 380# tree rather than in the kernel tree. The kernel tree might
@@ -412,9 +418,9 @@ endif
412# of make so .config is not included in this case either (for *config). 418# of make so .config is not included in this case either (for *config).
413 419
414no-dot-config-targets := clean mrproper distclean \ 420no-dot-config-targets := clean mrproper distclean \
415 cscope TAGS tags help %docs check% \ 421 cscope TAGS tags help %docs check% coccicheck \
416 include/linux/version.h headers_% \ 422 include/linux/version.h headers_% \
417 kernelrelease kernelversion 423 kernelversion %src-pkg
418 424
419config-targets := 0 425config-targets := 0
420mixed-targets := 0 426mixed-targets := 0
@@ -526,7 +532,7 @@ endif # $(dot-config)
526# The all: target is the default when no target is given on the 532# The all: target is the default when no target is given on the
527# command line. 533# command line.
528# This allow a user to issue only 'make' to build a kernel including modules 534# This allow a user to issue only 'make' to build a kernel including modules
529# Defaults vmlinux but it is usually overridden in the arch makefile 535# Defaults to vmlinux, but the arch makefile usually adds further targets
530all: vmlinux 536all: vmlinux
531 537
532ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE 538ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
@@ -557,6 +563,10 @@ KBUILD_CFLAGS += -g
557KBUILD_AFLAGS += -gdwarf-2 563KBUILD_AFLAGS += -gdwarf-2
558endif 564endif
559 565
566ifdef CONFIG_DEBUG_INFO_REDUCED
567KBUILD_CFLAGS += $(call cc-option, -femit-struct-debug-baseonly)
568endif
569
560ifdef CONFIG_FUNCTION_TRACER 570ifdef CONFIG_FUNCTION_TRACER
561KBUILD_CFLAGS += -pg 571KBUILD_CFLAGS += -pg
562endif 572endif
@@ -603,7 +613,7 @@ endif
603# Use --build-id when available. 613# Use --build-id when available.
604LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,\ 614LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,\
605 $(call cc-ldoption, -Wl$(comma)--build-id,)) 615 $(call cc-ldoption, -Wl$(comma)--build-id,))
606LDFLAGS_MODULE += $(LDFLAGS_BUILD_ID) 616KBUILD_LDFLAGS_MODULE += $(LDFLAGS_BUILD_ID)
607LDFLAGS_vmlinux += $(LDFLAGS_BUILD_ID) 617LDFLAGS_vmlinux += $(LDFLAGS_BUILD_ID)
608 618
609ifeq ($(CONFIG_STRIP_ASM_SYMS),y) 619ifeq ($(CONFIG_STRIP_ASM_SYMS),y)
@@ -886,7 +896,7 @@ $(vmlinux-dirs): prepare scripts
886# Store (new) KERNELRELASE string in include/config/kernel.release 896# Store (new) KERNELRELASE string in include/config/kernel.release
887include/config/kernel.release: include/config/auto.conf FORCE 897include/config/kernel.release: include/config/auto.conf FORCE
888 $(Q)rm -f $@ 898 $(Q)rm -f $@
889 $(Q)echo "$(KERNELVERSION)$$($(CONFIG_SHELL) scripts/setlocalversion $(srctree))" > $@ 899 $(Q)echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))" > $@
890 900
891 901
892# Things we need to do before we recursively start building the kernel 902# Things we need to do before we recursively start building the kernel
@@ -1158,6 +1168,8 @@ distclean: mrproper
1158# rpm target kept for backward compatibility 1168# rpm target kept for backward compatibility
1159package-dir := $(srctree)/scripts/package 1169package-dir := $(srctree)/scripts/package
1160 1170
1171%src-pkg: FORCE
1172 $(Q)$(MAKE) $(build)=$(package-dir) $@
1161%pkg: include/config/kernel.release FORCE 1173%pkg: include/config/kernel.release FORCE
1162 $(Q)$(MAKE) $(build)=$(package-dir) $@ 1174 $(Q)$(MAKE) $(build)=$(package-dir) $@
1163rpm: include/config/kernel.release FORCE 1175rpm: include/config/kernel.release FORCE
@@ -1209,8 +1221,9 @@ help:
1209 @echo ' includecheck - Check for duplicate included header files' 1221 @echo ' includecheck - Check for duplicate included header files'
1210 @echo ' export_report - List the usages of all exported symbols' 1222 @echo ' export_report - List the usages of all exported symbols'
1211 @echo ' headers_check - Sanity check on exported headers' 1223 @echo ' headers_check - Sanity check on exported headers'
1212 @echo ' headerdep - Detect inclusion cycles in headers'; \ 1224 @echo ' headerdep - Detect inclusion cycles in headers'
1213 echo '' 1225 @$(MAKE) -f $(srctree)/scripts/Makefile.help checker-help
1226 @echo ''
1214 @echo 'Kernel packaging:' 1227 @echo 'Kernel packaging:'
1215 @$(MAKE) $(build)=$(package-dir) help 1228 @$(MAKE) $(build)=$(package-dir) help
1216 @echo '' 1229 @echo ''
@@ -1369,6 +1382,9 @@ versioncheck:
1369 -name '*.[hcS]' -type f -print | sort \ 1382 -name '*.[hcS]' -type f -print | sort \
1370 | xargs $(PERL) -w $(srctree)/scripts/checkversion.pl 1383 | xargs $(PERL) -w $(srctree)/scripts/checkversion.pl
1371 1384
1385coccicheck:
1386 $(Q)$(CONFIG_SHELL) $(srctree)/scripts/$@
1387
1372namespacecheck: 1388namespacecheck:
1373 $(PERL) $(srctree)/scripts/namespace.pl 1389 $(PERL) $(srctree)/scripts/namespace.pl
1374 1390
@@ -1393,9 +1409,9 @@ checkstack:
1393 $(OBJDUMP) -d vmlinux $$(find . -name '*.ko') | \ 1409 $(OBJDUMP) -d vmlinux $$(find . -name '*.ko') | \
1394 $(PERL) $(src)/scripts/checkstack.pl $(CHECKSTACK_ARCH) 1410 $(PERL) $(src)/scripts/checkstack.pl $(CHECKSTACK_ARCH)
1395 1411
1396kernelrelease: 1412kernelrelease: include/config/kernel.release
1397 $(if $(wildcard include/config/kernel.release), $(Q)echo $(KERNELRELEASE), \ 1413 @echo $(KERNELRELEASE)
1398 $(error kernelrelease not valid - run 'make prepare' to update it)) 1414
1399kernelversion: 1415kernelversion:
1400 @echo $(KERNELVERSION) 1416 @echo $(KERNELVERSION)
1401 1417
@@ -1472,6 +1488,7 @@ cmd_crmodverdir = $(Q)mkdir -p $(MODVERDIR) \
1472 $(if $(KBUILD_MODULES),; rm -f $(MODVERDIR)/*) 1488 $(if $(KBUILD_MODULES),; rm -f $(MODVERDIR)/*)
1473 1489
1474a_flags = -Wp,-MD,$(depfile) $(KBUILD_AFLAGS) $(AFLAGS_KERNEL) \ 1490a_flags = -Wp,-MD,$(depfile) $(KBUILD_AFLAGS) $(AFLAGS_KERNEL) \
1491 $(KBUILD_AFLAGS_KERNEL) \
1475 $(NOSTDINC_FLAGS) $(LINUXINCLUDE) $(KBUILD_CPPFLAGS) \ 1492 $(NOSTDINC_FLAGS) $(LINUXINCLUDE) $(KBUILD_CPPFLAGS) \
1476 $(modkern_aflags) $(EXTRA_AFLAGS) $(AFLAGS_$(basetarget).o) 1493 $(modkern_aflags) $(EXTRA_AFLAGS) $(AFLAGS_$(basetarget).o)
1477 1494