/* Imakefile for ppm tools
 *
 * Copyright (C) 1991 Rainer Klute
 *
 * Permission to use, copy, modify, distribute, and sell this software and
 * its documentation for any purpose is hereby granted without fee, provided
 * that the above copyright notice appear in all copies and that both that
 * copyright notice and this permission notice appear in supporting
 * documentation, and that the copyright holder's name not be used in
 * advertising or publicity pertaining to distribution of the software
 * without specific, written prior permission. The copyright holder makes
 * no representations about the suitability of this software for any
 * purpose. It is provided "as is" without express or implied warranty.
 */

#define LibPpm libppm.a
#define DepLibPpm LibPpm
#include <../Pbmplus.tmpl>

   CURRENTLIBS = $(LIBPPM) $(LIBPGM) $(LIBPBM)
CURRENTDEPLIBS = $(DEPLIBPPM) $(DEPLIBPGM) $(DEPLIBPBM)
     INCLUDES  = -I.. -I$(PBMDIR) -I$(PGMDIR)
       DEFINES = -DRGB_DB=\"DefaultRGBDatabase\"
         MERGE = ppmmerge

          MAN1 = bmptoppm.1 gouldtoppm.1 hpcdtoppm.1 ilbmtoppm.1 \
		 imgtoppm.1 mtvtoppm.1 pcxtoppm.1 pgmtoppm.1 \
		 pi1toppm.1 picttoppm.1 pjtoppm.1 \
                 ppm3d.1 ppmbrighten.1 ppmchange.1 ppmdim.1 ppmdist.1 \
		 ppmdither.1 ppmflash.1 ppmhist.1 ppmmake.1 ppmmix.1 \
		 ppmnorm.1 ppmntsc.1 ppmquant.1 ppmrelief.1 \
		 ppmshift.1 ppmspread.1 \
		 ppmtoacad.1 ppmtobmp.1 \
		 ppmtogif.1 ppmtoicr.1  ppmtoilbm.1 ppmtomitsu.1 \
		 ppmtopcx.1 ppmtopgm.1 ppmtopi1.1 ppmtopict.1 ppmtopj.1 \
		 ppmtopjxl.1 ppmtopuzz.1 ppmtorgb3.1 ppmtosixel.1 ppmtotga.1 \
		 ppmtouil.1 ppmtoxpm.1 ppmtoyuv.1 ppmtoyuvsplit.1 \
		 qrttoppm.1 rawtoppm.1 rgb3toppm.1 sldtoppm.1 \
		 spctoppm.1 sputoppm.1 tgatoppm.1 ximtoppm.1 \
		 xpmtoppm.1 xvminitoppm.1 yuvtoppm.1 yuvsplittoppm.1 \
		 ppmforge.1 ppmpat.1 ppmqvga.1 ppmtomap.1 \
		 ppmquantall.1
          MAN3 = libppm.3
          MAN5 = ppm.5

          SRCS = bmptoppm.c gouldtoppm.c hpcdtoppm.c ilbmtoppm.c \
		 imgtoppm.c mtvtoppm.c pcxtoppm.c pgmtoppm.c \
		 pi1toppm.c picttoppm.c pjtoppm.c \
                 ppm3d.c ppmbrighten.c ppmchange.c ppmdim.c ppmdist.c \
		 ppmdither.c ppmflash.c ppmhist.c ppmmake.c ppmmix.c \
		 ppmnorm.c ppmntsc.c ppmquant.c ppmrelief.c \
		 ppmshift.c ppmspread.c \
		 ppmtoacad.c ppmtobmp.c \
		 ppmtogif.c ppmtoicr.c ppmtoilbm.c ppmtomitsu.c \
		 ppmtopcx.c ppmtopgm.c ppmtopi1.c ppmtopict.c ppmtopj.c \
		 ppmtopjxl.c ppmtopuzz.c ppmtorgb3.c ppmtosixel.c ppmtotga.c \
		 ppmtouil.c ppmtoxpm.c ppmtoyuv.c ppmtoyuvsplit.c \
		 qrttoppm.c rawtoppm.c rgb3toppm.c sldtoppm.c \
		 spctoppm.c sputoppm.c tgatoppm.c ximtoppm.c \
		 xpmtoppm.c xvminitoppm.c yuvtoppm.c yuvsplittoppm.c \
		 ppmforge.c ppmpat.c ppmqvga.c ppmtomap.c

          OBJS = bmptoppm.o gouldtoppm.o hpcdtoppm.o ilbmtoppm.o \
		 imgtoppm.o mtvtoppm.o pcxtoppm.o pgmtoppm.o \
		 pi1toppm.o picttoppm.o pjtoppm.o \
                 ppm3d.o ppmbrighten.o ppmchange.o ppmdim.o ppmdist.o \
		 ppmdither.o ppmflash.o ppmhist.o ppmmake.o ppmmix.o \
		 ppmnorm.o ppmntsc.o ppmquant.o ppmrelief.o \
		 ppmshift.o ppmspread.o \
		 ppmtoacad.o ppmtobmp.o \
		 ppmtogif.o ppmtoicr.o ppmtoilbm.o ppmtomitsu.o \
		 ppmtopcx.o ppmtopgm.o ppmtopi1.o ppmtopict.o ppmtopj.o \
		 ppmtopjxl.o ppmtopuzz.o ppmtorgb3.o ppmtosixel.o ppmtotga.o \
		 ppmtouil.o ppmtoxpm.o ppmtoyuv.o ppmtoyuvsplit.o \
		 qrttoppm.o rawtoppm.o rgb3toppm.o sldtoppm.o \
		 spctoppm.o sputoppm.o tgatoppm.o ximtoppm.o \
		 xpmtoppm.o xvminitoppm.o yuvtoppm.o yuvsplittoppm.o \
		 ppmforge.o ppmpat.o ppmqvga.o ppmtomap.o

          BINS = bmptoppm gouldtoppm hpcdtoppm ilbmtoppm \
		 imgtoppm mtvtoppm pcxtoppm pgmtoppm \
		 pi1toppm picttoppm pjtoppm \
                 ppm3d ppmbrighten ppmchange ppmdim ppmdist \
		 ppmdither ppmflash ppmhist ppmmake ppmmix \
		 ppmnorm ppmntsc ppmquant ppmrelief \
		 ppmshift ppmspread \
		 ppmtoacad ppmtobmp \
		 ppmtogif ppmtoicr ppmtoilbm ppmtomitsu \
		 ppmtopcx ppmtopgm ppmtopi1 ppmtopict ppmtopj \
		 ppmtopjxl ppmtopuzz ppmtorgb3 ppmtosixel ppmtotga \
		 ppmtouil ppmtoxpm ppmtoyuv ppmtoyuvsplit \
		 qrttoppm rawtoppm rgb3toppm sldtoppm \
		 spctoppm sputoppm tgatoppm ximtoppm \
		 xpmtoppm xvminitoppm yuvtoppm yuvsplittoppm \
		 ppmforge ppmpat ppmqvga ppmtomap

