diff --git a/libubb/Makefile b/libubb/Makefile index ea385a1..46e2f40 100644 --- a/libubb/Makefile +++ b/libubb/Makefile @@ -1,8 +1,8 @@ # # libubb/Makefile - Build the UBB library # -# Written 2012 by Werner Almesberger -# Copyright 2012 Werner Almesberger +# Written 2012-2013 by Werner Almesberger +# Copyright 2012-2013 Werner Almesberger # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -13,22 +13,32 @@ TARGET = mipsel-openwrt-linux- CC = $(TARGET)gcc +LD = $(TARGET)ld -CFLAGS = -g -Wall -Iinclude +CFLAGS = -g -Wall -fPIC -Iinclude LIB = libubb.a +SHLIB = libubb.so +LIBVERSION = 0.0.0 OBJS = ubb.o swuart.o HDRS = ubb/ubb.h ubb/regbase.h ubb/regs4740.h ubb/swuart.h .PHONY: all clean spotless -all: $(LIB) +all: $(SHLIB).$(LIBVERSION) + +$(SHLIB).$(LIBVERSION): $(SHLIB) + /sbin/ldconfig -n . + +$(SHLIB): $(LIB) + $(LD) -shared -soname $@.$(LIBVERSION) -o $@ \ + --whole-archive $^ || { rm -f $@; exit 1; } $(LIB): $(OBJS) - $(AR) cr $@ $^ + $(AR) cr $@ $^ || { rm -f $@; exit 1; } clean: rm -f $(OBJS) spotless: clean - rm -f $(LIB) + rm -f $(LIB) $(SHLIB) $(SHLIB).$(LIBVERSION)