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
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.