includes:: ppmquantall.script

ppmquantall.script:
	$(LN) ppmquantall ppmquantall.script

AllTarget($(LIBPPM) $(BINS))

DependTarget()

NormalPbmplusProgramTarget(bmptoppm)
NormalPbmplusProgramTarget(gouldtoppm)
NormalPbmplusProgramTarget(hpcdtoppm)
NormalPbmplusProgramTarget(ilbmtoppm)
NormalPbmplusProgramTarget(imgtoppm)
NormalPbmplusProgramTarget(mtvtoppm)
NormalPbmplusProgramTarget(pcxtoppm)
NormalPbmplusProgramTarget(pgmtoppm)
NormalPbmplusProgramTarget(pi1toppm)
NormalPbmplusProgramTarget(picttoppm)
NormalPbmplusProgramTarget(pjtoppm)
NormalPbmplusProgramTarget(ppm3d)
NormalPbmplusProgramTarget(ppmbrighten)
NormalPbmplusProgramTarget(ppmchange)
NormalPbmplusProgramTarget(ppmdim)
NormalPbmplusProgramTarget(ppmdist)
NormalPbmplusProgramTarget(ppmdither)
NormalPbmplusProgramTarget(ppmflash)
NormalPbmplusProgramTarget(ppmhist)
NormalPbmplusProgramTarget(ppmmake)
NormalPbmplusProgramTarget(ppmmix)
NormalPbmplusProgramTarget(ppmnorm)
NormalPbmplusProgramTarget(ppmntsc)
NormalPbmplusProgramTarget(ppmquant)
NormalPbmplusProgramTarget(ppmrelief)
NormalPbmplusProgramTarget(ppmshift)
NormalPbmplusProgramTarget(ppmspread)
NormalPbmplusProgramTarget(ppmtoacad)
NormalPbmplusProgramTarget(ppmtobmp)
NormalPbmplusProgramTarget(ppmtogif)
NormalPbmplusProgramTarget(ppmtoicr)
NormalPbmplusProgramTarget(ppmtoilbm)
NormalPbmplusProgramTarget(ppmtomitsu)
NormalPbmplusProgramTarget(ppmtopcx)
NormalPbmplusProgramTarget(ppmtopgm)
NormalPbmplusProgramTarget(ppmtopi1)
NormalPbmplusProgramTarget(ppmtopict)
NormalPbmplusProgramTarget(ppmtopj)
NormalPbmplusProgramTarget(ppmtopjxl)
NormalPbmplusProgramTarget(ppmtopuzz)
NormalPbmplusProgramTarget(ppmtorgb3)
NormalPbmplusProgramTarget(ppmtosixel)
NormalPbmplusProgramTarget(ppmtotga)
NormalPbmplusProgramTarget(ppmtouil)
NormalPbmplusProgramTarget(ppmtoxpm)
NormalPbmplusProgramTarget(ppmtoyuv)
NormalPbmplusProgramTarget(ppmtoyuvsplit)
NormalPbmplusProgramTarget(qrttoppm)
NormalPbmplusProgramTarget(rawtoppm)
NormalPbmplusProgramTarget(rgb3toppm)
NormalPbmplusProgramTarget(sldtoppm)
NormalPbmplusProgramTarget(spctoppm)
NormalPbmplusProgramTarget(sputoppm)
NormalPbmplusProgramTarget(tgatoppm)
NormalPbmplusProgramTarget(ximtoppm)
NormalPbmplusProgramTarget(xpmtoppm)
NormalPbmplusProgramTarget(xvminitoppm)
NormalPbmplusProgramTarget(yuvtoppm)
NormalPbmplusProgramTarget(yuvsplittoppm)
NormalPbmplusMathProgramTarget(ppmforge)
NormalPbmplusMathProgramTarget(ppmpat)
NormalPbmplusMathProgramTarget(ppmqvga)
NormalPbmplusMathProgramTarget(ppmtomap)

