1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #
- # lib/Makefile
- #
- # This library is free software; you can redistribute it and/or
- # modify it under the terms of the GNU Lesser General Public
- # License as published by the Free Software Foundation version 2.1
- # of the License.
- #
- # Copyright (c) 2003-2006 Thomas Graf <tgraf@suug.ch>
- #
- ifeq ($(shell [ ! -r ../Makefile.opts ] && echo 1),)
- include ../Makefile.opts
- endif
- # Core
- CIN := $(wildcard *.c)
- # NETLINK_ROUTE
- CIN += $(wildcard route/*.c)
- # Schedulers
- CIN += $(wildcard route/sch/*.c)
- # Classifiers
- CIN += $(wildcard route/cls/*.c)
- # Link Info Modules
- CIN += $(wildcard route/link/*.c)
- # NETLINK_GENERIC
- CIN += $(wildcard genl/*.c)
- # fib lookup
- CIN += $(wildcard fib_lookup/*.c)
- # Netfilter
- CIN += $(wildcard netfilter/*.c)
- DEPS := $(CIN:%.c=%.d)
- OBJ := $(CIN:%.c=%.o)
- CFLAGS += -fPIC
- OUT_SLIB := $(PACKAGE_NAME).so.$(PACKAGE_VERSION)
- OUT_AR := $(PACKAGE_NAME).a
- LN_SLIB := $(PACKAGE_NAME).so
- LN1_SLIB := $(LN_SLIB).1
- export
- .PHONY: all clean install librtn.a $(OUT_SLIB)
- all:
- @echo " MAKE $(OUT_SLIB)"; \
- $(MAKE) $(OUT_SLIB); \
- $(MAKE) $(OUT_AR)
- $(OUT_SLIB): ../Makefile.opts $(OBJ)
- @echo " LD $(OUT_SLIB)"; \
- $(CC) -shared -Wl,-soname,libnl.so.1 -o $(OUT_SLIB) $(OBJ) $(LIBNL_LIB) -lc
- @echo " LN $(OUT_SLIB) $(LN1_SLIB)"; \
- rm -f $(LN1_SLIB) ; $(LN) -s $(OUT_SLIB) $(LN1_SLIB)
- @echo " LN $(LN1_SLIB) $(LN_SLIB)"; \
- rm -f $(LN_SLIB) ; $(LN) -s $(LN1_SLIB) $(LN_SLIB)
- $(OUT_AR): ../Makefile.opts $(OBJ)
- @echo " AR $(OUT_AR)"; \
- $(AR) crus $(OUT_AR) $(OBJ)
- clean:
- @echo " CLEAN lib"; \
- $(RM) -f $(OBJ) $(OUT_SLIB) $(LN_SLIB) $(LN1_SLIB); \
- $(RM) -f $(DEPS) $(OUT_SLIB) $(LN_SLIB) $(LN1_SLIB)
- distclean:
- @echo " DISTCLEAN lib"; \
- $(RM) -f $(DEPS)
- install:
- mkdir -p $(DESTDIR)$(libdir)/
- install -m 0755 $(OUT_SLIB) $(DESTDIR)$(libdir)
- rm -f $(DESTDIR)$(libdir)/$(LN1_SLIB)
- $(LN) -s $(OUT_SLIB) $(DESTDIR)$(libdir)/$(LN1_SLIB)
- rm -f $(DESTDIR)$(libdir)/$(LN_SLIB)
- $(LN) -s $(LN1_SLIB) $(DESTDIR)$(libdir)/$(LN_SLIB)
- install -m 0644 $(OUT_AR) $(DESTDIR)$(libdir)
- $(DEPS): ../Makefile.opts
- include ../Makefile.rules
|