SHLIBLDFLAGS=-Wl,--version-script=a.map

default: foo bar
	./foo
	./bar

foo: foo.c lib-b.so 
	$(CC) -o $@ foo.c -Wl,-rpath,./ lib-b.so

bar: bar.c lib-b.so 
	$(CC) -o $@ bar.c -Wl,-rpath,./ lib-b.so

lib-b.so: b.o lib-a.so
	$(CC) -shared -o $@ $^

lib-a.so: a.o
	$(CC) $(SHLIBLDFLAGS) -shared -o $@ $^
	
a.o: a.c
	$(CC) -fPIC -c $^

b.o: b.c
	$(CC) -fPIC -c $^

clean:
	-rm -f *.o foo bar lib*.so
