mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-27 12:21:22 -05:00
Add a lint target to run yamllint on the YNL specs. make -C tools/net/ynl lint make: Entering directory '/home/donaldh/net-next/tools/net/ynl' yamllint ../../../Documentation/netlink/specs/*.yaml ../../../Documentation/netlink/specs/ethtool.yaml 1272:21 warning truthy value should be one of [false, true] (truthy) make: Leaving directory '/home/donaldh/net-next/tools/net/ynl' Signed-off-by: Donald Hunter <donald.hunter@gmail.com> Link: https://patch.msgid.link/20251127123502.89142-3-donald.hunter@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
78 lines
1.7 KiB
Makefile
78 lines
1.7 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
include ../../scripts/Makefile.arch
|
|
|
|
INSTALL ?= install
|
|
prefix ?= /usr
|
|
ifeq ($(LP64), 1)
|
|
libdir_relative = lib64
|
|
else
|
|
libdir_relative = lib
|
|
endif
|
|
libdir ?= $(prefix)/$(libdir_relative)
|
|
includedir ?= $(prefix)/include
|
|
|
|
SPECDIR=../../../Documentation/netlink/specs
|
|
|
|
SUBDIRS = lib generated samples ynltool tests
|
|
|
|
all: $(SUBDIRS) libynl.a
|
|
|
|
ynltool: | lib generated libynl.a
|
|
samples: | lib generated
|
|
libynl.a: | lib generated
|
|
@echo -e "\tAR $@"
|
|
@ar rcs $@ lib/ynl.o generated/*-user.o
|
|
|
|
$(SUBDIRS):
|
|
@if [ -f "$@/Makefile" ] ; then \
|
|
$(MAKE) -C $@ ; \
|
|
fi
|
|
|
|
clean distclean:
|
|
@for dir in $(SUBDIRS) ; do \
|
|
if [ -f "$$dir/Makefile" ] ; then \
|
|
$(MAKE) -C $$dir $@; \
|
|
fi \
|
|
done
|
|
rm -f libynl.a
|
|
rm -rf pyynl/__pycache__
|
|
rm -rf pyynl/lib/__pycache__
|
|
rm -rf pyynl.egg-info
|
|
rm -rf build
|
|
|
|
install: libynl.a lib/*.h
|
|
@echo -e "\tINSTALL libynl.a"
|
|
@$(INSTALL) -d $(DESTDIR)$(libdir)
|
|
@$(INSTALL) -m 0644 libynl.a $(DESTDIR)$(libdir)/libynl.a
|
|
@echo -e "\tINSTALL libynl headers"
|
|
@$(INSTALL) -d $(DESTDIR)$(includedir)/ynl
|
|
@$(INSTALL) -m 0644 lib/*.h $(DESTDIR)$(includedir)/ynl/
|
|
@echo -e "\tINSTALL pyynl"
|
|
@pip install --prefix=$(DESTDIR)$(prefix) .
|
|
@make -C generated install
|
|
@make -C tests install
|
|
|
|
run_tests:
|
|
@$(MAKE) -C tests run_tests
|
|
|
|
lint:
|
|
yamllint $(SPECDIR)
|
|
|
|
schema_check:
|
|
@N=1; \
|
|
for spec in $(SPECDIR)/*.yaml ; do \
|
|
NAME=$$(basename $$spec) ; \
|
|
OUTPUT=$$(./pyynl/cli.py --spec $$spec --validate) ; \
|
|
if [ $$? -eq 0 ] ; then \
|
|
echo "ok $$N $$NAME schema validation" ; \
|
|
else \
|
|
echo "not ok $$N $$NAME schema validation" ; \
|
|
echo "$$OUTPUT" ; \
|
|
echo ; \
|
|
fi ; \
|
|
N=$$((N+1)) ; \
|
|
done
|
|
|
|
.PHONY: all clean distclean install run_tests lint schema_check $(SUBDIRS)
|