• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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