all: libdynsymlink.so PHONY: all libdynsymlink.so: libdynsymlink.o clang $(CFLAGS) -o libdynsymlink.so --shared libdynsymlink.o -ldl libdynsymlink.o: libdynsymlink.c clang $(CFLAGS) -o libdynsymlink.o -fPIC -c libdynsymlink.c test1: libdynsymlink.so test1: LDFLAGS = libdynsymlink.so check: test1 test2 test3.bash test3-a test3-b libdynsymlink.so LD_LIBRARY_PATH=. ./test1 LD_PRELOAD=./libdynsymlink.so ./test2 bash test3.bash PHONY: check clean: +rm -f libdynsymlink.so libdynsymlink.o +rm -f test1 test2 test1.o test2.o test3-a test3-b PHONY: clean