Listing 3: makefile.sol2 modified to generate loader

all:: $(ARCH) $(ARCH)/slC.o $(ARCH)/slc.o $(ARCH)/main.o \
    $(ARCH)/libslC.so $(ARCH)/libslc.so $(ARCH)/testSymbol \
    $(ARCH)/load
$(ARCH):
    mkdir $(ARCH)
$(ARCH)/slC.o: slC.cxx
    CC -c -KPIC -o $@ slC.cxx
$(ARCH)/slc.o: slc.c
    cc -c -KPIC -o $@ slc.c
$(ARCH)/main.o: main.cxx
    CC -c -KPIC -o $@ main.cxx
$(ARCH)/load.o: load.c
    cc -c -o $@ load.c
$(ARCH)/libslC.so: $(ARCH)/slC.o
    CC -Qoption ld -Bsymbolic -G -o $(ARCH)/libslC.so 
    -L/opt/SUNWspro/lib -lC -lc 
$(ARCH)/slC.o
$(ARCH)/libslc.so: $(ARCH)/slc.o
    ld -G -dy -Bsymbolic -o $(ARCH)/libslc.so -L/opt/SUNWspro/lib -lc $(ARCH)/slc.o
$(ARCH)/testSymbol: $(ARCH)/libslC.so $(ARCH)/libslc.so \
    $(ARCH)/main.o
    CC -O -o $(ARCH)/testSymbol $(ARCH)/main.o $(ARCH)/libslC.so \
    $(ARCH)/libslc.so
$(ARCH)/load: $(ARCH)/load.o
    cc -O -o $(ARCH)/load $(ARCH)/load.o -L/usr/lib -ldl
#End of File