--- pnm/Makefile.orig Sat Sep 2 13:03:27 2000 +++ pnm/Makefile Tue Sep 5 00:00:00 2000 @@ -48,6 +48,8 @@ JPEGLD = -L$(JPEGLIB_DIR) -ljpeg endif +SOVER = 1 + # We tend to separate out the build targets so that we don't have # any more dependencies for a given target than it really needs. # That way, if there is a problem with a dependency, we can still @@ -55,22 +57,23 @@ # This package is so big, it's useful even when some parts won't # build. -PORTBINARIES = fitstopnm gemtopnm giftopnm pamchannel pamcut \ - pamfile pamtopnm \ - pnmalias pnmarith pnmcat pnmcomp pnmconvol pnmcrop \ - pnmcut pnmdepth pnmenlarge pnmfile pnmflip pnmhisteq \ - pnmhistmap pnminterp pnminvert pnmpad pnmpaste \ - pnmsmooth pnmsplit pnmtile pnmtoddif pnmtofits \ +PORTBINARIES = fitstopnm gemtopnm giftopnm \ + pnmalias pnmarith pnmcat pnmcomp pnmconvol \ + pnmdepth pnmenlarge pnmflip pnmhisteq \ + pnmhistmap pnminvert pnmpad pnmpaste \ + pnmsmooth pnmtile pnmtoddif pnmtofits \ pnmtoplainpnm pnmtops pnmtorast \ - pnmtosgi pnmtosir pnmtoxwd pstopnm \ - rasttopnm sgitopnm sirtopnm xwdtopnm zeisstopnm + pnmtosgi pnmtosir pnmtoxwd \ + rasttopnm sgitopnm sirtopnm zeisstopnm MATHBINARIES = pnmgamma pnmnlfilt pnmrotate pnmscale pnmshear +SHHOPTBINARIES = pamchannel pamcut pamfile pamtopnm pnmcrop pnmcut \ + pnmfile pnminterp pnmsplit pstopnm xwdtopnm # We don't include programs that have special library dependencies in the # merge scheme, because we don't want those dependencies to prevent us # from building all the other programs. -NOMERGEBINARIES = +NOMERGEBINARIES = $(SHHOPTBINARIES) ifneq ($(PNGHDR_DIR),NONE) ifneq ($(PNGLIB_DIR),NONE) NOMERGEBINARIES += pnmtopng pngtopnm @@ -107,6 +110,8 @@ MERGE_OBJECTS = $(patsubst %,%.o2, $(MERGEBINARIES)) LIBOBJECTS = libpnm1.o libpnm2.o libpnm3.o libpnm4.o libpam.o +SHLIBOBJECTS = $(patsubst %.o, %.lo, $(LIBOBJECTS)) +LIBSHHOPT = $(SRCDIR)/shhopt/libshhopt.a MANUALS1 = $(BINARIES) $(SCRIPTS) MANUALS3 = libpnm @@ -118,12 +123,12 @@ .PHONY: all all: $(BINARIES) - $(MAKE) -C jbig all - $(MAKE) -C fiasco all PHONY: merge merge: $(MERGENAME) $(NOMERGEBINARIES) - $(MAKE) -C jbig all - $(MAKE) -C fiasco all + +$(SHHOPTBINARIES): %: %.o $(NETPBMLIBS) $(LIBOPT) $(LIBSHHOPT) + $(LD) $(LDFLAGS) -o $@ $@.o `$(LIBOPT) $(NETPBMLIBS)` \ + $(LIBSHHOPT) $(CDEBUG) ifeq ($(TIFFLIB_DIR),$(TIFFDIR)) # We're using the internal Tiff library, so make sure it's built @@ -134,18 +139,18 @@ endif # The Tiff library references math functions. -tifftopnm pnmtotiff pnmtotiffcmyk: %: %.o \ - $(NETPBMLIBS) $(TIFFLIB_DIR)/libtiff.$(LIBTIFFSUFFIX) $(LIBOPT) +tifftopnm pnmtotiff pnmtotiffcmyk: %: %.o $(NETPBMLIBS) $(LIBOPT) \ + $(TIFFLIB_DIR)/libtiff.$(LIBTIFFSUFFIX) $(LIBSHHOPT) $(LD) $(LDFLAGS) -o $@ $@.o `$(LIBOPT) $(NETPBMLIBS)` \ - -L$(TIFFLIB_DIR) -ltiff $(JPEGLD) -lm $(CDEBUG) + -L$(TIFFLIB_DIR) -ltiff $(JPEGLD) -lm $(LIBSHHOPT) $(CDEBUG) pngtopnm pnmtopng: %: %.o $(NETPBMLIBS) $(LIBOPT) $(LD) $(LDFLAGS) -o $@ $@.o `$(LIBOPT) $(NETPBMLIBS)` \ -L$(PNGLIB_DIR) -lpng -lz -lm $(CDEBUG) -jpegtopnm: %: %.o $(NETPBMLIBS) $(LIBOPT) +jpegtopnm: %: %.o $(NETPBMLIBS) $(LIBOPT) $(LIBSHHOPT) $(LD) $(LDFLAGS) -o $@ $@.o `$(LIBOPT) $(NETPBMLIBS)` $(JPEGLD) \ - $(CDEBUG) + $(LIBSHHOPT) $(CDEBUG) ifeq ($(URTLIB_DIR),$(URTDIR)) # We're using the internal URT library, so make sure it's built @@ -182,25 +187,20 @@ # backward compatibility: program used to be gemtopbm rm -f $(INSTALLBINARIES)/gemtopbm ln -s $(INSTALLBINARIES)/gemtopnm$(EXE) $(INSTALLBINARIES)/gemtopbm - $(MAKE) -C jbig install.bin - $(MAKE) -C fiasco install.bin .PHONY: install.merge install.merge: install.merge.common - $(MAKE) -C jbig install.bin - $(MAKE) -C fiasco install.bin .PHONY: install.lib install.lib: install.lib.common .PHONY: install.man install.man: install.man.common - $(MAKE) -C jbig install.man - $(MAKE) -C fiasco install.man + +$(SRCDIR)/shhopt/libshhopt.a: + cd ../shhopt; $(MAKE) libshhopt.a .PHONY: clean clean: clean.common - $(MAKE) -C jbig clean - $(MAKE) -C fiasco clean FORCE: