aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile29
1 files changed, 20 insertions, 9 deletions
diff --git a/Makefile b/Makefile
index 141da26fda4b..968ac2af763b 100644
--- a/Makefile
+++ b/Makefile
@@ -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
@@ -414,7 +420,7 @@ endif
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% \
416 include/linux/version.h headers_% \ 422 include/linux/version.h headers_% \
417 kernelrelease kernelversion 423 kernelversion
418 424
419config-targets := 0 425config-targets := 0
420mixed-targets := 0 426mixed-targets := 0
@@ -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)
@@ -1393,9 +1403,9 @@ checkstack:
1393 $(OBJDUMP) -d vmlinux $$(find . -name '*.ko') | \ 1403 $(OBJDUMP) -d vmlinux $$(find . -name '*.ko') | \
1394 $(PERL) $(src)/scripts/checkstack.pl $(CHECKSTACK_ARCH) 1404 $(PERL) $(src)/scripts/checkstack.pl $(CHECKSTACK_ARCH)
1395 1405
1396kernelrelease: 1406kernelrelease: include/config/kernel.release
1397 $(if $(wildcard include/config/kernel.release), $(Q)echo $(KERNELRELEASE), \ 1407 @echo $(KERNELRELEASE)
1398 $(error kernelrelease not valid - run 'make prepare' to update it)) 1408
1399kernelversion: 1409kernelversion:
1400 @echo $(KERNELVERSION) 1410 @echo $(KERNELVERSION)
1401 1411
@@ -1472,6 +1482,7 @@ cmd_crmodverdir = $(Q)mkdir -p $(MODVERDIR) \
1472 $(if $(KBUILD_MODULES),; rm -f $(MODVERDIR)/*) 1482 $(if $(KBUILD_MODULES),; rm -f $(MODVERDIR)/*)
1473 1483
1474a_flags = -Wp,-MD,$(depfile) $(KBUILD_AFLAGS) $(AFLAGS_KERNEL) \ 1484a_flags = -Wp,-MD,$(depfile) $(KBUILD_AFLAGS) $(AFLAGS_KERNEL) \
1485 $(KBUILD_AFLAGS_KERNEL) \
1475 $(NOSTDINC_FLAGS) $(LINUXINCLUDE) $(KBUILD_CPPFLAGS) \ 1486 $(NOSTDINC_FLAGS) $(LINUXINCLUDE) $(KBUILD_CPPFLAGS) \
1476 $(modkern_aflags) $(EXTRA_AFLAGS) $(AFLAGS_$(basetarget).o) 1487 $(modkern_aflags) $(EXTRA_AFLAGS) $(AFLAGS_$(basetarget).o)
1477 1488