diff options
author | Jakub Kicinski <kuba@kernel.org> | 2023-06-05 22:01:06 +0300 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2023-06-06 22:31:31 +0300 |
commit | 86878f14d71af89149a955122afd8b7af1ee9bf2 (patch) | |
tree | 6c98d2b17a645381a9a3b0d945462c2333d2c599 /tools/net/ynl/generated | |
parent | a99bfdf647953f8ac4ae71f373113e8ac194f1c0 (diff) | |
download | linux-86878f14d71af89149a955122afd8b7af1ee9bf2.tar.xz |
tools: ynl: user space helpers
Add "fixed" part of the user space Netlink Spec-based library.
This will get linked with the protocol implementations to form
a full API.
Acked-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'tools/net/ynl/generated')
-rw-r--r-- | tools/net/ynl/generated/Makefile | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tools/net/ynl/generated/Makefile b/tools/net/ynl/generated/Makefile new file mode 100644 index 000000000000..9a09e581906e --- /dev/null +++ b/tools/net/ynl/generated/Makefile @@ -0,0 +1,45 @@ +# SPDX-License-Identifier: GPL-2.0 + +CC=gcc +CFLAGS=-std=gnu11 -O2 -W -Wall -Wextra -Wno-unused-parameter -Wshadow \ + -I../lib/ +ifeq ("$(DEBUG)","1") + CFLAGS += -g -fsanitize=address -fsanitize=leak -static-libasan +endif + +TOOL:=../ynl-gen-c.py + +GENS:= +SRCS=$(patsubst %,%-user.c,${GENS}) +HDRS=$(patsubst %,%-user.h,${GENS}) +OBJS=$(patsubst %,%-user.o,${GENS}) + +all: protos.a $(HDRS) $(SRCS) $(KHDRS) $(KSRCS) $(UAPI) regen + +protos.a: $(OBJS) + @echo -e "\tAR $@" + @ar rcs $@ $(OBJS) + +%-user.h: ../../../../Documentation/netlink/specs/%.yaml $(TOOL) + @echo -e "\tGEN $@" + @$(TOOL) --mode user --header --spec $< > $@ + +%-user.c: ../../../../Documentation/netlink/specs/%.yaml $(TOOL) + @echo -e "\tGEN $@" + @$(TOOL) --mode user --source --spec $< > $@ + +%-user.o: %-user.c %-user.h + @echo -e "\tCC $@" + @$(COMPILE.c) -c -o $@ $< + +clean: + rm -f *.o + +hardclean: clean + rm -f *.c *.h *.a + +regen: + @../ynl-regen.sh + +.PHONY: all clean hardclean regen +.DEFAULT_GOAL: all |