61 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Makefile
		
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Makefile
		
	
	
	
| # SPDX-License-Identifier: GPL-2.0-only
 | |
| ifndef allow-override
 | |
|   include ../scripts/Makefile.include
 | |
|   include ../scripts/utilities.mak
 | |
| else
 | |
|   # Assume Makefile.helpers is being run from bpftool/Documentation
 | |
|   # subdirectory. Go up two more directories to fetch bpf.h header and
 | |
|   # associated script.
 | |
|   UP2DIR := ../../
 | |
| endif
 | |
| 
 | |
| INSTALL ?= install
 | |
| RM ?= rm -f
 | |
| RMDIR ?= rmdir --ignore-fail-on-non-empty
 | |
| 
 | |
| ifeq ($(V),1)
 | |
|   Q =
 | |
| else
 | |
|   Q = @
 | |
| endif
 | |
| 
 | |
| prefix ?= /usr/local
 | |
| mandir ?= $(prefix)/man
 | |
| man7dir = $(mandir)/man7
 | |
| 
 | |
| HELPERS_RST = bpf-helpers.rst
 | |
| MAN7_RST = $(HELPERS_RST)
 | |
| 
 | |
| _DOC_MAN7 = $(patsubst %.rst,%.7,$(MAN7_RST))
 | |
| DOC_MAN7 = $(addprefix $(OUTPUT),$(_DOC_MAN7))
 | |
| 
 | |
| helpers: man7
 | |
| man7: $(DOC_MAN7)
 | |
| 
 | |
| RST2MAN_DEP := $(shell command -v rst2man 2>/dev/null)
 | |
| 
 | |
| $(OUTPUT)$(HELPERS_RST): $(UP2DIR)../../include/uapi/linux/bpf.h
 | |
| 	$(QUIET_GEN)$(UP2DIR)../../scripts/bpf_helpers_doc.py --filename $< > $@
 | |
| 
 | |
| $(OUTPUT)%.7: $(OUTPUT)%.rst
 | |
| ifndef RST2MAN_DEP
 | |
| 	$(error "rst2man not found, but required to generate man pages")
 | |
| endif
 | |
| 	$(QUIET_GEN)rst2man $< > $@
 | |
| 
 | |
| helpers-clean:
 | |
| 	$(call QUIET_CLEAN, eBPF_helpers-manpage)
 | |
| 	$(Q)$(RM) $(DOC_MAN7) $(OUTPUT)$(HELPERS_RST)
 | |
| 
 | |
| helpers-install: helpers
 | |
| 	$(call QUIET_INSTALL, eBPF_helpers-manpage)
 | |
| 	$(Q)$(INSTALL) -d -m 755 $(DESTDIR)$(man7dir)
 | |
| 	$(Q)$(INSTALL) -m 644 $(DOC_MAN7) $(DESTDIR)$(man7dir)
 | |
| 
 | |
| helpers-uninstall:
 | |
| 	$(call QUIET_UNINST, eBPF_helpers-manpage)
 | |
| 	$(Q)$(RM) $(addprefix $(DESTDIR)$(man7dir)/,$(_DOC_MAN7))
 | |
| 	$(Q)$(RMDIR) $(DESTDIR)$(man7dir)
 | |
| 
 | |
| .PHONY: helpers helpers-clean helpers-install helpers-uninstall
 |