LD=./ld
CC=gcc -B./

all: main

main: main.o ref.so hidden.a foo.so
	$(CC) -o $@ $^

ref.so: ref.o foo.so hidden.a
	$(LD) -o $@ -shared $^ -rpath .

foo.so: foo.o
	 $(LD) -o $@ -shared --version-script=foo.v foo.o -rpath .

hidden.a: hidden.a(hidden.o)

ref.o main.o foo.o : CFLAGS = -fPIC

clean:
	rm -f a.out *.o *.so *.a

tar:
	tar cfz bug.tar.gz Makefile *.c *.v
