~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/objtool/Makefile

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /tools/objtool/Makefile (Version linux-6.12-rc7) and /tools/objtool/Makefile (Version linux-6.10.14)


  1 # SPDX-License-Identifier: GPL-2.0                  1 # SPDX-License-Identifier: GPL-2.0
  2 include ../scripts/Makefile.include                 2 include ../scripts/Makefile.include
  3 include ../scripts/Makefile.arch                    3 include ../scripts/Makefile.arch
  4                                                     4 
  5 ifeq ($(srctree),)                                  5 ifeq ($(srctree),)
  6 srctree := $(patsubst %/,%,$(dir $(CURDIR)))        6 srctree := $(patsubst %/,%,$(dir $(CURDIR)))
  7 srctree := $(patsubst %/,%,$(dir $(srctree)))       7 srctree := $(patsubst %/,%,$(dir $(srctree)))
  8 endif                                               8 endif
  9                                                     9 
 10 LIBSUBCMD_DIR = $(srctree)/tools/lib/subcmd/       10 LIBSUBCMD_DIR = $(srctree)/tools/lib/subcmd/
 11 ifneq ($(OUTPUT),)                                 11 ifneq ($(OUTPUT),)
 12   LIBSUBCMD_OUTPUT = $(abspath $(OUTPUT))/libs     12   LIBSUBCMD_OUTPUT = $(abspath $(OUTPUT))/libsubcmd
 13 else                                               13 else
 14   LIBSUBCMD_OUTPUT = $(CURDIR)/libsubcmd           14   LIBSUBCMD_OUTPUT = $(CURDIR)/libsubcmd
 15 endif                                              15 endif
 16 LIBSUBCMD = $(LIBSUBCMD_OUTPUT)/libsubcmd.a        16 LIBSUBCMD = $(LIBSUBCMD_OUTPUT)/libsubcmd.a
 17                                                    17 
 18 OBJTOOL    := $(OUTPUT)objtool                     18 OBJTOOL    := $(OUTPUT)objtool
 19 OBJTOOL_IN := $(OBJTOOL)-in.o                      19 OBJTOOL_IN := $(OBJTOOL)-in.o
 20                                                    20 
 21 LIBELF_FLAGS := $(shell $(HOSTPKG_CONFIG) libe     21 LIBELF_FLAGS := $(shell $(HOSTPKG_CONFIG) libelf --cflags 2>/dev/null)
 22 LIBELF_LIBS  := $(shell $(HOSTPKG_CONFIG) libe     22 LIBELF_LIBS  := $(shell $(HOSTPKG_CONFIG) libelf --libs 2>/dev/null || echo -lelf)
 23                                                    23 
 24 all: $(OBJTOOL)                                    24 all: $(OBJTOOL)
 25                                                    25 
 26 INCLUDES := -I$(srctree)/tools/include \           26 INCLUDES := -I$(srctree)/tools/include \
 27             -I$(srctree)/tools/arch/$(HOSTARCH     27             -I$(srctree)/tools/arch/$(HOSTARCH)/include/uapi \
 28             -I$(srctree)/tools/arch/$(SRCARCH)     28             -I$(srctree)/tools/arch/$(SRCARCH)/include  \
 29             -I$(srctree)/tools/objtool/include     29             -I$(srctree)/tools/objtool/include \
 30             -I$(srctree)/tools/objtool/arch/$(     30             -I$(srctree)/tools/objtool/arch/$(SRCARCH)/include \
 31             -I$(LIBSUBCMD_OUTPUT)/include          31             -I$(LIBSUBCMD_OUTPUT)/include
 32 # Note, EXTRA_WARNINGS here was determined for     32 # Note, EXTRA_WARNINGS here was determined for CC and not HOSTCC, it
 33 # is passed here to match a legacy behavior.       33 # is passed here to match a legacy behavior.
 34 WARNINGS := $(EXTRA_WARNINGS) -Wno-switch-defa     34 WARNINGS := $(EXTRA_WARNINGS) -Wno-switch-default -Wno-switch-enum -Wno-packed -Wno-nested-externs
 35 OBJTOOL_CFLAGS := -Werror $(WARNINGS) $(KBUILD     35 OBJTOOL_CFLAGS := -Werror $(WARNINGS) $(KBUILD_HOSTCFLAGS) -g $(INCLUDES) $(LIBELF_FLAGS)
 36 OBJTOOL_LDFLAGS := $(LIBELF_LIBS) $(LIBSUBCMD)     36 OBJTOOL_LDFLAGS := $(LIBELF_LIBS) $(LIBSUBCMD) $(KBUILD_HOSTLDFLAGS)
 37                                                    37 
 38 # Allow old libelf to be used:                     38 # Allow old libelf to be used:
 39 elfshdr := $(shell echo '$(pound)include <libe     39 elfshdr := $(shell echo '$(pound)include <libelf.h>' | $(HOSTCC) $(OBJTOOL_CFLAGS) -x c -E - | grep elf_getshdr)
 40 OBJTOOL_CFLAGS += $(if $(elfshdr),,-DLIBELF_US     40 OBJTOOL_CFLAGS += $(if $(elfshdr),,-DLIBELF_USE_DEPRECATED)
 41                                                    41 
 42 # Always want host compilation.                    42 # Always want host compilation.
 43 HOST_OVERRIDES := CC="$(HOSTCC)" LD="$(HOSTLD)     43 HOST_OVERRIDES := CC="$(HOSTCC)" LD="$(HOSTLD)" AR="$(HOSTAR)"
 44                                                    44 
 45 AWK = awk                                          45 AWK = awk
 46 MKDIR = mkdir                                      46 MKDIR = mkdir
 47                                                    47 
 48 ifeq ($(V),1)                                      48 ifeq ($(V),1)
 49   Q =                                              49   Q =
 50 else                                               50 else
 51   Q = @                                            51   Q = @
 52 endif                                              52 endif
 53                                                    53 
 54 BUILD_ORC := n                                     54 BUILD_ORC := n
 55                                                    55 
 56 ifeq ($(SRCARCH),x86)                              56 ifeq ($(SRCARCH),x86)
 57         BUILD_ORC := y                             57         BUILD_ORC := y
 58 endif                                              58 endif
 59                                                    59 
 60 ifeq ($(SRCARCH),loongarch)                        60 ifeq ($(SRCARCH),loongarch)
 61         BUILD_ORC := y                             61         BUILD_ORC := y
 62 endif                                              62 endif
 63                                                    63 
 64 export BUILD_ORC                                   64 export BUILD_ORC
 65 export srctree OUTPUT CFLAGS SRCARCH AWK           65 export srctree OUTPUT CFLAGS SRCARCH AWK
 66 include $(srctree)/tools/build/Makefile.includ     66 include $(srctree)/tools/build/Makefile.include
 67                                                    67 
 68 $(OBJTOOL_IN): fixdep $(LIBSUBCMD) FORCE           68 $(OBJTOOL_IN): fixdep $(LIBSUBCMD) FORCE
 69         $(Q)$(CONFIG_SHELL) ./sync-check.sh        69         $(Q)$(CONFIG_SHELL) ./sync-check.sh
 70         $(Q)$(MAKE) $(build)=objtool $(HOST_OV     70         $(Q)$(MAKE) $(build)=objtool $(HOST_OVERRIDES) CFLAGS="$(OBJTOOL_CFLAGS)" \
 71                 LDFLAGS="$(OBJTOOL_LDFLAGS)"       71                 LDFLAGS="$(OBJTOOL_LDFLAGS)"
 72                                                    72 
 73                                                    73 
 74 $(OBJTOOL): $(LIBSUBCMD) $(OBJTOOL_IN)             74 $(OBJTOOL): $(LIBSUBCMD) $(OBJTOOL_IN)
 75         $(QUIET_LINK)$(HOSTCC) $(OBJTOOL_IN) $     75         $(QUIET_LINK)$(HOSTCC) $(OBJTOOL_IN) $(OBJTOOL_LDFLAGS) -o $@
 76                                                    76 
 77                                                    77 
 78 $(LIBSUBCMD_OUTPUT):                               78 $(LIBSUBCMD_OUTPUT):
 79         $(Q)$(MKDIR) -p $@                         79         $(Q)$(MKDIR) -p $@
 80                                                    80 
 81 $(LIBSUBCMD): fixdep $(LIBSUBCMD_OUTPUT) FORCE     81 $(LIBSUBCMD): fixdep $(LIBSUBCMD_OUTPUT) FORCE
 82         $(Q)$(MAKE) -C $(LIBSUBCMD_DIR) O=$(LI     82         $(Q)$(MAKE) -C $(LIBSUBCMD_DIR) O=$(LIBSUBCMD_OUTPUT) \
 83                 DESTDIR=$(LIBSUBCMD_OUTPUT) pr     83                 DESTDIR=$(LIBSUBCMD_OUTPUT) prefix= subdir= \
 84                 $(HOST_OVERRIDES) EXTRA_CFLAGS     84                 $(HOST_OVERRIDES) EXTRA_CFLAGS="$(OBJTOOL_CFLAGS)" \
 85                 $@ install_headers                 85                 $@ install_headers
 86                                                    86 
 87 $(LIBSUBCMD)-clean:                                87 $(LIBSUBCMD)-clean:
 88         $(call QUIET_CLEAN, libsubcmd)             88         $(call QUIET_CLEAN, libsubcmd)
 89         $(Q)$(RM) -r -- $(LIBSUBCMD_OUTPUT)        89         $(Q)$(RM) -r -- $(LIBSUBCMD_OUTPUT)
 90                                                    90 
 91 clean: $(LIBSUBCMD)-clean                          91 clean: $(LIBSUBCMD)-clean
 92         $(call QUIET_CLEAN, objtool) $(RM) $(O     92         $(call QUIET_CLEAN, objtool) $(RM) $(OBJTOOL)
 93         $(Q)find $(OUTPUT) -name '*.o' -delete     93         $(Q)find $(OUTPUT) -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete
 94         $(Q)$(RM) $(OUTPUT)arch/x86/lib/inat-t     94         $(Q)$(RM) $(OUTPUT)arch/x86/lib/inat-tables.c $(OUTPUT)fixdep
 95                                                    95 
 96 FORCE:                                             96 FORCE:
 97                                                    97 
 98 .PHONY: clean FORCE                                98 .PHONY: clean FORCE
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php