CXX=g++ CXXFLAGS=-fPIC LDFLAGS= LD=g++ AR = ar vru all: main-s main-d .SUFFIXES: .cc .o .cc.o: $(CXX) $(CXXFLAGS) -c $< main-s: main.o libmydso.a $(LD) $(LDFLAGS) -o $@ main.o libmydso.a main-d: libmydso.so main.o $(LD) $(LDFLAGS) -Wl,-R,. -o $@ main.o -L. -lmydso libmydso.so: dso.o $(LD) -Wl,-R,. -shared -g $(LDFLAGS) -o $@ dso.o libmydso.a: dso.o $(AR) $@ dso.o libmydso2.so: dso.o ld -G -d y -R . -o $@ dso.o main-dd: libmydso2.so main.o $(LD) $(LDFLAGS) -Wl,-R,. -o $@ main.o -L. -lmydso2 test: main-d main-s main-dd ./main-d ./main-s ./main-dd