diff options
Diffstat (limited to 'kernel/gcov')
| -rw-r--r-- | kernel/gcov/Makefile | 36 |
1 files changed, 5 insertions, 31 deletions
diff --git a/kernel/gcov/Makefile b/kernel/gcov/Makefile index 52aa7e8de927..752d6486b67e 100644 --- a/kernel/gcov/Makefile +++ b/kernel/gcov/Makefile | |||
| @@ -1,33 +1,7 @@ | |||
| 1 | ccflags-y := -DSRCTREE='"$(srctree)"' -DOBJTREE='"$(objtree)"' | 1 | ccflags-y := -DSRCTREE='"$(srctree)"' -DOBJTREE='"$(objtree)"' |
| 2 | 2 | ||
| 3 | # if-lt | 3 | obj-y := base.o fs.o |
| 4 | # Usage VAR := $(call if-lt, $(a), $(b)) | 4 | obj-$(CONFIG_GCOV_FORMAT_3_4) += gcc_3_4.o |
| 5 | # Returns 1 if (a < b) | 5 | obj-$(CONFIG_GCOV_FORMAT_4_7) += gcc_4_7.o |
| 6 | if-lt = $(shell [ $(1) -lt $(2) ] && echo 1) | 6 | obj-$(CONFIG_GCOV_FORMAT_AUTODETECT) += $(call cc-ifversion, -lt, 0407, \ |
| 7 | 7 | gcc_3_4.o, gcc_4_7.o) | |
| 8 | ifeq ($(CONFIG_GCOV_FORMAT_3_4),y) | ||
| 9 | cc-ver := 0304 | ||
| 10 | else ifeq ($(CONFIG_GCOV_FORMAT_4_7),y) | ||
| 11 | cc-ver := 0407 | ||
| 12 | else | ||
| 13 | # Use cc-version if available, otherwise set 0 | ||
| 14 | # | ||
| 15 | # scripts/Kbuild.include, which contains cc-version function, is not included | ||
| 16 | # during make clean "make -f scripts/Makefile.clean obj=kernel/gcov" | ||
| 17 | # Meaning cc-ver is empty causing if-lt test to fail with | ||
| 18 | # "/bin/sh: line 0: [: -lt: unary operator expected" error mesage. | ||
| 19 | # This has no affect on the clean phase, but the error message could be | ||
| 20 | # confusing/annoying. So this dummy workaround sets cc-ver to zero if cc-version | ||
| 21 | # is not available. We can probably move if-lt to Kbuild.include, so it's also | ||
| 22 | # not defined during clean or to include Kbuild.include in | ||
| 23 | # scripts/Makefile.clean. But the following workaround seems least invasive. | ||
| 24 | cc-ver := $(if $(call cc-version),$(call cc-version),0) | ||
| 25 | endif | ||
| 26 | |||
| 27 | obj-$(CONFIG_GCOV_KERNEL) := base.o fs.o | ||
| 28 | |||
| 29 | ifeq ($(call if-lt, $(cc-ver), 0407),1) | ||
| 30 | obj-$(CONFIG_GCOV_KERNEL) += gcc_3_4.o | ||
| 31 | else | ||
| 32 | obj-$(CONFIG_GCOV_KERNEL) += gcc_4_7.o | ||
| 33 | endif | ||
