| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- # SPDX-License-Identifier: GPL-2.0
- CC=gcc
- CFLAGS=-std=gnu11 -O2 -W -Wall -Wextra -Wno-unused-parameter -Wshadow \
- -I../lib/ -idirafter $(UAPI_PATH)
- ifeq ("$(DEBUG)","1")
- CFLAGS += -g -fsanitize=address -fsanitize=leak -static-libasan
- endif
- include ../Makefile.deps
- YNL_GEN_ARG_ethtool:=--user-header linux/ethtool_netlink.h \
- --exclude-op stats-get
- TOOL:=../ynl-gen-c.py
- GENS_PATHS=$(shell grep -nrI --files-without-match \
- 'protocol: netlink' \
- ../../../../Documentation/netlink/specs/)
- GENS=$(patsubst ../../../../Documentation/netlink/specs/%.yaml,%,${GENS_PATHS})
- SRCS=$(patsubst %,%-user.c,${GENS})
- HDRS=$(patsubst %,%-user.h,${GENS})
- OBJS=$(patsubst %,%-user.o,${GENS})
- all: protos.a $(HDRS) $(SRCS) $(KHDRS) $(KSRCS) $(UAPI)
- protos.a: $(OBJS)
- @echo -e "\tAR $@"
- @ar rcs $@ $(OBJS)
- %-user.h: ../../../../Documentation/netlink/specs/%.yaml $(TOOL)
- @echo -e "\tGEN $@"
- @$(TOOL) --mode user --header --spec $< -o $@ $(YNL_GEN_ARG_$*)
- %-user.c: ../../../../Documentation/netlink/specs/%.yaml $(TOOL)
- @echo -e "\tGEN $@"
- @$(TOOL) --mode user --source --spec $< -o $@ $(YNL_GEN_ARG_$*)
- %-user.o: %-user.c %-user.h
- @echo -e "\tCC $@"
- @$(COMPILE.c) $(CFLAGS_$*) -o $@ $<
- clean:
- rm -f *.o
- distclean: clean
- rm -f *.c *.h *.a
- regen:
- @../ynl-regen.sh
- .PHONY: all clean distclean regen
- .DEFAULT_GOAL: all
|