SRCDIR = ../..
BUILDDIR = $(SRCDIR)
SRCSUBDIR = $(SRCDIR)/pnm/pnmtopalm

include $(BUILDDIR)/Makefile.config

PNMDIR = $(BUILDDIR)/pnm
LIBPNM = $(NETPBMSHLIBPREFIX)pnm.$(NETPBMLIBSUFFIX)

PPMDIR = $(BUILDDIR)/ppm
LIBPPM = $(NETPBMSHLIBPREFIX)ppm.$(NETPBMLIBSUFFIX)

PGMDIR = $(BUILDDIR)/pgm
LIBPGM = $(NETPBMSHLIBPREFIX)pgm.$(NETPBMLIBSUFFIX)

PBMDIR = $(BUILDDIR)/pbm
LIBPBM = $(NETPBMSHLIBPREFIX)pbm.$(NETPBMLIBSUFFIX)

INCLUDE = -I$(SRCDIR)/shhopt

NETPBMLIBS = $(PNMDIR)/$(LIBPNM) \
           $(PPMDIR)/$(LIBPPM) $(PGMDIR)/$(LIBPGM) $(PBMDIR)/$(LIBPBM) 

BINARIES = palmtopnm pnmtopalm
OBJECTS = $(patsubst %, %.o, $(BINARIES)) palmcolormap.o

MANUALS1 = $(BINARIES)

all: $(BINARIES)

$(BINARIES): %: %.o palmcolormap.o $(NETPBMLIBS) $(LIBOPT)
	$(LD) $(LDFLAGS) -o $@ $< palmcolormap.o `$(LIBOPT) $(NETPBMLIBS)` \
	  $(CDEBUG)

gen_palm_colormap : $(SRCSUBDIR)/gen_palm_colormap.c palmcolormap.o
	$(CC) $(INCLUDE) $(CFLAGS) $(LDFLAGS) -o $@ $< palmcolormap.o \
	  `$(LIBOPT) $(NETPBMLIBS)` $(CDEBUG)


.PHONY: install.bin
install.bin: install.bin.common
# The following probably ought to be a separate install.data target, but
# today this is the only place in Netpbm that installs data files, and we're
# too lazy to add install.data to the whole package.  2001.01.07 BJH
	$(SRCDIR)/buildtools/mkinstalldirs $(INSTALLDATA)
	for x in palmcolor8.map palmgray1.map palmgray2.map palmgray4.map ;\
	do \
	   $(INSTALL) -c -m $(INSTALL_PERM_DATA) $(SRCSUBDIR)/$$x \
               $(INSTALLDATA); \
	done

.PHONY: install.man
install.man: install.man.common

# And libraries.
$(PBMDIR)/$(LIBPBM): FORCE
	$(MAKE) -C $(PBMDIR) $(LIBPBM)
$(PGMDIR)/$(LIBPGM): FORCE
	$(MAKE) -C $(PGMDIR) $(LIBPGM)
$(PPMDIR)/$(LIBPPM): FORCE
	$(MAKE) -C $(PPMDIR) $(LIBPPM)
$(PNMDIR)/$(LIBPNM): FORCE
	$(MAKE) -C $(PNMDIR) $(LIBPNM)

HEADERLINKS = pm_config.h pm.h pbm.h pgm.h ppm.h pnm.h

include $(SRCDIR)/Makefile.common

.PHONY: clean
clean: clean.common
	rm -f gen_palm_colormap
FORCE:

