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
9 # Copyright (c) 2003-2006 Thomas Graf <tgraf@suug.ch>
12 ifeq ($(shell [ ! -r ../Makefile.opts ] && echo 1),)
13 include ../Makefile.opts
17 CIN := $(wildcard *.c)
19 CIN += $(wildcard route/*.c)
21 CIN += $(wildcard route/sch/*.c)
23 CIN += $(wildcard route/cls/*.c)
25 CIN += $(wildcard fib_lookup/*.c)
27 DEPS := $(CIN:%.c=.deps/%.d)
30 OUT_SLIB := $(PACKAGE_NAME).so.$(PACKAGE_VERSION)
31 OUT_AR := $(PACKAGE_NAME).a
32 LN_SLIB := $(PACKAGE_NAME).so
33 LN1_SLIB := $(LN_SLIB).1
37 .PHONY: all clean install librtn.a $(OUT_SLIB)
41 @echo " MAKE $(OUT_SLIB)"; \
42 $(MAKE) $(OUT_SLIB); \
45 $(OUT_SLIB): ../Makefile.opts $(OBJ)
46 @echo " LD $(OUT_SLIB)"; \
47 $(CC) -shared -Wl,-soname,libnl.so.1 -o $(OUT_SLIB) $(OBJ) $(LIBNL_LIB) -lc
48 @echo " LN $(OUT_SLIB) $(LN1_SLIB)"; \
49 rm -f $(LN1_SLIB) ; $(LN) -s $(OUT_SLIB) $(LN1_SLIB)
50 @echo " LN $(LN1_SLIB) $(LN_SLIB)"; \
51 rm -f $(LN_SLIB) ; $(LN) -s $(LN1_SLIB) $(LN_SLIB)
53 $(OUT_AR): ../Makefile.opts $(OBJ)
54 @echo " AR $(OUT_AR)"; \
55 $(AR) crus $(OUT_AR) $(OBJ)
59 $(RM) -f $(OBJ) $(OUT_SLIB) $(LN_SLIB) $(LN1_SLIB); \
60 $(RM) -f $(OUT_SLIB) $(LN_SLIB) $(LN1_SLIB)
63 find .deps -iname \*\.d -exec rm -f '{}' \;
66 mkdir -p $(DESTDIR)$(libdir)/
67 install -m 0755 $(OUT_SLIB) $(DESTDIR)$(libdir)
68 install -m 0644 $(OUT_AR) $(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)
74 $(DEPS): ../Makefile.opts
76 include ../Makefile.rules