1b02d2290SJakub Kicinski# SPDX-License-Identifier: GPL-2.0-only 2b02d2290SJakub Kicinski 3b02d2290SJakub Kicinskiinclude ../Makefile.deps 4b02d2290SJakub Kicinski 5b02d2290SJakub KicinskiINSTALL ?= install 6b02d2290SJakub Kicinskiprefix ?= /usr 7b02d2290SJakub Kicinski 8b02d2290SJakub KicinskiCC := gcc 9b02d2290SJakub KicinskiCFLAGS := -Wall -Wextra -Werror -O2 10b02d2290SJakub Kicinskiifeq ("$(DEBUG)","1") 11b02d2290SJakub Kicinski CFLAGS += -g -fsanitize=address -fsanitize=leak -static-libasan 12b02d2290SJakub Kicinskiendif 13124dac9bSJakub KicinskiCFLAGS += -I../lib -I../generated -I../../../include/uapi/ 14b02d2290SJakub Kicinski 15b02d2290SJakub KicinskiSRC_VERSION := \ 16b02d2290SJakub Kicinski $(shell make --no-print-directory -sC ../../../.. kernelversion || \ 17b02d2290SJakub Kicinski echo "unknown") 18b02d2290SJakub Kicinski 19b02d2290SJakub KicinskiCFLAGS += -DSRC_VERSION='"$(SRC_VERSION)"' 20b02d2290SJakub Kicinski 21b02d2290SJakub KicinskiSRCS := $(wildcard *.c) 22b02d2290SJakub KicinskiOBJS := $(patsubst %.c,$(OUTPUT)%.o,$(SRCS)) 23b02d2290SJakub Kicinski 24b02d2290SJakub KicinskiYNLTOOL := $(OUTPUT)ynltool 25b02d2290SJakub Kicinski 26b02d2290SJakub Kicinskiinclude $(wildcard *.d) 27b02d2290SJakub Kicinski 28b02d2290SJakub Kicinskiall: $(YNLTOOL) 29b02d2290SJakub Kicinski 30b02d2290SJakub KicinskiQ = @ 31b02d2290SJakub Kicinski 32124dac9bSJakub Kicinski$(YNLTOOL): ../libynl.a $(OBJS) 33b02d2290SJakub Kicinski $(Q)echo -e "\tLINK $@" 34*40ea4085SJakub Kicinski $(Q)$(CC) $(CFLAGS) -o $@ $(OBJS) ../libynl.a -lm 35b02d2290SJakub Kicinski 36124dac9bSJakub Kicinski%.o: %.c ../libynl.a 37b02d2290SJakub Kicinski $(Q)echo -e "\tCC $@" 38b02d2290SJakub Kicinski $(Q)$(COMPILE.c) -MMD -c -o $@ $< 39b02d2290SJakub Kicinski 40124dac9bSJakub Kicinski../libynl.a: 41124dac9bSJakub Kicinski $(Q)$(MAKE) -C ../ 42124dac9bSJakub Kicinski 43b02d2290SJakub Kicinskiclean: 44b02d2290SJakub Kicinski rm -f *.o *.d *~ 45b02d2290SJakub Kicinski 46b02d2290SJakub Kicinskidistclean: clean 47b02d2290SJakub Kicinski rm -f $(YNLTOOL) 48b02d2290SJakub Kicinski 49b02d2290SJakub Kicinskibindir ?= /usr/bin 50b02d2290SJakub Kicinski 51b02d2290SJakub Kicinskiinstall: $(YNLTOOL) 529c577f09SJakub Kicinski $(INSTALL) -m 0755 $(YNLTOOL) $(DESTDIR)$(bindir)/$(YNLTOOL) 53b02d2290SJakub Kicinski 54b02d2290SJakub Kicinski.PHONY: all clean distclean 55b02d2290SJakub Kicinski.DEFAULT_GOAL=all 56