diff options
-rw-r--r-- | Makefile | 82 |
1 files changed, 41 insertions, 41 deletions
@@ -71,7 +71,7 @@ endif | |||
71 | # In both cases the working directory must be the root of the kernel src. | 71 | # In both cases the working directory must be the root of the kernel src. |
72 | # 1) O= | 72 | # 1) O= |
73 | # Use "make O=dir/to/store/output/files/" | 73 | # Use "make O=dir/to/store/output/files/" |
74 | # | 74 | # |
75 | # 2) Set KBUILD_OUTPUT | 75 | # 2) Set KBUILD_OUTPUT |
76 | # Set the environment variable KBUILD_OUTPUT to point to the directory | 76 | # Set the environment variable KBUILD_OUTPUT to point to the directory |
77 | # where the output files shall be placed. | 77 | # where the output files shall be placed. |
@@ -185,13 +185,13 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ | |||
185 | else if [ -x /bin/bash ]; then echo /bin/bash; \ | 185 | else if [ -x /bin/bash ]; then echo /bin/bash; \ |
186 | else echo sh; fi ; fi) | 186 | else echo sh; fi ; fi) |
187 | 187 | ||
188 | HOSTCC = gcc | 188 | HOSTCC = gcc |
189 | HOSTCXX = g++ | 189 | HOSTCXX = g++ |
190 | HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer | 190 | HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer |
191 | HOSTCXXFLAGS = -O2 | 191 | HOSTCXXFLAGS = -O2 |
192 | 192 | ||
193 | # Decide whether to build built-in, modular, or both. | 193 | # Decide whether to build built-in, modular, or both. |
194 | # Normally, just do built-in. | 194 | # Normally, just do built-in. |
195 | 195 | ||
196 | KBUILD_MODULES := | 196 | KBUILD_MODULES := |
197 | KBUILD_BUILTIN := 1 | 197 | KBUILD_BUILTIN := 1 |
@@ -199,7 +199,7 @@ KBUILD_BUILTIN := 1 | |||
199 | # If we have only "make modules", don't compile built-in objects. | 199 | # If we have only "make modules", don't compile built-in objects. |
200 | # When we're building modules with modversions, we need to consider | 200 | # When we're building modules with modversions, we need to consider |
201 | # the built-in objects during the descend as well, in order to | 201 | # the built-in objects during the descend as well, in order to |
202 | # make sure the checksums are uptodate before we record them. | 202 | # make sure the checksums are up to date before we record them. |
203 | 203 | ||
204 | ifeq ($(MAKECMDGOALS),modules) | 204 | ifeq ($(MAKECMDGOALS),modules) |
205 | KBUILD_BUILTIN := $(if $(CONFIG_MODVERSIONS),1) | 205 | KBUILD_BUILTIN := $(if $(CONFIG_MODVERSIONS),1) |
@@ -232,7 +232,7 @@ export KBUILD_CHECKSRC KBUILD_SRC KBUILD_EXTMOD | |||
232 | # | 232 | # |
233 | # If $(quiet) is empty, the whole command will be printed. | 233 | # If $(quiet) is empty, the whole command will be printed. |
234 | # If it is set to "quiet_", only the short version will be printed. | 234 | # If it is set to "quiet_", only the short version will be printed. |
235 | # If it is set to "silent_", nothing wil be printed at all, since | 235 | # If it is set to "silent_", nothing will be printed at all, since |
236 | # the variable $(silent_cmd_cc_o_c) doesn't exist. | 236 | # the variable $(silent_cmd_cc_o_c) doesn't exist. |
237 | # | 237 | # |
238 | # A simple variant is to prefix commands with $(Q) - that's useful | 238 | # A simple variant is to prefix commands with $(Q) - that's useful |
@@ -268,7 +268,7 @@ MAKEFLAGS += --include-dir=$(srctree) | |||
268 | include $(srctree)/scripts/Kbuild.include | 268 | include $(srctree)/scripts/Kbuild.include |
269 | 269 | ||
270 | # Do not use make's built-in rules and variables | 270 | # Do not use make's built-in rules and variables |
271 | # This increases performance and avoid hard-to-debug behaviour | 271 | # This increases performance and avoid hard-to-debug behavour |
272 | MAKEFLAGS += -rR | 272 | MAKEFLAGS += -rR |
273 | 273 | ||
274 | # Make variables (CC, etc...) | 274 | # Make variables (CC, etc...) |
@@ -306,21 +306,21 @@ LINUXINCLUDE := -Iinclude \ | |||
306 | 306 | ||
307 | CPPFLAGS := -D__KERNEL__ $(LINUXINCLUDE) | 307 | CPPFLAGS := -D__KERNEL__ $(LINUXINCLUDE) |
308 | 308 | ||
309 | CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \ | 309 | CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \ |
310 | -fno-strict-aliasing -fno-common | 310 | -fno-strict-aliasing -fno-common |
311 | AFLAGS := -D__ASSEMBLY__ | 311 | AFLAGS := -D__ASSEMBLY__ |
312 | 312 | ||
313 | # Read KERNELRELEASE from include/config/kernel.release (if it exists) | 313 | # Read KERNELRELEASE from include/config/kernel.release (if it exists) |
314 | KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null) | 314 | KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null) |
315 | KERNELVERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) | 315 | KERNELVERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) |
316 | 316 | ||
317 | export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION \ | 317 | export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION |
318 | ARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \ | 318 | export ARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC |
319 | CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL UTS_MACHINE \ | 319 | export CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL UTS_MACHINE |
320 | HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS | 320 | export HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS |
321 | 321 | ||
322 | export CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS | 322 | export CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS |
323 | export CFLAGS CFLAGS_KERNEL CFLAGS_MODULE | 323 | export CFLAGS CFLAGS_KERNEL CFLAGS_MODULE |
324 | export AFLAGS AFLAGS_KERNEL AFLAGS_MODULE | 324 | export AFLAGS AFLAGS_KERNEL AFLAGS_MODULE |
325 | 325 | ||
326 | # When compiling out-of-tree modules, put MODVERDIR in the module | 326 | # When compiling out-of-tree modules, put MODVERDIR in the module |
@@ -358,7 +358,7 @@ endif | |||
358 | # catch them early, and hand them over to scripts/kconfig/Makefile | 358 | # catch them early, and hand them over to scripts/kconfig/Makefile |
359 | # It is allowed to specify more targets when calling make, including | 359 | # It is allowed to specify more targets when calling make, including |
360 | # mixing *config targets and build targets. | 360 | # mixing *config targets and build targets. |
361 | # For example 'make oldconfig all'. | 361 | # For example 'make oldconfig all'. |
362 | # Detect when mixed targets is specified, and make a second invocation | 362 | # Detect when mixed targets is specified, and make a second invocation |
363 | # of make so .config is not included in this case either (for *config). | 363 | # of make so .config is not included in this case either (for *config). |
364 | 364 | ||
@@ -417,7 +417,7 @@ else | |||
417 | ifeq ($(KBUILD_EXTMOD),) | 417 | ifeq ($(KBUILD_EXTMOD),) |
418 | # Additional helpers built in scripts/ | 418 | # Additional helpers built in scripts/ |
419 | # Carefully list dependencies so we do not try to build scripts twice | 419 | # Carefully list dependencies so we do not try to build scripts twice |
420 | # in parrallel | 420 | # in parallel |
421 | PHONY += scripts | 421 | PHONY += scripts |
422 | scripts: scripts_basic include/config/auto.conf | 422 | scripts: scripts_basic include/config/auto.conf |
423 | $(Q)$(MAKE) $(build)=$(@) | 423 | $(Q)$(MAKE) $(build)=$(@) |
@@ -443,7 +443,7 @@ $(KCONFIG_CONFIG) include/config/auto.conf.cmd: ; | |||
443 | 443 | ||
444 | # If .config is newer than include/config/auto.conf, someone tinkered | 444 | # If .config is newer than include/config/auto.conf, someone tinkered |
445 | # with it and forgot to run make oldconfig. | 445 | # with it and forgot to run make oldconfig. |
446 | # if auto.conf.cmd is missing then we are probarly in a cleaned tree so | 446 | # if auto.conf.cmd is missing then we are probably in a cleaned tree so |
447 | # we execute the config step to be sure to catch updated Kconfig files | 447 | # we execute the config step to be sure to catch updated Kconfig files |
448 | include/config/auto.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd | 448 | include/config/auto.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd |
449 | ifeq ($(KBUILD_EXTMOD),) | 449 | ifeq ($(KBUILD_EXTMOD),) |
@@ -460,7 +460,7 @@ endif | |||
460 | # The all: target is the default when no target is given on the | 460 | # The all: target is the default when no target is given on the |
461 | # command line. | 461 | # command line. |
462 | # This allow a user to issue only 'make' to build a kernel including modules | 462 | # This allow a user to issue only 'make' to build a kernel including modules |
463 | # Defaults vmlinux but it is usually overriden in the arch makefile | 463 | # Defaults vmlinux but it is usually overridden in the arch makefile |
464 | all: vmlinux | 464 | all: vmlinux |
465 | 465 | ||
466 | ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE | 466 | ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE |
@@ -492,11 +492,11 @@ CHECKFLAGS += $(NOSTDINC_FLAGS) | |||
492 | # warn about C99 declaration after statement | 492 | # warn about C99 declaration after statement |
493 | CFLAGS += $(call cc-option,-Wdeclaration-after-statement,) | 493 | CFLAGS += $(call cc-option,-Wdeclaration-after-statement,) |
494 | 494 | ||
495 | # disable pointer signedness warnings in gcc 4.0 | 495 | # disable pointer signed / unsigned warnings in gcc 4.0 |
496 | CFLAGS += $(call cc-option,-Wno-pointer-sign,) | 496 | CFLAGS += $(call cc-option,-Wno-pointer-sign,) |
497 | 497 | ||
498 | # Default kernel image to build when no specific target is given. | 498 | # Default kernel image to build when no specific target is given. |
499 | # KBUILD_IMAGE may be overruled on the commandline or | 499 | # KBUILD_IMAGE may be overruled on the command line or |
500 | # set in the environment | 500 | # set in the environment |
501 | # Also any assignments in arch/$(ARCH)/Makefile take precedence over | 501 | # Also any assignments in arch/$(ARCH)/Makefile take precedence over |
502 | # this default value | 502 | # this default value |
@@ -510,7 +510,7 @@ export INSTALL_PATH ?= /boot | |||
510 | # | 510 | # |
511 | # INSTALL_MOD_PATH specifies a prefix to MODLIB for module directory | 511 | # INSTALL_MOD_PATH specifies a prefix to MODLIB for module directory |
512 | # relocations required by build roots. This is not defined in the | 512 | # relocations required by build roots. This is not defined in the |
513 | # makefile but the arguement can be passed to make if needed. | 513 | # makefile but the argument can be passed to make if needed. |
514 | # | 514 | # |
515 | 515 | ||
516 | MODLIB = $(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE) | 516 | MODLIB = $(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE) |
@@ -556,7 +556,7 @@ libs-y := $(libs-y1) $(libs-y2) | |||
556 | 556 | ||
557 | # Build vmlinux | 557 | # Build vmlinux |
558 | # --------------------------------------------------------------------------- | 558 | # --------------------------------------------------------------------------- |
559 | # vmlinux is build from the objects selected by $(vmlinux-init) and | 559 | # vmlinux is built from the objects selected by $(vmlinux-init) and |
560 | # $(vmlinux-main). Most are built-in.o files from top-level directories | 560 | # $(vmlinux-main). Most are built-in.o files from top-level directories |
561 | # in the kernel tree, others are specified in arch/$(ARCH)Makefile. | 561 | # in the kernel tree, others are specified in arch/$(ARCH)Makefile. |
562 | # Ordering when linking is important, and $(vmlinux-init) must be first. | 562 | # Ordering when linking is important, and $(vmlinux-init) must be first. |
@@ -607,7 +607,7 @@ quiet_cmd_vmlinux_version = GEN .version | |||
607 | $(MAKE) $(build)=init | 607 | $(MAKE) $(build)=init |
608 | 608 | ||
609 | # Generate System.map | 609 | # Generate System.map |
610 | quiet_cmd_sysmap = SYSMAP | 610 | quiet_cmd_sysmap = SYSMAP |
611 | cmd_sysmap = $(CONFIG_SHELL) $(srctree)/scripts/mksysmap | 611 | cmd_sysmap = $(CONFIG_SHELL) $(srctree)/scripts/mksysmap |
612 | 612 | ||
613 | # Link of vmlinux | 613 | # Link of vmlinux |
@@ -754,10 +754,10 @@ _localver = $(foreach f, $(__localver), $(if $(findstring ~, $(f)),,$(f))) | |||
754 | localver = $(subst $(space),, \ | 754 | localver = $(subst $(space),, \ |
755 | $(shell cat /dev/null $(_localver)) \ | 755 | $(shell cat /dev/null $(_localver)) \ |
756 | $(patsubst "%",%,$(CONFIG_LOCALVERSION))) | 756 | $(patsubst "%",%,$(CONFIG_LOCALVERSION))) |
757 | 757 | ||
758 | # If CONFIG_LOCALVERSION_AUTO is set scripts/setlocalversion is called | 758 | # If CONFIG_LOCALVERSION_AUTO is set scripts/setlocalversion is called |
759 | # and if the SCM is know a tag from the SCM is appended. | 759 | # and if the SCM is know a tag from the SCM is appended. |
760 | # The appended tag is determinded by the SCM used. | 760 | # The appended tag is determined by the SCM used. |
761 | # | 761 | # |
762 | # Currently, only git is supported. | 762 | # Currently, only git is supported. |
763 | # Other SCMs can edit scripts/setlocalversion and add the appropriate | 763 | # Other SCMs can edit scripts/setlocalversion and add the appropriate |
@@ -823,14 +823,14 @@ prepare0: archprepare FORCE | |||
823 | # All the preparing.. | 823 | # All the preparing.. |
824 | prepare prepare-all: prepare0 | 824 | prepare prepare-all: prepare0 |
825 | 825 | ||
826 | # Leave this as default for preprocessing vmlinux.lds.S, which is now | 826 | # Leave this as default for preprocessing vmlinux.lds.S, which is now |
827 | # done in arch/$(ARCH)/kernel/Makefile | 827 | # done in arch/$(ARCH)/kernel/Makefile |
828 | 828 | ||
829 | export CPPFLAGS_vmlinux.lds += -P -C -U$(ARCH) | 829 | export CPPFLAGS_vmlinux.lds += -P -C -U$(ARCH) |
830 | 830 | ||
831 | # FIXME: The asm symlink changes when $(ARCH) changes. That's | 831 | # FIXME: The asm symlink changes when $(ARCH) changes. That's |
832 | # hard to detect, but I suppose "make mrproper" is a good idea | 832 | # hard to detect, but I suppose "make mrproper" is a good idea |
833 | # before switching between archs anyway. | 833 | # before switching between archs anyway. |
834 | 834 | ||
835 | include/asm: | 835 | include/asm: |
836 | @echo ' SYMLINK $@ -> include/asm-$(ARCH)' | 836 | @echo ' SYMLINK $@ -> include/asm-$(ARCH)' |
@@ -870,7 +870,7 @@ depend dep: | |||
870 | 870 | ||
871 | ifdef CONFIG_MODULES | 871 | ifdef CONFIG_MODULES |
872 | 872 | ||
873 | # By default, build modules as well | 873 | # By default, build modules as well |
874 | 874 | ||
875 | all: modules | 875 | all: modules |
876 | 876 | ||
@@ -968,7 +968,7 @@ clean: archclean $(clean-dirs) | |||
968 | $(call cmd,rmdirs) | 968 | $(call cmd,rmdirs) |
969 | $(call cmd,rmfiles) | 969 | $(call cmd,rmfiles) |
970 | @find . $(RCS_FIND_IGNORE) \ | 970 | @find . $(RCS_FIND_IGNORE) \ |
971 | \( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \ | 971 | \( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \ |
972 | -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \ | 972 | -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \ |
973 | -o -name '*.symtypes' \) \ | 973 | -o -name '*.symtypes' \) \ |
974 | -type f -print | xargs rm -f | 974 | -type f -print | xargs rm -f |
@@ -993,9 +993,9 @@ PHONY += distclean | |||
993 | 993 | ||
994 | distclean: mrproper | 994 | distclean: mrproper |
995 | @find $(srctree) $(RCS_FIND_IGNORE) \ | 995 | @find $(srctree) $(RCS_FIND_IGNORE) \ |
996 | \( -name '*.orig' -o -name '*.rej' -o -name '*~' \ | 996 | \( -name '*.orig' -o -name '*.rej' -o -name '*~' \ |
997 | -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \ | 997 | -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \ |
998 | -o -name '.*.rej' -o -size 0 \ | 998 | -o -name '.*.rej' -o -size 0 \ |
999 | -o -name '*%' -o -name '.*.cmd' -o -name 'core' \) \ | 999 | -o -name '*%' -o -name '.*.cmd' -o -name 'core' \) \ |
1000 | -type f -print | xargs rm -f | 1000 | -type f -print | xargs rm -f |
1001 | 1001 | ||
@@ -1088,7 +1088,7 @@ else # KBUILD_EXTMOD | |||
1088 | # make M=dir modules Make all modules in specified dir | 1088 | # make M=dir modules Make all modules in specified dir |
1089 | # make M=dir Same as 'make M=dir modules' | 1089 | # make M=dir Same as 'make M=dir modules' |
1090 | # make M=dir modules_install | 1090 | # make M=dir modules_install |
1091 | # Install the modules build in the module directory | 1091 | # Install the modules built in the module directory |
1092 | # Assumes install directory is already created | 1092 | # Assumes install directory is already created |
1093 | 1093 | ||
1094 | # We are always building modules | 1094 | # We are always building modules |
@@ -1147,7 +1147,7 @@ clean: rm-dirs := $(MODVERDIR) | |||
1147 | clean: $(clean-dirs) | 1147 | clean: $(clean-dirs) |
1148 | $(call cmd,rmdirs) | 1148 | $(call cmd,rmdirs) |
1149 | @find $(KBUILD_EXTMOD) $(RCS_FIND_IGNORE) \ | 1149 | @find $(KBUILD_EXTMOD) $(RCS_FIND_IGNORE) \ |
1150 | \( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \ | 1150 | \( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \ |
1151 | -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \) \ | 1151 | -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \) \ |
1152 | -type f -print | xargs rm -f | 1152 | -type f -print | xargs rm -f |
1153 | 1153 | ||
@@ -1186,7 +1186,7 @@ else | |||
1186 | ALLINCLUDE_ARCHS := $(ARCH) | 1186 | ALLINCLUDE_ARCHS := $(ARCH) |
1187 | endif | 1187 | endif |
1188 | else | 1188 | else |
1189 | #Allow user to specify only ALLSOURCE_PATHS on the command line, keeping existing behaviour. | 1189 | #Allow user to specify only ALLSOURCE_PATHS on the command line, keeping existing behavour. |
1190 | ALLINCLUDE_ARCHS := $(ALLSOURCE_ARCHS) | 1190 | ALLINCLUDE_ARCHS := $(ALLSOURCE_ARCHS) |
1191 | endif | 1191 | endif |
1192 | 1192 | ||