NormalLibraryObjectRule()
NormalLibraryTarget(ppm,libppm1.o libppm2.o libppm3.o libppm4.o \
		    libppm5.o bitio.o)

#if InstallMerged
NormalProgramTarget($(MERGE),$(MERGE).o $(OBJS),$(CURRENTDEPLIBS),$(CURRENTLIBS),-lm)
#if InstallBinaries
InstallProgram($(MERGE),$(PBMPLUSDIR)$(PBMPLUSBINDIR))
#endif
#endif

#if InstallBinaries
InstallPbmplusPrograms($(BINS),$(PBMPLUSDIR)$(PBMPLUSBINDIR),$(INSTPGMFLAGS))
InstallScript(ppmquantall,$(PBMPLUSDIR)$(PBMPLUSBINDIR))
#endif

#if InstallManuals
InstallMultipleMan($(MAN1),$(PBMPLUSDIR)$(PBMPLUSMANDIR)/man1)
InstallMultipleMan($(MAN3),$(PBMPLUSDIR)$(PBMPLUSMANDIR)/man3)
InstallMultipleMan($(MAN5),$(PBMPLUSDIR)$(PBMPLUSMANDIR)/man5)
#endif

#if InstallLibraries
InstallLibrary(ppm,$(PBMPLUSDIR)$(PBMPLUSLIBDIR))
#endif

#if InstallIncludes
InstallMultipleFlags(ppm.h,$(PBMPLUSDIR)$(PBMPLUSINCDIR),$(INSTINCFLAGS))
#endif
