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

TOMOYO Linux Cross Reference
Linux/tools/tracing/rtla/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/tracing/rtla/Makefile (Version linux-6.12-rc7) and /tools/tracing/rtla/Makefile (Version linux-6.2.16)


  1 # SPDX-License-Identifier: GPL-2.0-only        !!   1 NAME    :=      rtla
  2                                                !!   2 # Follow the kernel version
  3 ifeq ($(srctree),)                             !!   3 VERSION :=      $(shell cat VERSION 2> /dev/null || make -sC ../../.. kernelversion | grep -v make)
  4   srctree       := $(patsubst %/,%,$(dir $(CUR !!   4 
  5   srctree       := $(patsubst %/,%,$(dir $(src !!   5 # From libtracefs:
  6   srctree       := $(patsubst %/,%,$(dir $(src !!   6 # Makefiles suck: This macro sets a default value of $(2) for the
  7 endif                                          !!   7 # variable named by $(1), unless the variable has been set by
  8                                                !!   8 # environment or command line. This is necessary for CC and AR
  9 include $(srctree)/tools/scripts/Makefile.incl !!   9 # because make sets default values, so the simpler ?= approach
 10                                                !!  10 # won't work as expected.
 11 # O is an alias for OUTPUT                     !!  11 define allow-override
 12 OUTPUT          := $(O)                        !!  12   $(if $(or $(findstring environment,$(origin $(1))),\
 13                                                !!  13             $(findstring command line,$(origin $(1)))),,\
 14 ifeq ($(OUTPUT),)                              !!  14     $(eval $(1) = $(2)))
 15   OUTPUT        := $(CURDIR)                   !!  15 endef
                                                   >>  16 
                                                   >>  17 # Allow setting CC and AR, or setting CROSS_COMPILE as a prefix.
                                                   >>  18 $(call allow-override,CC,$(CROSS_COMPILE)gcc)
                                                   >>  19 $(call allow-override,AR,$(CROSS_COMPILE)ar)
                                                   >>  20 $(call allow-override,STRIP,$(CROSS_COMPILE)strip)
                                                   >>  21 $(call allow-override,PKG_CONFIG,pkg-config)
                                                   >>  22 $(call allow-override,LD_SO_CONF_PATH,/etc/ld.so.conf.d/)
                                                   >>  23 $(call allow-override,LDCONFIG,ldconfig)
                                                   >>  24 
                                                   >>  25 INSTALL =       install
                                                   >>  26 MKDIR   =       mkdir
                                                   >>  27 FOPTS   :=      -flto=auto -ffat-lto-objects -fexceptions -fstack-protector-strong \
                                                   >>  28                 -fasynchronous-unwind-tables -fstack-clash-protection
                                                   >>  29 WOPTS   :=      -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -Wno-maybe-uninitialized
                                                   >>  30 
                                                   >>  31 TRACEFS_HEADERS := $$($(PKG_CONFIG) --cflags libtracefs)
                                                   >>  32 
                                                   >>  33 CFLAGS  :=      -O -g -DVERSION=\"$(VERSION)\" $(FOPTS) $(MOPTS) $(WOPTS) $(TRACEFS_HEADERS) $(EXTRA_CFLAGS)
                                                   >>  34 LDFLAGS :=      -ggdb $(EXTRA_LDFLAGS)
                                                   >>  35 LIBS    :=      $$($(PKG_CONFIG) --libs libtracefs)
                                                   >>  36 
                                                   >>  37 SRC     :=      $(wildcard src/*.c)
                                                   >>  38 HDR     :=      $(wildcard src/*.h)
                                                   >>  39 OBJ     :=      $(SRC:.c=.o)
                                                   >>  40 DIRS    :=      src
                                                   >>  41 FILES   :=      Makefile README.txt
                                                   >>  42 CEXT    :=      bz2
                                                   >>  43 TARBALL :=      $(NAME)-$(VERSION).tar.$(CEXT)
                                                   >>  44 TAROPTS :=      -cvjf $(TARBALL)
                                                   >>  45 BINDIR  :=      /usr/bin
                                                   >>  46 DATADIR :=      /usr/share
                                                   >>  47 DOCDIR  :=      $(DATADIR)/doc
                                                   >>  48 MANDIR  :=      $(DATADIR)/man
                                                   >>  49 LICDIR  :=      $(DATADIR)/licenses
                                                   >>  50 SRCTREE :=      $(or $(BUILD_SRC),$(CURDIR))
                                                   >>  51 
                                                   >>  52 # If running from the tarball, man pages are stored in the Documentation
                                                   >>  53 # dir. If running from the kernel source, man pages are stored in
                                                   >>  54 # Documentation/tools/rtla/.
                                                   >>  55 ifneq ($(wildcard Documentation/.*),)
                                                   >>  56 DOCSRC  =       Documentation/
 16 else                                               57 else
 17   # subdir is used by the ../Makefile in $(cal !!  58 DOCSRC  =       $(SRCTREE)/../../../Documentation/tools/rtla/
 18   ifneq ($(subdir),)                           << 
 19     OUTPUT        := $(OUTPUT)/$(subdir)       << 
 20   endif                                        << 
 21 endif                                          << 
 22                                                << 
 23 ifneq ($(patsubst %/,,$(lastword $(OUTPUT))),) << 
 24   OUTPUT        := $(OUTPUT)/                  << 
 25 endif                                              59 endif
 26                                                    60 
 27 RTLA            := $(OUTPUT)rtla               !!  61 LIBTRACEEVENT_MIN_VERSION = 1.5
 28 RTLA_IN         := $(RTLA)-in.o                !!  62 LIBTRACEFS_MIN_VERSION = 1.3
 29                                                << 
 30 VERSION         := $(shell sh -c "make -sC ../ << 
 31 DOCSRC          := ../../../Documentation/tool << 
 32                                                << 
 33 FEATURE_TESTS   := libtraceevent               << 
 34 FEATURE_TESTS   += libtracefs                  << 
 35 FEATURE_DISPLAY := libtraceevent               << 
 36 FEATURE_DISPLAY += libtracefs                  << 
 37                                                << 
 38 ifeq ($(V),1)                                  << 
 39   Q             =                              << 
 40 else                                           << 
 41   Q             = @                            << 
 42 endif                                          << 
 43                                                << 
 44 all: $(RTLA)                                   << 
 45                                                << 
 46 include $(srctree)/tools/build/Makefile.includ << 
 47 include Makefile.rtla                          << 
 48                                                << 
 49 # check for dependencies only on required targ << 
 50 NON_CONFIG_TARGETS := clean install tarball do << 
 51                                                << 
 52 config          := 1                           << 
 53 ifdef MAKECMDGOALS                             << 
 54 ifeq ($(filter-out $(NON_CONFIG_TARGETS),$(MAK << 
 55  config         := 0                           << 
 56 endif                                          << 
 57 endif                                          << 
 58                                                << 
 59 ifeq ($(config),1)                             << 
 60   include $(srctree)/tools/build/Makefile.feat << 
 61   include Makefile.config                      << 
 62 endif                                          << 
 63                                                << 
 64 CFLAGS          += $(INCLUDES) $(LIB_INCLUDES) << 
 65                                                << 
 66 export CFLAGS OUTPUT srctree                   << 
 67                                                << 
 68 $(RTLA): $(RTLA_IN)                            << 
 69         $(QUIET_LINK)$(CC) $(LDFLAGS) -o $(RTL << 
 70                                                    63 
 71 static: $(RTLA_IN)                             !!  64 .PHONY: all warnings show_warnings
 72         $(eval LDFLAGS += -static)             !!  65 all:    warnings rtla
 73         $(QUIET_LINK)$(CC) -static $(LDFLAGS)  << 
 74                                                    66 
 75 rtla.%: fixdep FORCE                           !!  67 TEST_LIBTRACEEVENT = $(shell sh -c "$(PKG_CONFIG) --atleast-version $(LIBTRACEEVENT_MIN_VERSION) libtraceevent > /dev/null 2>&1 || echo n")
 76         make -f $(srctree)/tools/build/Makefil !!  68 ifeq ("$(TEST_LIBTRACEEVENT)", "n")
                                                   >>  69 WARNINGS = show_warnings
                                                   >>  70 MISSING_LIBS += echo "**   libtraceevent version $(LIBTRACEEVENT_MIN_VERSION) or higher";
                                                   >>  71 MISSING_PACKAGES += "libtraceevent-devel"
                                                   >>  72 MISSING_SOURCE += echo "**  https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/ ";
                                                   >>  73 endif
                                                   >>  74 
                                                   >>  75 TEST_LIBTRACEFS = $(shell sh -c "$(PKG_CONFIG) --atleast-version $(LIBTRACEFS_MIN_VERSION) libtracefs > /dev/null 2>&1 || echo n")
                                                   >>  76 ifeq ("$(TEST_LIBTRACEFS)", "n")
                                                   >>  77 WARNINGS = show_warnings
                                                   >>  78 MISSING_LIBS += echo "**   libtracefs version $(LIBTRACEFS_MIN_VERSION) or higher";
                                                   >>  79 MISSING_PACKAGES += "libtracefs-devel"
                                                   >>  80 MISSING_SOURCE += echo "**  https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/ ";
                                                   >>  81 endif
                                                   >>  82 
                                                   >>  83 define show_dependencies
                                                   >>  84         @echo "********************************************";                           \
                                                   >>  85         echo "** NOTICE: Failed build dependencies";                                    \
                                                   >>  86         echo "**";                                                                      \
                                                   >>  87         echo "** Required Libraries:";                                                  \
                                                   >>  88         $(MISSING_LIBS)                                                                 \
                                                   >>  89         echo "**";                                                                      \
                                                   >>  90         echo "** Consider installing the latest libtracefs from your";                  \
                                                   >>  91         echo "** distribution, e.g., 'dnf install $(MISSING_PACKAGES)' on Fedora,";     \
                                                   >>  92         echo "** or from source:";                                                      \
                                                   >>  93         echo "**";                                                                      \
                                                   >>  94         $(MISSING_SOURCE)                                                               \
                                                   >>  95         echo "**";                                                                      \
                                                   >>  96         echo "********************************************"
                                                   >>  97 endef
                                                   >>  98 
                                                   >>  99 show_warnings:
                                                   >> 100         $(call show_dependencies);
                                                   >> 101 
                                                   >> 102 ifneq ("$(WARNINGS)", "")
                                                   >> 103 ERROR_OUT = $(error Please add the necessary dependencies)
                                                   >> 104 
                                                   >> 105 warnings: $(WARNINGS)
                                                   >> 106         $(ERROR_OUT)
                                                   >> 107 endif
                                                   >> 108 
                                                   >> 109 rtla: $(OBJ)
                                                   >> 110         $(CC) -o rtla $(LDFLAGS) $(OBJ) $(LIBS)
                                                   >> 111 
                                                   >> 112 static: $(OBJ)
                                                   >> 113         $(CC) -o rtla-static $(LDFLAGS) --static $(OBJ) $(LIBS) -lpthread -ldl
                                                   >> 114 
                                                   >> 115 .PHONY: install
                                                   >> 116 install: doc_install
                                                   >> 117         $(MKDIR) -p $(DESTDIR)$(BINDIR)
                                                   >> 118         $(INSTALL) rtla -m 755 $(DESTDIR)$(BINDIR)
                                                   >> 119         $(STRIP) $(DESTDIR)$(BINDIR)/rtla
                                                   >> 120         @test ! -f $(DESTDIR)$(BINDIR)/osnoise || rm $(DESTDIR)$(BINDIR)/osnoise
                                                   >> 121         ln -s rtla $(DESTDIR)$(BINDIR)/osnoise
                                                   >> 122         @test ! -f $(DESTDIR)$(BINDIR)/timerlat || rm $(DESTDIR)$(BINDIR)/timerlat
                                                   >> 123         ln -s rtla $(DESTDIR)$(BINDIR)/timerlat
                                                   >> 124 
                                                   >> 125 .PHONY: clean tarball
                                                   >> 126 clean: doc_clean
                                                   >> 127         @test ! -f rtla || rm rtla
                                                   >> 128         @test ! -f rtla-static || rm rtla-static
                                                   >> 129         @test ! -f src/rtla.o || rm src/rtla.o
                                                   >> 130         @test ! -f $(TARBALL) || rm -f $(TARBALL)
                                                   >> 131         @rm -rf *~ $(OBJ) *.tar.$(CEXT)
                                                   >> 132 
                                                   >> 133 tarball: clean
                                                   >> 134         rm -rf $(NAME)-$(VERSION) && mkdir $(NAME)-$(VERSION)
                                                   >> 135         echo $(VERSION) > $(NAME)-$(VERSION)/VERSION
                                                   >> 136         cp -r $(DIRS) $(FILES) $(NAME)-$(VERSION)
                                                   >> 137         mkdir $(NAME)-$(VERSION)/Documentation/
                                                   >> 138         cp -rp $(SRCTREE)/../../../Documentation/tools/rtla/* $(NAME)-$(VERSION)/Documentation/
                                                   >> 139         tar $(TAROPTS) --exclude='*~' $(NAME)-$(VERSION)
                                                   >> 140         rm -rf $(NAME)-$(VERSION)
                                                   >> 141 
                                                   >> 142 .PHONY: doc doc_clean doc_install
                                                   >> 143 doc:
                                                   >> 144         $(MAKE) -C $(DOCSRC)
 77                                                   145 
 78 $(RTLA_IN): fixdep FORCE                       !! 146 doc_clean:
 79         make $(build)=rtla                     !! 147         $(MAKE) -C $(DOCSRC) clean
 80                                                   148 
 81 clean: doc_clean fixdep-clean                  !! 149 doc_install:
 82         $(call QUIET_CLEAN, rtla)              !! 150         $(MAKE) -C $(DOCSRC) install
 83         $(Q)find . -name '*.o' -delete -o -nam << 
 84         $(Q)rm -f rtla rtla-static fixdep FEAT << 
 85         $(Q)rm -rf feature                     << 
 86 .PHONY: FORCE clean                            << 
                                                      

~ [ 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