Merge tag 'sched-urgent-2024-03-24' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / tools / verification / rv / Makefile.rv
1 # SPDX-License-Identifier: GPL-2.0-only
2
3 define allow-override
4   $(if $(or $(findstring environment,$(origin $(1))),\
5             $(findstring command line,$(origin $(1)))),,\
6     $(eval $(1) = $(2)))
7 endef
8
9 # Allow setting CC and AR, or setting CROSS_COMPILE as a prefix.
10 $(call allow-override,CC,$(CROSS_COMPILE)gcc)
11 $(call allow-override,AR,$(CROSS_COMPILE)ar)
12 $(call allow-override,STRIP,$(CROSS_COMPILE)strip)
13 $(call allow-override,PKG_CONFIG,pkg-config)
14 $(call allow-override,LD_SO_CONF_PATH,/etc/ld.so.conf.d/)
15 $(call allow-override,LDCONFIG,ldconfig)
16 export CC AR STRIP PKG_CONFIG LD_SO_CONF_PATH LDCONFIG
17
18 FOPTS           :=-flto=auto -ffat-lto-objects -fexceptions -fstack-protector-strong    \
19                 -fasynchronous-unwind-tables -fstack-clash-protection
20 WOPTS           :=      -O -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2        \
21                 -Wp,-D_GLIBCXX_ASSERTIONS -Wno-maybe-uninitialized
22
23 ifeq ($(CC),clang)
24   FOPTS         := $(filter-out -flto=auto -ffat-lto-objects, $(FOPTS))
25   WOPTS         := $(filter-out -Wno-maybe-uninitialized, $(WOPTS))
26 endif
27
28 INCLUDE         := -Iinclude/
29 CFLAGS          := -g -DVERSION=\"$(VERSION)\" $(FOPTS) $(WOPTS) $(EXTRA_CFLAGS) $(INCLUDE)
30 LDFLAGS         := -ggdb $(EXTRA_LDFLAGS)
31
32 INSTALL         := install
33 MKDIR           := mkdir
34 STRIP           := strip
35 BINDIR          := /usr/bin
36
37 .PHONY: install
38 install: doc_install
39         $(Q)$(MKDIR) -p $(DESTDIR)$(BINDIR)
40         $(call QUIET_INSTALL,rv)$(INSTALL) $(OUTPUT)rv -m 755 $(DESTDIR)$(BINDIR)
41         $(Q)@$(STRIP) $(DESTDIR)$(BINDIR)/rv
42
43 .PHONY: doc doc_clean doc_install
44 doc:
45         $(MAKE) -C $(DOCSRC)
46
47 doc_clean:
48         $(MAKE) -C $(DOCSRC) clean
49
50 doc_install:
51         $(MAKE) -C $(DOCSRC) install