1 # SPDX-License-Identifier: GPL-2.0-only !! 1 # SPDX-License-Identifier: GPL-2.0 >> 2 # Makefile for vm tools >> 3 # >> 4 VAR_CFLAGS := $(shell pkg-config --cflags libtracefs 2>/dev/null) >> 5 VAR_LDLIBS := $(shell pkg-config --libs libtracefs 2>/dev/null) >> 6 >> 7 TARGETS = latency-collector >> 8 CFLAGS = -Wall -Wextra -g -O2 $(VAR_CFLAGS) >> 9 LDFLAGS = -lpthread $(VAR_LDLIBS) 2 10 3 ifeq ($(srctree),) !! 11 all: $(TARGETS) 4 srctree := $(patsubst %/,%,$(dir $(CUR !! 12 5 srctree := $(patsubst %/,%,$(dir $(src !! 13 %: %.c 6 srctree := $(patsubst %/,%,$(dir $(src !! 14 $(CC) $(CFLAGS) -o $@ $< $(LDFLAGS) 7 endif << 8 << 9 include $(srctree)/tools/scripts/Makefile.incl << 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 $(cal << 18 ifneq ($(subdir),) << 19 OUTPUT := $(OUTPUT)/$(subdir) << 20 endif << 21 endif << 22 << 23 ifneq ($(patsubst %/,,$(lastword $(OUTPUT))),) << 24 OUTPUT := $(OUTPUT)/ << 25 endif << 26 << 27 LATENCY-COLLECTOR := $(OUTPUT)latency-co << 28 LATENCY-COLLECTOR_IN := $(LATENCY-COLLECTOR << 29 << 30 export CC := gcc << 31 export LD := ld << 32 export AR := ar << 33 export PKG_CONFIG := pkg-config << 34 << 35 FEATURE_TESTS := libtraceevent << 36 FEATURE_TESTS += libtracefs << 37 FEATURE_DISPLAY := libtraceevent << 38 FEATURE_DISPLAY += libtracefs << 39 << 40 ifeq ($(V),1) << 41 Q = << 42 else << 43 Q = @ << 44 endif << 45 << 46 all: $(LATENCY-COLLECTOR) << 47 << 48 include $(srctree)/tools/build/Makefile.includ << 49 << 50 # check for dependencies only on required targ << 51 NON_CONFIG_TARGETS := clean install << 52 << 53 config := 1 << 54 ifdef MAKECMDGOALS << 55 ifeq ($(filter-out $(NON_CONFIG_TARGETS),$(MAK << 56 config := 0 << 57 endif << 58 endif << 59 << 60 ifeq ($(config),1) << 61 include $(srctree)/tools/build/Makefile.feat << 62 include Makefile.config << 63 endif << 64 << 65 CFLAGS += $(INCLUDES) $(LIB_INCLUDES) << 66 << 67 export CFLAGS OUTPUT srctree << 68 << 69 $(LATENCY-COLLECTOR): $(LATENCY-COLLECTOR_IN) << 70 $(QUIET_LINK)$(CC) $(LDFLAGS) -o $(LAT << 71 << 72 latency-collector.%: fixdep FORCE << 73 make -f $(srctree)/tools/build/Makefil << 74 << 75 $(LATENCY-COLLECTOR_IN): fixdep FORCE << 76 make $(build)=latency-collector << 77 << 78 INSTALL := install << 79 MKDIR := mkdir << 80 STRIP := strip << 81 BINDIR := /usr/bin << 82 << 83 install: << 84 @$(MKDIR) -p $(DESTDIR)$(BINDIR) << 85 $(call QUIET_INSTALL,latency-collector << 86 @$(STRIP) $(DESTDIR)$(BINDIR)/latency- << 87 15 88 clean: 16 clean: 89 $(call QUIET_CLEAN, latency-collector) !! 17 $(RM) latency-collector 90 $(Q)find . -name '*.o' -delete -o -nam !! 18 91 $(Q)@rm -f latency-collector fixdep FE !! 19 prefix ?= /usr/local 92 $(Q)rm -rf feature !! 20 sbindir ?= ${prefix}/sbin 93 .PHONY: FORCE clean install !! 21 >> 22 install: all >> 23 install -d $(DESTDIR)$(sbindir) >> 24 install -m 755 -p $(TARGETS) $(DESTDIR)$(sbindir)
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.