|
@@ -6,6 +6,7 @@ ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
|
|
|
-e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
|
|
|
-e s/sh[234].*/sh/ -e s/aarch64.*/arm64/ )
|
|
|
NO_PERF_REGS := 1
|
|
|
+CFLAGS := $(EXTRA_CFLAGS) $(EXTRA_WARNINGS)
|
|
|
|
|
|
# Additional ARCH settings for x86
|
|
|
ifeq ($(ARCH),i386)
|
|
@@ -17,12 +18,12 @@ endif
|
|
|
ifeq ($(ARCH),x86_64)
|
|
|
override ARCH := x86
|
|
|
IS_X86_64 := 0
|
|
|
- ifeq (, $(findstring m32,$(EXTRA_CFLAGS)))
|
|
|
+ ifeq (, $(findstring m32,$(CFLAGS)))
|
|
|
IS_X86_64 := $(shell echo __x86_64__ | ${CC} -E -x c - | tail -n 1)
|
|
|
endif
|
|
|
ifeq (${IS_X86_64}, 1)
|
|
|
RAW_ARCH := x86_64
|
|
|
- ARCH_CFLAGS := -DARCH_X86_64
|
|
|
+ CFLAGS += -DARCH_X86_64
|
|
|
ARCH_INCLUDE = ../../arch/x86/lib/memcpy_64.S ../../arch/x86/lib/memset_64.S
|
|
|
endif
|
|
|
NO_PERF_REGS := 0
|
|
@@ -30,7 +31,7 @@ ifeq ($(ARCH),x86_64)
|
|
|
endif
|
|
|
|
|
|
ifeq ($(NO_PERF_REGS),0)
|
|
|
- BASIC_CFLAGS += -DHAVE_PERF_REGS
|
|
|
+ CFLAGS += -DHAVE_PERF_REGS
|
|
|
endif
|
|
|
|
|
|
-include config/feature-tests.mak
|
|
@@ -45,46 +46,52 @@ endif
|
|
|
|
|
|
# Treat warnings as errors unless directed not to
|
|
|
ifneq ($(WERROR),0)
|
|
|
- CFLAGS_WERROR := -Werror
|
|
|
+ CFLAGS += -Werror
|
|
|
endif
|
|
|
|
|
|
ifeq ("$(origin DEBUG)", "command line")
|
|
|
PERF_DEBUG = $(DEBUG)
|
|
|
endif
|
|
|
ifndef PERF_DEBUG
|
|
|
- CFLAGS_OPTIMIZE = -O6
|
|
|
+ CFLAGS += -O6
|
|
|
endif
|
|
|
|
|
|
ifdef PARSER_DEBUG
|
|
|
- PARSER_DEBUG_BISON := -t
|
|
|
- PARSER_DEBUG_FLEX := -d
|
|
|
- PARSER_DEBUG_CFLAGS := -DPARSER_DEBUG
|
|
|
+ PARSER_DEBUG_BISON := -t
|
|
|
+ PARSER_DEBUG_FLEX := -d
|
|
|
+ CFLAGS += -DPARSER_DEBUG
|
|
|
endif
|
|
|
|
|
|
-CFLAGS = -fno-omit-frame-pointer -ggdb3 -funwind-tables -Wall -Wextra -std=gnu99 $(CFLAGS_WERROR) $(CFLAGS_OPTIMIZE) $(EXTRA_WARNINGS) $(EXTRA_CFLAGS) $(PARSER_DEBUG_CFLAGS)
|
|
|
+CFLAGS += \
|
|
|
+ -fno-omit-frame-pointer \
|
|
|
+ -ggdb3 \
|
|
|
+ -funwind-tables \
|
|
|
+ -Wall \
|
|
|
+ -Wextra \
|
|
|
+ -std=gnu99
|
|
|
+
|
|
|
EXTLIBS = -lpthread -lrt -lelf -lm
|
|
|
-ALL_CFLAGS = $(CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
|
|
|
ALL_LDFLAGS = $(LDFLAGS)
|
|
|
|
|
|
ifeq ($(call try-cc,$(SOURCE_HELLO),$(CFLAGS) -Werror -fstack-protector-all,-fstack-protector-all),y)
|
|
|
- CFLAGS := $(CFLAGS) -fstack-protector-all
|
|
|
+ CFLAGS += -fstack-protector-all
|
|
|
endif
|
|
|
|
|
|
ifeq ($(call try-cc,$(SOURCE_HELLO),$(CFLAGS) -Werror -Wstack-protector,-Wstack-protector),y)
|
|
|
- CFLAGS := $(CFLAGS) -Wstack-protector
|
|
|
+ CFLAGS += -Wstack-protector
|
|
|
endif
|
|
|
|
|
|
ifeq ($(call try-cc,$(SOURCE_HELLO),$(CFLAGS) -Werror -Wvolatile-register-var,-Wvolatile-register-var),y)
|
|
|
- CFLAGS := $(CFLAGS) -Wvolatile-register-var
|
|
|
+ CFLAGS += -Wvolatile-register-var
|
|
|
endif
|
|
|
|
|
|
ifndef PERF_DEBUG
|
|
|
ifeq ($(call try-cc,$(SOURCE_HELLO),$(CFLAGS) -D_FORTIFY_SOURCE=2,-D_FORTIFY_SOURCE=2),y)
|
|
|
- CFLAGS := $(CFLAGS) -D_FORTIFY_SOURCE=2
|
|
|
+ CFLAGS += -D_FORTIFY_SOURCE=2
|
|
|
endif
|
|
|
endif
|
|
|
|
|
|
-BASIC_CFLAGS += \
|
|
|
+CFLAGS += \
|
|
|
-Iutil/include \
|
|
|
-Iarch/$(ARCH)/include \
|
|
|
$(if $(objtree),-I$(objtree)/arch/$(ARCH)/include/generated/uapi) \
|
|
@@ -106,7 +113,6 @@ ifeq ($(call try-cc,$(SOURCE_BIONIC),$(CFLAGS),bionic),y)
|
|
|
BIONIC := 1
|
|
|
EXTLIBS := $(filter-out -lrt,$(EXTLIBS))
|
|
|
EXTLIBS := $(filter-out -lpthread,$(EXTLIBS))
|
|
|
- BASIC_CFLAGS += -I.
|
|
|
endif
|
|
|
|
|
|
ifdef NO_LIBELF
|
|
@@ -114,9 +120,9 @@ ifdef NO_LIBELF
|
|
|
NO_DEMANGLE := 1
|
|
|
NO_LIBUNWIND := 1
|
|
|
else
|
|
|
-FLAGS_LIBELF=$(ALL_CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS)
|
|
|
+FLAGS_LIBELF=$(CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS)
|
|
|
ifneq ($(call try-cc,$(SOURCE_LIBELF),$(FLAGS_LIBELF),libelf),y)
|
|
|
- FLAGS_GLIBC=$(ALL_CFLAGS) $(ALL_LDFLAGS)
|
|
|
+ FLAGS_GLIBC=$(CFLAGS) $(ALL_LDFLAGS)
|
|
|
ifeq ($(call try-cc,$(SOURCE_GLIBC),$(FLAGS_GLIBC),glibc),y)
|
|
|
LIBC_SUPPORT := 1
|
|
|
endif
|
|
@@ -140,7 +146,7 @@ else
|
|
|
LIBDW_LDFLAGS := -L$(LIBDW_DIR)/lib
|
|
|
endif
|
|
|
|
|
|
- FLAGS_DWARF=$(ALL_CFLAGS) $(LIBDW_CFLAGS) -ldw -lelf $(LIBDW_LDFLAGS) $(ALL_LDFLAGS) $(EXTLIBS)
|
|
|
+ FLAGS_DWARF=$(CFLAGS) $(LIBDW_CFLAGS) -ldw -lelf $(LIBDW_LDFLAGS) $(ALL_LDFLAGS) $(EXTLIBS)
|
|
|
ifneq ($(call try-cc,$(SOURCE_DWARF),$(FLAGS_DWARF),libdw),y)
|
|
|
msg := $(warning No libdw.h found or old libdw.h found or elfutils is older than 0.138, disables dwarf support. Please install new elfutils-devel/libdw-dev);
|
|
|
NO_DWARF := 1
|
|
@@ -149,10 +155,10 @@ endif # SOURCE_LIBELF
|
|
|
endif # NO_LIBELF
|
|
|
|
|
|
ifndef NO_LIBELF
|
|
|
-BASIC_CFLAGS += -DLIBELF_SUPPORT
|
|
|
-FLAGS_LIBELF=$(ALL_CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS)
|
|
|
+CFLAGS += -DLIBELF_SUPPORT
|
|
|
+FLAGS_LIBELF=$(CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS)
|
|
|
ifeq ($(call try-cc,$(SOURCE_ELF_MMAP),$(FLAGS_LIBELF),-DLIBELF_MMAP),y)
|
|
|
- BASIC_CFLAGS += -DLIBELF_MMAP
|
|
|
+ CFLAGS += -DLIBELF_MMAP
|
|
|
endif
|
|
|
|
|
|
# include ARCH specific config
|
|
@@ -163,7 +169,7 @@ ifeq ($(origin PERF_HAVE_DWARF_REGS), undefined)
|
|
|
msg := $(warning DWARF register mappings have not been defined for architecture $(ARCH), DWARF support disabled);
|
|
|
NO_DWARF := 1
|
|
|
else
|
|
|
- BASIC_CFLAGS := -DDWARF_SUPPORT $(LIBDW_CFLAGS) $(BASIC_CFLAGS)
|
|
|
+ CFLAGS += -DDWARF_SUPPORT $(LIBDW_CFLAGS)
|
|
|
BASIC_LDFLAGS := $(LIBDW_LDFLAGS) $(BASIC_LDFLAGS)
|
|
|
EXTLIBS += -lelf -ldw
|
|
|
endif # PERF_HAVE_DWARF_REGS
|
|
@@ -184,7 +190,7 @@ ifdef LIBUNWIND_DIR
|
|
|
LIBUNWIND_LDFLAGS := -L$(LIBUNWIND_DIR)/lib
|
|
|
endif
|
|
|
|
|
|
-FLAGS_UNWIND=$(LIBUNWIND_CFLAGS) $(ALL_CFLAGS) $(LIBUNWIND_LDFLAGS) $(ALL_LDFLAGS) $(EXTLIBS) $(LIBUNWIND_LIBS)
|
|
|
+FLAGS_UNWIND=$(LIBUNWIND_CFLAGS) $(CFLAGS) $(LIBUNWIND_LDFLAGS) $(ALL_LDFLAGS) $(EXTLIBS) $(LIBUNWIND_LIBS)
|
|
|
ifneq ($(call try-cc,$(SOURCE_LIBUNWIND),$(FLAGS_UNWIND),libunwind),y)
|
|
|
msg := $(warning No libunwind found, disabling post unwind support. Please install libunwind-dev[el] >= 0.99);
|
|
|
NO_LIBUNWIND := 1
|
|
@@ -192,19 +198,19 @@ endif # Libunwind support
|
|
|
endif # NO_LIBUNWIND
|
|
|
|
|
|
ifndef NO_LIBUNWIND
|
|
|
- BASIC_CFLAGS += -DLIBUNWIND_SUPPORT
|
|
|
+ CFLAGS += -DLIBUNWIND_SUPPORT
|
|
|
EXTLIBS += $(LIBUNWIND_LIBS)
|
|
|
- BASIC_CFLAGS := $(LIBUNWIND_CFLAGS) $(BASIC_CFLAGS)
|
|
|
+ CFLAGS += $(LIBUNWIND_CFLAGS)
|
|
|
BASIC_LDFLAGS := $(LIBUNWIND_LDFLAGS) $(BASIC_LDFLAGS)
|
|
|
endif # NO_LIBUNWIND
|
|
|
|
|
|
ifndef NO_LIBAUDIT
|
|
|
- FLAGS_LIBAUDIT = $(ALL_CFLAGS) $(ALL_LDFLAGS) -laudit
|
|
|
+ FLAGS_LIBAUDIT = $(CFLAGS) $(ALL_LDFLAGS) -laudit
|
|
|
ifneq ($(call try-cc,$(SOURCE_LIBAUDIT),$(FLAGS_LIBAUDIT),libaudit),y)
|
|
|
msg := $(warning No libaudit.h found, disables 'trace' tool, please install audit-libs-devel or libaudit-dev);
|
|
|
NO_LIBAUDIT := 1
|
|
|
else
|
|
|
- BASIC_CFLAGS += -DLIBAUDIT_SUPPORT
|
|
|
+ CFLAGS += -DLIBAUDIT_SUPPORT
|
|
|
EXTLIBS += -laudit
|
|
|
endif
|
|
|
endif
|
|
@@ -214,29 +220,29 @@ ifdef NO_NEWT
|
|
|
endif
|
|
|
|
|
|
ifndef NO_SLANG
|
|
|
- FLAGS_SLANG=$(ALL_CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS) -I/usr/include/slang -lslang
|
|
|
+ FLAGS_SLANG=$(CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS) -I/usr/include/slang -lslang
|
|
|
ifneq ($(call try-cc,$(SOURCE_SLANG),$(FLAGS_SLANG),libslang),y)
|
|
|
msg := $(warning slang not found, disables TUI support. Please install slang-devel or libslang-dev);
|
|
|
NO_SLANG := 1
|
|
|
else
|
|
|
# Fedora has /usr/include/slang/slang.h, but ubuntu /usr/include/slang.h
|
|
|
- BASIC_CFLAGS += -I/usr/include/slang
|
|
|
- BASIC_CFLAGS += -DSLANG_SUPPORT
|
|
|
+ CFLAGS += -I/usr/include/slang
|
|
|
+ CFLAGS += -DSLANG_SUPPORT
|
|
|
EXTLIBS += -lslang
|
|
|
endif
|
|
|
endif
|
|
|
|
|
|
ifndef NO_GTK2
|
|
|
- FLAGS_GTK2=$(ALL_CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS) $(shell pkg-config --libs --cflags gtk+-2.0 2>/dev/null)
|
|
|
+ FLAGS_GTK2=$(CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS) $(shell pkg-config --libs --cflags gtk+-2.0 2>/dev/null)
|
|
|
ifneq ($(call try-cc,$(SOURCE_GTK2),$(FLAGS_GTK2),gtk2),y)
|
|
|
msg := $(warning GTK2 not found, disables GTK2 support. Please install gtk2-devel or libgtk2.0-dev);
|
|
|
NO_GTK2 := 1
|
|
|
else
|
|
|
ifeq ($(call try-cc,$(SOURCE_GTK2_INFOBAR),$(FLAGS_GTK2),-DHAVE_GTK_INFO_BAR),y)
|
|
|
- BASIC_CFLAGS += -DHAVE_GTK_INFO_BAR
|
|
|
+ CFLAGS += -DHAVE_GTK_INFO_BAR
|
|
|
endif
|
|
|
- BASIC_CFLAGS += -DGTK2_SUPPORT
|
|
|
- BASIC_CFLAGS += $(shell pkg-config --cflags gtk+-2.0 2>/dev/null)
|
|
|
+ CFLAGS += -DGTK2_SUPPORT
|
|
|
+ CFLAGS += $(shell pkg-config --cflags gtk+-2.0 2>/dev/null)
|
|
|
EXTLIBS += $(shell pkg-config --libs gtk+-2.0 2>/dev/null)
|
|
|
endif
|
|
|
endif
|
|
@@ -245,7 +251,7 @@ grep-libs = $(filter -l%,$(1))
|
|
|
strip-libs = $(filter-out -l%,$(1))
|
|
|
|
|
|
ifdef NO_LIBPERL
|
|
|
- BASIC_CFLAGS += -DNO_LIBPERL
|
|
|
+ CFLAGS += -DNO_LIBPERL
|
|
|
else
|
|
|
PERL_EMBED_LDOPTS = $(shell perl -MExtUtils::Embed -e ldopts 2>/dev/null)
|
|
|
PERL_EMBED_LDFLAGS = $(call strip-libs,$(PERL_EMBED_LDOPTS))
|
|
@@ -254,7 +260,7 @@ else
|
|
|
FLAGS_PERL_EMBED=$(PERL_EMBED_CCOPTS) $(PERL_EMBED_LDOPTS)
|
|
|
|
|
|
ifneq ($(call try-cc,$(SOURCE_PERL_EMBED),$(FLAGS_PERL_EMBED),perl),y)
|
|
|
- BASIC_CFLAGS += -DNO_LIBPERL
|
|
|
+ CFLAGS += -DNO_LIBPERL
|
|
|
NO_LIBPERL := 1
|
|
|
else
|
|
|
ALL_LDFLAGS += $(PERL_EMBED_LDFLAGS)
|
|
@@ -264,7 +270,7 @@ endif
|
|
|
|
|
|
disable-python = $(eval $(disable-python_code))
|
|
|
define disable-python_code
|
|
|
- BASIC_CFLAGS += -DNO_LIBPYTHON
|
|
|
+ CFLAGS += -DNO_LIBPYTHON
|
|
|
$(if $(1),$(warning No $(1) was found))
|
|
|
$(warning Python support will not be built)
|
|
|
NO_LIBPYTHON := 1
|
|
@@ -326,13 +332,13 @@ else
|
|
|
endif
|
|
|
|
|
|
ifdef NO_DEMANGLE
|
|
|
- BASIC_CFLAGS += -DNO_DEMANGLE
|
|
|
+ CFLAGS += -DNO_DEMANGLE
|
|
|
else
|
|
|
ifdef HAVE_CPLUS_DEMANGLE
|
|
|
EXTLIBS += -liberty
|
|
|
- BASIC_CFLAGS += -DHAVE_CPLUS_DEMANGLE
|
|
|
+ CFLAGS += -DHAVE_CPLUS_DEMANGLE
|
|
|
else
|
|
|
- FLAGS_BFD=$(ALL_CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS) -DPACKAGE='perf' -lbfd
|
|
|
+ FLAGS_BFD=$(CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS) -DPACKAGE='perf' -lbfd
|
|
|
has_bfd := $(call try-cc,$(SOURCE_BFD),$(FLAGS_BFD),libbfd)
|
|
|
ifeq ($(has_bfd),y)
|
|
|
EXTLIBS += -lbfd
|
|
@@ -347,14 +353,14 @@ else
|
|
|
ifeq ($(has_bfd_iberty_z),y)
|
|
|
EXTLIBS += -lbfd -liberty -lz
|
|
|
else
|
|
|
- FLAGS_CPLUS_DEMANGLE=$(ALL_CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS) -liberty
|
|
|
+ FLAGS_CPLUS_DEMANGLE=$(CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS) -liberty
|
|
|
has_cplus_demangle := $(call try-cc,$(SOURCE_CPLUS_DEMANGLE),$(FLAGS_CPLUS_DEMANGLE),demangle)
|
|
|
ifeq ($(has_cplus_demangle),y)
|
|
|
EXTLIBS += -liberty
|
|
|
- BASIC_CFLAGS += -DHAVE_CPLUS_DEMANGLE
|
|
|
+ CFLAGS += -DHAVE_CPLUS_DEMANGLE
|
|
|
else
|
|
|
msg := $(warning No bfd.h/libbfd found, install binutils-dev[el]/zlib-static to gain symbol demangling)
|
|
|
- BASIC_CFLAGS += -DNO_DEMANGLE
|
|
|
+ CFLAGS += -DNO_DEMANGLE
|
|
|
endif
|
|
|
endif
|
|
|
endif
|
|
@@ -364,29 +370,29 @@ endif
|
|
|
|
|
|
ifndef NO_STRLCPY
|
|
|
ifeq ($(call try-cc,$(SOURCE_STRLCPY),,-DHAVE_STRLCPY),y)
|
|
|
- BASIC_CFLAGS += -DHAVE_STRLCPY
|
|
|
+ CFLAGS += -DHAVE_STRLCPY
|
|
|
endif
|
|
|
endif
|
|
|
|
|
|
ifndef NO_ON_EXIT
|
|
|
ifeq ($(call try-cc,$(SOURCE_ON_EXIT),,-DHAVE_ON_EXIT),y)
|
|
|
- BASIC_CFLAGS += -DHAVE_ON_EXIT
|
|
|
+ CFLAGS += -DHAVE_ON_EXIT
|
|
|
endif
|
|
|
endif
|
|
|
|
|
|
ifndef NO_BACKTRACE
|
|
|
ifeq ($(call try-cc,$(SOURCE_BACKTRACE),,-DBACKTRACE_SUPPORT),y)
|
|
|
- BASIC_CFLAGS += -DBACKTRACE_SUPPORT
|
|
|
+ CFLAGS += -DBACKTRACE_SUPPORT
|
|
|
endif
|
|
|
endif
|
|
|
|
|
|
ifndef NO_LIBNUMA
|
|
|
- FLAGS_LIBNUMA = $(ALL_CFLAGS) $(ALL_LDFLAGS) -lnuma
|
|
|
+ FLAGS_LIBNUMA = $(CFLAGS) $(ALL_LDFLAGS) -lnuma
|
|
|
ifneq ($(call try-cc,$(SOURCE_LIBNUMA),$(FLAGS_LIBNUMA),libnuma),y)
|
|
|
msg := $(warning No numa.h found, disables 'perf bench numa mem' benchmark, please install numa-libs-devel or libnuma-dev);
|
|
|
NO_LIBNUMA := 1
|
|
|
else
|
|
|
- BASIC_CFLAGS += -DLIBNUMA_SUPPORT
|
|
|
+ CFLAGS += -DLIBNUMA_SUPPORT
|
|
|
EXTLIBS += -lnuma
|
|
|
endif
|
|
|
endif
|