xref: /aosp_15_r20/external/bpftool/src/Makefile.include (revision 858ea5e570667251cdc31d3fe7b846b591105938)
1*858ea5e5SAndroid Build Coastguard Worker# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*858ea5e5SAndroid Build Coastguard Worker
3*858ea5e5SAndroid Build Coastguard Workerifneq ($(OUTPUT),)
4*858ea5e5SAndroid Build Coastguard Worker$(if $(shell [ -d "$(OUTPUT)" -a -x "$(OUTPUT)" ] && echo 1),, \
5*858ea5e5SAndroid Build Coastguard Worker  $(error output directory "$(OUTPUT)" does not exist))
6*858ea5e5SAndroid Build Coastguard Workerendif
7*858ea5e5SAndroid Build Coastguard Worker
8*858ea5e5SAndroid Build Coastguard WorkerLLVM_VERSION ?=
9*858ea5e5SAndroid Build Coastguard WorkerCLANG        ?= clang$(LLVM_VERSION)
10*858ea5e5SAndroid Build Coastguard WorkerLLVM_CONFIG  ?= llvm-config$(LLVM_VERSION)
11*858ea5e5SAndroid Build Coastguard WorkerLLVM_STRIP   ?= llvm-strip$(LLVM_VERSION)
12*858ea5e5SAndroid Build Coastguard Worker
13*858ea5e5SAndroid Build Coastguard Workerifneq ($(LLVM),)
14*858ea5e5SAndroid Build Coastguard Worker  $(if $(findstring default,$(origin AR)),$(eval AR := llvm-ar$(LLVM_VERSION)))
15*858ea5e5SAndroid Build Coastguard Worker  $(if $(findstring default,$(origin CC)),$(eval CC := clang$(LLVM_VERSION)))
16*858ea5e5SAndroid Build Coastguard Worker  $(if $(findstring default,$(origin LD)),$(eval LD := ld.lld$(LLVM_VERSION)))
17*858ea5e5SAndroid Build Coastguard Worker  HOSTAR ?= llvm-ar
18*858ea5e5SAndroid Build Coastguard Worker  HOSTCC ?= clang
19*858ea5e5SAndroid Build Coastguard Worker  HOSTLD ?= ld.lld
20*858ea5e5SAndroid Build Coastguard Workerelse
21*858ea5e5SAndroid Build Coastguard Worker  $(if $(findstring default,$(origin AR)),$(eval AR = $(CROSS_COMPILE)$(AR)))
22*858ea5e5SAndroid Build Coastguard Worker  $(if $(findstring default,$(origin CC)),$(eval CC = $(CROSS_COMPILE)$(CC)))
23*858ea5e5SAndroid Build Coastguard Worker  $(if $(findstring default,$(origin LD)),$(eval LD = $(CROSS_COMPILE)$(LD)))
24*858ea5e5SAndroid Build Coastguard Worker  HOSTAR ?= ar
25*858ea5e5SAndroid Build Coastguard Worker  HOSTCC ?= gcc
26*858ea5e5SAndroid Build Coastguard Worker  HOSTLD ?= ld
27*858ea5e5SAndroid Build Coastguard Workerendif
28*858ea5e5SAndroid Build Coastguard Worker
29*858ea5e5SAndroid Build Coastguard WorkerEXTRA_WARNINGS := \
30*858ea5e5SAndroid Build Coastguard Worker	-Wbad-function-cast \
31*858ea5e5SAndroid Build Coastguard Worker	-Wdeclaration-after-statement \
32*858ea5e5SAndroid Build Coastguard Worker	-Wformat-security \
33*858ea5e5SAndroid Build Coastguard Worker	-Wformat-y2k \
34*858ea5e5SAndroid Build Coastguard Worker	-Winit-self \
35*858ea5e5SAndroid Build Coastguard Worker	-Wmissing-declarations \
36*858ea5e5SAndroid Build Coastguard Worker	-Wmissing-prototypes \
37*858ea5e5SAndroid Build Coastguard Worker	-Wold-style-definition \
38*858ea5e5SAndroid Build Coastguard Worker	-Wpacked \
39*858ea5e5SAndroid Build Coastguard Worker	-Wredundant-decls \
40*858ea5e5SAndroid Build Coastguard Worker	-Wshadow \
41*858ea5e5SAndroid Build Coastguard Worker	-Wstrict-prototypes \
42*858ea5e5SAndroid Build Coastguard Worker	-Wswitch-default \
43*858ea5e5SAndroid Build Coastguard Worker	-Wundef \
44*858ea5e5SAndroid Build Coastguard Worker	-Wwrite-strings \
45*858ea5e5SAndroid Build Coastguard Worker
46*858ea5e5SAndroid Build Coastguard Workerifeq ($(findstring s,$(filter-out --%,$(MAKEFLAGS))),)
47*858ea5e5SAndroid Build Coastguard Worker  ifneq ($(V),1)
48*858ea5e5SAndroid Build Coastguard Worker
49*858ea5e5SAndroid Build Coastguard Worker    define def_quiet_msg
50*858ea5e5SAndroid Build Coastguard Worker      $(eval QUIET_$(1) = @printf '  %-9s%s\n' $(1) $$@;)
51*858ea5e5SAndroid Build Coastguard Worker    endef
52*858ea5e5SAndroid Build Coastguard Worker    $(foreach action,CC CLANG LINK MKDIR GEN,$(call def_quiet_msg,$(action)))
53*858ea5e5SAndroid Build Coastguard Worker
54*858ea5e5SAndroid Build Coastguard Worker    define def_quiet_msg_subdir
55*858ea5e5SAndroid Build Coastguard Worker      $(eval QUIET_$(1) = @printf '  %-9s%s\n' $(1) $$1;)
56*858ea5e5SAndroid Build Coastguard Worker    endef
57*858ea5e5SAndroid Build Coastguard Worker    $(foreach action,CLEAN INSTALL UNINST,$(call def_quiet_msg_subdir,$(action)))
58*858ea5e5SAndroid Build Coastguard Worker
59*858ea5e5SAndroid Build Coastguard Worker    define descend
60*858ea5e5SAndroid Build Coastguard Worker      @printf '  DESCEND  %s\n' $(1); mkdir -p $(OUTPUT)$(1) && \
61*858ea5e5SAndroid Build Coastguard Worker        $(MAKE) --no-print-directory -C $(1) $(2)
62*858ea5e5SAndroid Build Coastguard Worker    endef
63*858ea5e5SAndroid Build Coastguard Worker
64*858ea5e5SAndroid Build Coastguard Worker  endif
65*858ea5e5SAndroid Build Coastguard Workerendif
66