1GENLOBJ=genl.o 2 3include ../Config 4SHARED_LIBS ?= y 5 6GENLMODULES := 7GENLMODULES += ctrl.o 8 9GENLOBJ += $(GENLMODULES) 10 11GENLLIB := 12 13ifeq ($(SHARED_LIBS),y) 14LDFLAGS += -Wl,-export-dynamic 15LDLIBS += -lm -ldl 16endif 17 18all: genl 19 20genl: $(GENLOBJ) $(LIBNETLINK) $(LIBUTIL) $(GENLLIB) 21 22install: all 23 install -m 0755 genl $(DESTDIR)$(SBINDIR) 24 25clean: 26 rm -f $(GENLOBJ) $(GENLLIB) genl 27 28ifneq ($(SHARED_LIBS),y) 29 30genl: static-syms.o 31static-syms.o: static-syms.h 32static-syms.h: $(wildcard *.c) 33 files="$^" ; \ 34 for s in `grep -B 3 '\<dlsym' $$files | sed -n '/snprintf/{s:.*"\([^"]*\)".*:\1:;s:%s::;p}'` ; do \ 35 sed -n '/'$$s'[^ ]* =/{s:.* \([^ ]*'$$s'[^ ]*\) .*:extern char \1[] __attribute__((weak)); if (!strcmp(sym, "\1")) return \1;:;p}' $$files ; \ 36 done > $@ 37 38endif 39