add packaging
[platform/upstream/libnl1.git] / lib / Makefile
1 #
2 # lib/Makefile
3 #
4 #       This library is free software; you can redistribute it and/or
5 #       modify it under the terms of the GNU Lesser General Public
6 #       License as published by the Free Software Foundation version 2.1
7 #       of the License.
8 #
9 # Copyright (c) 2003-2006 Thomas Graf <tgraf@suug.ch>
10 #
11
12 ifeq ($(shell [ ! -r ../Makefile.opts ] && echo 1),)
13     include ../Makefile.opts
14 endif
15
16 # Core
17 CIN      := $(wildcard *.c)
18 # NETLINK_ROUTE
19 CIN      += $(wildcard route/*.c)
20 # Schedulers
21 CIN      += $(wildcard route/sch/*.c)
22 # Classifiers
23 CIN      += $(wildcard route/cls/*.c)
24 # Link Info Modules
25 CIN      += $(wildcard route/link/*.c)
26 # NETLINK_GENERIC
27 CIN      += $(wildcard genl/*.c)
28 # fib lookup
29 CIN      += $(wildcard fib_lookup/*.c)
30 # Netfilter
31 CIN      += $(wildcard netfilter/*.c)
32
33 DEPS     := $(CIN:%.c=%.d)
34 OBJ      := $(CIN:%.c=%.o)
35 CFLAGS   += -fPIC
36 OUT_SLIB := $(PACKAGE_NAME).so.$(PACKAGE_VERSION)
37 LN_SLIB  := $(PACKAGE_NAME).so
38 LN1_SLIB := $(LN_SLIB).1
39
40 export
41
42 .PHONY: all clean install librtn.a $(OUT_SLIB)
43
44
45 all:
46         @echo "  MAKE $(OUT_SLIB)"; \
47         $(MAKE) $(OUT_SLIB)
48
49 $(OUT_SLIB): ../Makefile.opts $(OBJ)
50         @echo "  LD $(OUT_SLIB)"; \
51         $(CC) -shared -Wl,-soname,libnl.so.1 -o $(OUT_SLIB) $(OBJ) $(LIBNL_LIB) -lc
52         @echo "  LN $(OUT_SLIB) $(LN1_SLIB)"; \
53         rm -f $(LN1_SLIB) ; $(LN) -s $(OUT_SLIB) $(LN1_SLIB)
54         @echo "  LN $(LN1_SLIB) $(LN_SLIB)"; \
55         rm -f $(LN_SLIB) ; $(LN) -s $(LN1_SLIB) $(LN_SLIB)
56
57 clean:
58         @echo "  CLEAN lib"; \
59         $(RM) -f $(OBJ) $(OUT_SLIB) $(LN_SLIB) $(LN1_SLIB); \
60         $(RM) -f $(DEPS) $(OUT_SLIB) $(LN_SLIB) $(LN1_SLIB)
61
62 distclean:
63         @echo "  DISTCLEAN lib"; \
64         $(RM) -f $(DEPS)
65
66 install:
67         mkdir -p $(DESTDIR)$(libdir)/
68         install -m 0644 $(OUT_SLIB) $(DESTDIR)$(libdir)
69         rm -f $(DESTDIR)$(libdir)/$(LN1_SLIB)
70         $(LN) -s $(OUT_SLIB) $(DESTDIR)$(libdir)/$(LN1_SLIB)
71         rm -f $(DESTDIR)$(libdir)/$(LN_SLIB)
72         $(LN) -s $(LN1_SLIB) $(DESTDIR)$(libdir)/$(LN_SLIB)
73
74 $(DEPS): ../Makefile.opts
75
76 include ../Makefile.rules