File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # SPDX-License-Identifier: GPL-2.0
2+
3+ CC =gcc
4+ CFLAGS=-std =gnu11 -O2 -W -Wall -Wextra -Wno-unused-parameter -Wshadow \
5+ -I../lib/ -idirafter $(UAPI_PATH )
6+ ifeq ("$(DEBUG ) ","1")
7+ CFLAGS += -g -fsanitize=address -fsanitize=leak -static-libasan
8+ endif
9+
10+ include ../Makefile.deps
11+
12+ YNL_GEN_ARG_ethtool: =--user-header linux/ethtool_netlink.h \
13+ --exclude-op stats-get
14+
15+ TOOL: =../ynl-gen-c.py
16+
17+ GENS_PATHS =$(shell grep -nrI --files-without-match \
18+ 'protocol: netlink' \
19+ ../../../../Documentation/netlink/specs/)
20+ GENS =$(patsubst ../../../../Documentation/netlink/specs/% .yaml,% ,${GENS_PATHS})
21+ SRCS =$(patsubst % ,% -user.c,${GENS})
22+ HDRS =$(patsubst % ,% -user.h,${GENS})
23+ OBJS =$(patsubst % ,% -user.o,${GENS})
24+
25+ all : protos.a $(HDRS ) $(SRCS ) $(KHDRS ) $(KSRCS ) $(UAPI )
26+
27+ protos.a : $(OBJS )
28+ @echo -e " \tAR $@ "
29+ @ar rcs $@ $(OBJS )
30+
31+ % -user.h : ../../../../Documentation/netlink/specs/% .yaml $(TOOL )
32+ @echo -e " \tGEN $@ "
33+ @$(TOOL ) --mode user --header --spec $< -o $@ $(YNL_GEN_ARG_$* )
34+
35+ % -user.c : ../../../../Documentation/netlink/specs/% .yaml $(TOOL )
36+ @echo -e " \tGEN $@ "
37+ @$(TOOL ) --mode user --source --spec $< -o $@ $(YNL_GEN_ARG_$* )
38+
39+ % -user.o : % -user.c % -user.h
40+ @echo -e " \tCC $@ "
41+ @$(COMPILE.c ) $(CFLAGS_$* ) -o $@ $<
42+
43+ clean :
44+ rm -f * .o
45+
46+ distclean : clean
47+ rm -f * .c * .h * .a
48+
49+ regen :
50+ @../ynl-regen.sh
51+
52+ .PHONY : all clean distclean regen
53+ .DEFAULT_GOAL : all
You can’t perform that action at this time.
0 commit comments