Blame genl/Makefile

Packit d3f73b
# SPDX-License-Identifier: GPL-2.0
Packit d3f73b
GENLOBJ=genl.o
Packit d3f73b
Packit d3f73b
include ../config.mk
Packit d3f73b
SHARED_LIBS ?= y
Packit d3f73b
Packit d3f73b
CFLAGS += -fno-strict-aliasing
Packit d3f73b
Packit d3f73b
GENLMODULES :=
Packit d3f73b
GENLMODULES += ctrl.o
Packit d3f73b
Packit d3f73b
GENLOBJ += $(GENLMODULES)
Packit d3f73b
Packit d3f73b
GENLLIB :=
Packit d3f73b
Packit d3f73b
ifeq ($(SHARED_LIBS),y)
Packit d3f73b
LDFLAGS += -Wl,-export-dynamic
Packit d3f73b
LDLIBS  += -lm -ldl
Packit d3f73b
endif
Packit d3f73b
Packit d3f73b
all: genl
Packit d3f73b
Packit d3f73b
genl: $(GENLOBJ) $(LIBNETLINK) $(LIBUTIL) $(GENLLIB)
Packit d3f73b
	$(QUIET_LINK)$(CC) $^ $(LDFLAGS) $(LDLIBS) -o $@
Packit d3f73b
Packit d3f73b
install: all
Packit d3f73b
	install -m 0755 genl $(DESTDIR)$(SBINDIR)
Packit d3f73b
Packit d3f73b
clean:
Packit d3f73b
	rm -f $(GENLOBJ) $(GENLLIB) genl
Packit d3f73b
Packit d3f73b
ifneq ($(SHARED_LIBS),y)
Packit d3f73b
Packit d3f73b
genl: static-syms.o
Packit d3f73b
static-syms.o: static-syms.h
Packit d3f73b
static-syms.h: $(wildcard *.c)
Packit d3f73b
	files="$^" ; \
Packit d3f73b
	for s in `grep -B 3 '\
Packit d3f73b
		sed -n '/'$$s'[^ ]* =/{s:.* \([^ ]*'$$s'[^ ]*\) .*:extern char \1[] __attribute__((weak)); if (!strcmp(sym, "\1")) return \1;:;p}' $$files ; \
Packit d3f73b
	done > $@
Packit d3f73b
Packit d3f73b
endif