.PHONY: all clean

all: a.out

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

%.o: %.c
	gcc -c -fPIC -Wall -o $@ $<

libmy.so: so.o
	gcc -o $@ -shared -Wl,-soname,$@ $?

a.out: libmy.so main.o
	gcc -o $@ $?
