--- pnm/Makefile.orig Tue Apr 4 04:38:37 2000 +++ pnm/Makefile Sat Apr 15 08:00:00 2000 @@ -32,6 +32,8 @@ NETPBMLIBS = $(LIBPNM) \ $(PBMDIR)/$(LIBPBM) $(PGMDIR)/$(LIBPGM) $(PPMDIR)/$(LIBPPM) +NETPBMLD = -L. -lpnm \ + -L$(PBMDIR) -lpbm -L$(PGMDIR) -lpgm -L$(PPMDIR) -lppm LIBLIBS = $(PBMDIR)/$(LIBPBM) $(PGMDIR)/$(LIBPGM) $(PPMDIR)/$(LIBPPM) ifeq ($(JPEGLIB_DIR),NONE) @@ -89,6 +91,7 @@ MERGE_OBJECTS = $(patsubst %,%.o2, $(PORTBINARIES) $(MATHBINARIES)) LIBOBJECTS = libpnm1.o libpnm2.o libpnm3.o libpnm4.o +LIBSOBJECTS = libpnm1.so libpnm2.so libpnm3.so libpnm4.so MANUALS1 = $(BINARIES) $(SCRIPTS) MANUALS3 = libpnm @@ -103,45 +106,49 @@ PHONY: merge merge: $(MERGENAME) $(NOMERGEBINARIES) -tifftopnm pnmtotiff: %: %.o $(NETPBMLIBS) $(TIFFLIB_DIR)/libtiff.so - $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLIBS) -L$(TIFFLIB_DIR) -ltiff \ - $(JPEGLD) $(CDEBUG) +tifftopnm: %: %.o $(NETPBMLIBS) $(TIFFLIB_DIR)/libtiff.so + $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLD) ../shhopt/libshhopt.a \ + -lm -L$(TIFFLIB_DIR) -ltiff $(JPEGLD) $(CDEBUG) -pnmtotiffcmyk: %: %.o $(NETPBMLIBS) $(TIFFLIB_DIR)/libtiff.so - $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLIBS) -lm -L$(TIFFLIB_DIR) -ltiff \ +pnmtotiff pnmtotiffcmyk: %: %.o $(NETPBMLIBS) $(TIFFLIB_DIR)/libtiff.so + $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLD) -lm -L$(TIFFLIB_DIR) -ltiff \ $(JPEGLD) $(CDEBUG) # Rules for plain programs. $(PORTBINARIES): %: %.o $(NETPBMLIBS) - $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLIBS) $(CDEBUG) + $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLD) $(CDEBUG) # Rule for math-dependent programs. $(MATHBINARIES): %: %.o $(NETPBMLIBS) - $(LD) $(LDFLAGS) -o $@ $@.o -lm $(NETPBMLIBS) $(CDEBUG) + $(LD) $(LDFLAGS) -o $@ $@.o -lm $(NETPBMLD) $(CDEBUG) pngtopnm pnmtopng: %: %.o $(NETPBMLIBS) - $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLIBS) \ + $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLD) \ -L$(PNGLIB_DIR) -lpng -lz -lm $(CDEBUG) jpegtopnm: %: %.o $(NETPBMLIBS) - $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLIBS) $(JPEGLD) -lm $(CDEBUG) + $(LD) $(LDFLAGS) -o $@ $@.o $(NETPBMLD) ../shhopt/libshhopt.a \ + $(JPEGLD) -lm $(CDEBUG) # Rule for objects. $(OBJECTS) $(LIBOBJECTS): %.o: %.c $(CC) -c $(CFLAGS) $(INCLUDE) -o $@ $< +$(LIBSOBJECTS): %.so: %.c + $(CC) -c -fpic -DPIC $(CFLAGS) $(INCLUDE) -o $@ $< + $(MERGE_OBJECTS): %.o2: %.c $(CC) -c $(CFLAGS) $(INCLUDE) "-Dmain=$*_main" -o $@ $< # And libraries. $(PBMDIR)/$(LIBPBM): FORCE - cd $(PBMDIR) ; make $(LIBPBM) + cd $(PBMDIR) ; $(MAKE) $(LIBPBM) $(PGMDIR)/$(LIBPGM): FORCE - cd $(PGMDIR) ; make $(LIBPGM) + cd $(PGMDIR) ; $(MAKE) $(LIBPGM) $(PPMDIR)/$(LIBPPM): FORCE - cd $(PPMDIR) ; make $(LIBPPM) + cd $(PPMDIR) ; $(MAKE) $(LIBPPM) $(TIFFDIR)/$(LIBTIFF): FORCE - cd $(TIFFDIR) ; make $(LIBTIFF) + cd $(TIFFDIR) ; $(MAKE) $(LIBTIFF) include $(SRCDIR)/Makefile.common