+− CC = gcc +− CFLAGS = -Wall -O2 -fPIC +−LDFLAGS = -Llib -ltest +−OBJECTS = func1.o func2.o +− +−.c.o: +− $(CC) -c $(CFLAGS) -shared $< +− +−all: lib/libtest.so.1.0.1 prog +− +−prog: main.c +− $(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ +− +−lib/libtest.so.1.0.1: $(OBJECTS) +− $(CC) -shared -Wl,-soname,lib/libtest.so.1 $(OBJECTS) -o $@ +− @echo "Look carefully at this :)" +− ln -s libtest.so.1.0.1 lib/libtest.so.1 +− ln -s libtest.so.1.0.1 lib/libtest.so +− +−.PHONY: clean +− +−clean: +− rm -f lib/libtest.* +− rm -f *.o prog