# SPDX-License-Identifier: GPL-2.0-only include ../Makefile.deps INSTALL ?= install prefix ?= /usr CC := gcc CFLAGS := -Wall -Wextra -Werror -O2 ifeq ("$(DEBUG)","1") CFLAGS += -g -fsanitize=address -fsanitize=leak -static-libasan endif CFLAGS += -I../lib -I../generated -I../../../include/uapi/ SRC_VERSION := \ $(shell make --no-print-directory -sC ../../../.. kernelversion || \ echo "unknown") CFLAGS += -DSRC_VERSION='"$(SRC_VERSION)"' SRCS := $(wildcard *.c) OBJS := $(patsubst %.c,$(OUTPUT)%.o,$(SRCS)) YNLTOOL := $(OUTPUT)ynltool include $(wildcard *.d) all: $(YNLTOOL) Q = @ $(YNLTOOL): ../libynl.a $(OBJS) $(Q)echo -e "\tLINK $@" $(Q)$(CC) $(CFLAGS) -o $@ $(OBJS) ../libynl.a -lmnl -lm %.o: %.c ../libynl.a $(Q)echo -e "\tCC $@" $(Q)$(COMPILE.c) -MMD -c -o $@ $< ../libynl.a: $(Q)$(MAKE) -C ../ clean: rm -f *.o *.d *~ distclean: clean rm -f $(YNLTOOL) bindir ?= /usr/bin install: $(YNLTOOL) $(INSTALL) -m 0755 $(YNLTOOL) $(DESTDIR)$(bindir)/$(YNLTOOL) .PHONY: all clean distclean .DEFAULT_GOAL=all