tools/net/ynl/tests/Makefile

Source file repositories/reference/linux-study-clean/tools/net/ynl/tests/Makefile

File Facts

System
Linux kernel
Corpus path
tools/net/ynl/tests/Makefile
Extension
[no extension]
Size
2251 bytes
Lines
98
Domain
Support Tooling And Documentation
Bucket
tools
Inferred role
Support Tooling And Documentation: build/configuration rule
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: GPL-2.0
# Makefile for YNL tests

include ../Makefile.deps

CC=gcc
CFLAGS += -std=gnu11 -O2 -W -Wall -Wextra -Wno-unused-parameter -Wshadow \
	-I../lib/ -I../generated/ -I../../../testing/selftests/ \
	-idirafter $(UAPI_PATH)
ifneq ("$(NDEBUG)","1")
  CFLAGS += -g -fsanitize=address -fsanitize=leak -static-libasan
endif

LDLIBS=../lib/ynl.a ../generated/protos.a

TEST_PROGS := \
	devlink.sh \
	ethtool.sh \
	rt-addr.sh \
	rt-route.sh \
	test_ynl_cli.sh \
	test_ynl_ethtool.sh \
# end of TEST_PROGS

TEST_GEN_PROGS := \
	netdev \
	ovs \
	rt-link \
	tc \
# end of TEST_GEN_PROGS

TEST_GEN_FILES := \
	devlink \
	ethtool \
	rt-addr \
	rt-route \
# end of TEST_GEN_FILES

TEST_FILES := \
	ethtool.py \
	ynl_nsim_lib.sh \
# end of TEST_FILES

CFLAGS_netdev:=$(CFLAGS_netdev) $(CFLAGS_rt-link)
CFLAGS_ovs:=$(CFLAGS_ovs_datapath)

include $(wildcard *.d)

INSTALL_PATH ?= $(DESTDIR)/usr/share/kselftest

all: $(TEST_GEN_PROGS) $(TEST_GEN_FILES)

../lib/ynl.a:
	@$(MAKE) -C ../lib

../generated/protos.a:
	@$(MAKE) -C ../generated

$(TEST_GEN_PROGS) $(TEST_GEN_FILES): %: %.c ../lib/ynl.a ../generated/protos.a
	@echo -e '\tCC test $@'
	@$(COMPILE.c) $(CFLAGS_$@) $@.c -o $@.o
	@$(LINK.c) $@.o -o $@  $(LDLIBS)

run_tests:
	@for test in $(TEST_PROGS); do \
		./$$test; \
	done

install: $(TEST_GEN_PROGS) $(TEST_GEN_FILES)
	@mkdir -p $(INSTALL_PATH)/ynl

Annotation

Implementation Notes