GNU Linux-libre 6.9-gnu
[releases.git] / tools / tracing / rtla / Makefile
1 # SPDX-License-Identifier: GPL-2.0-only
2
3 ifeq ($(srctree),)
4   srctree       := $(patsubst %/,%,$(dir $(CURDIR)))
5   srctree       := $(patsubst %/,%,$(dir $(srctree)))
6   srctree       := $(patsubst %/,%,$(dir $(srctree)))
7 endif
8
9 include $(srctree)/tools/scripts/Makefile.include
10
11 # O is an alias for OUTPUT
12 OUTPUT          := $(O)
13
14 ifeq ($(OUTPUT),)
15   OUTPUT        := $(CURDIR)
16 else
17   # subdir is used by the ../Makefile in $(call descend,)
18   ifneq ($(subdir),)
19     OUTPUT        := $(OUTPUT)/$(subdir)
20   endif
21 endif
22
23 ifneq ($(patsubst %/,,$(lastword $(OUTPUT))),)
24   OUTPUT        := $(OUTPUT)/
25 endif
26
27 RTLA            := $(OUTPUT)rtla
28 RTLA_IN         := $(RTLA)-in.o
29
30 VERSION         := $(shell sh -c "make -sC ../../.. kernelversion | grep -v make")
31 DOCSRC          := ../../../Documentation/tools/rtla/
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.include
47 include Makefile.rtla
48
49 # check for dependencies only on required targets
50 NON_CONFIG_TARGETS := clean install tarball doc doc_clean doc_install
51
52 config          := 1
53 ifdef MAKECMDGOALS
54 ifeq ($(filter-out $(NON_CONFIG_TARGETS),$(MAKECMDGOALS)),)
55  config         := 0
56 endif
57 endif
58
59 ifeq ($(config),1)
60   include $(srctree)/tools/build/Makefile.feature
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 $(RTLA) $(RTLA_IN) $(EXTLIBS)
70
71 static: $(RTLA_IN)
72         $(eval LDFLAGS += -static)
73         $(QUIET_LINK)$(CC) -static $(LDFLAGS) -o $(RTLA)-static $(RTLA_IN)  $(EXTLIBS)
74
75 rtla.%: fixdep FORCE
76         make -f $(srctree)/tools/build/Makefile.build dir=. $@
77
78 $(RTLA_IN): fixdep FORCE
79         make $(build)=rtla
80
81 clean: doc_clean fixdep-clean
82         $(call QUIET_CLEAN, rtla)
83         $(Q)find . -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete
84         $(Q)rm -f rtla rtla-static fixdep FEATURE-DUMP rtla-*
85         $(Q)rm -rf feature
86 .PHONY: FORCE clean