home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Resource Library: Graphics
/
graphics-16000.iso
/
general
/
convrtrs
/
pbmplus
/
ntpbmsrc.lha
/
netpbm
/
pnm
/
Makefile.amiga
< prev
next >
Wrap
Makefile
|
1993-12-02
|
10KB
|
248 lines
# Makefile for pnm tools.
#
# Copyright (C) 1989, 1991 by Jef Poskanzer.
# Modified for Amiga DICE by Ingo Wilken (Ingo.Wilken@informatik.uni-oldenburg.de)
#
# Permission to use, copy, modify, and distribute this software and its
# documentation for any purpose and without fee is hereby granted, provided
# that the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation. This software is provided "as is" without express or
# implied warranty.
CC = dcc
CFLAGS = -O0 -E DCC_ERRORS -T RAM: -ms -mu -gs -proto
TIFFDEF = -DLIBTIFF
LDFLAGS =
BINDIR = bin
MERGE = pnmmerge
# where to install the binaries, libraries and important header files
INSTALLBIN = bin:pbmplus
INSTALLLIB = dlib:local
INSTALLINCL= dinclude:local
# install which headers
HEADERS= pnm.h /pbmplus.h
PBMDIR = /pbm
INCLUDEPBM = -I$(PBMDIR)
RLIBPBM = $(PBMDIR)/pbmsr.lib
RLLIBPBM = $(PBMDIR)/pbmrl.lib
SLIBPBM = $(PBMDIR)/pbms.lib
SLLIBPBM = $(PBMDIR)/pbml.lib
DEFPBM = $(PBMDIR)/pbm.h /pbmplus.h
DEFLIBPBM = $(PBMDIR)/libpbm.h
PGMDIR = /pgm
INCLUDEPGM = -I$(PGMDIR)
RLIBPGM = $(PGMDIR)/pgmsr.lib
RLLIBPGM = $(PGMDIR)/pgmrl.lib
SLIBPGM = $(PGMDIR)/pgms.lib
SLLIBPGM = $(PGMDIR)/pgml.lib
DEFPGM = $(PGMDIR)/pgm.h
DEFLIBPGM = $(PGMDIR)/libpgm.h
PPMDIR = /ppm
INCLUDEPPM = -I$(PPMDIR)
RLIBPPM = $(PPMDIR)/ppmsr.lib
RLLIBPPM = $(PPMDIR)/ppmrl.lib
SLIBPPM = $(PPMDIR)/ppms.lib
SLLIBPPM = $(PPMDIR)/ppml.lib
DEFPPM = $(PPMDIR)/ppm.h
DEFLIBPPM = $(PPMDIR)/libppm.h
TIFFDIR = /libtiff
TIFFINC = -I$(TIFFDIR)
TIFFLIB = $(TIFFDIR)/libtiff.lib
INCLUDE = -I/ $(INCLUDEPPM) $(INCLUDEPGM) $(INCLUDEPBM)
RALLCFLAGS = $(CFLAGS) $(INCLUDE) $(TIFFDEF) $(TIFFINC) -mRR
SALLCFLAGS = $(CFLAGS) $(INCLUDE) $(TIFFDEF) $(TIFFINC)
DEFPNM = pnm.h
#DEFLIBPNM = libpnm.h
RLIBPNM = pnmsr.lib
RLLIBPNM = pnmrl.lib
SLIBPNM = pnms.lib
SLLIBPNM = pnml.lib
LIBRARIES = $(RLIBPNM) $(RLLIBPNM) $(SLIBPNM) $(SLLIBPNM)
BINS = pnmarith pnmcat pnmconvol pnmcrop pnmcut \
pnmdepth pnmenlarge pnmfile pnmflip pnmgamma pnmhistmap \
pnminvert pnmnoraw pnmpaste pnmtile \
pnmtoddif pnmtorast pnmtoxwd rasttopnm xwdtopnm \
pnmcomp zeisstopnm pnmpad pnmtosir sirtopnm
MATHBINS = pnmrotate pnmscale pnmshear pnmtops \
pnmnlfilt
LMATHBINS = giftopnm
TIFFBINS = tifftopnm pnmtotiff
BINARIES = $(BINS) $(MATHBINS) $(TIFFBINS) $(LMATHBINS)
SCRIPTS = anytopnm pnmindex pnmmargin pnmsmooth
OBJS = pnmarith.o pnmcat.o pnmconvol.o pnmcrop.o pnmcut.o \
pnmdepth.o pnmenlarge.o pnmfile.o pnmflip.o pnmhistmap.o \
pnminvert.o pnmnoraw.o pnmpaste.o pnmscale.o pnmtile.o \
pnmtoddif.o \
pnmtops.o pnmtorast.o pnmtoxwd.o rasttopnm.o xwdtopnm.o \
pnmgamma.o pnmrotate.o pnmshear.o \
pnmcomp.o zeisstopnm.o pnmnlfilt.o pnmpad.o \
pnmtosir.o sirtopnm.o giftopnm.o
TIFFOBJECTS = tifftopnm.o pnmtotiff.o
OBJECTS = $(OBJS) $(TIFFOBJECTS)
all: lib binaries
bindir:
-makedir $(BINDIR)
binaries: lib bindir $(BINARIES)
lib: $(LIBRARIES)
merge: $(SLLIBPNM) bindir $(MERGE)
# Rules for plain programs.
$(BINS): $(DEFPNM) $(DEFPPM) $(DEFPGM) $(DEFPBM) $(RLIBPNM) $(RLIBPPM) $(RLIBPGM) $(RLIBPBM)
$(CC) -r $(RALLCFLAGS) $(LDFLAGS) -o $(BINDIR)/$@ $@.c -l $(RLIBPNM) -l $(RLIBPPM) -l $(RLIBPGM) -l $(RLIBPBM)
$(LMATHBINS): $(DEFPNM) $(DEFPPM) $(DEFPGM) $(DEFPBM) $(RLLIBPNM) $(RLLIBPPM) $(RLLIBPGM) $(RLLIBPBM)
$(CC) -mD -mC $(RALLCFLAGS) $(LDFLAGS) -o $(BINDIR)/$@ $@.c -l $(RLLIBPNM) -l $(RLLIBPPM) -l $(RLLIBPGM) -l $(RLLIBPBM) -lm
$(TIFFBINS): $(DEFPNM) $(DEFPPM) $(DEFPGM) $(DEFPBM) $(SLLIBPNM) $(SLLIBPPM) $(SLLIBPGM) $(SLLIBPBM) $(TIFFLIB)
$(CC) -mD -mC $(SALLCFLAGS) $(LDFLAGS) $@.c -o $(BINDIR)/$@ -l $(SLLIBPNM) -l $(SLLIBPPM) -l $(SLLIBPGM) -l $(SLLIBPBM) -l $(TIFFLIB) -lm
# Rule for math-dependent programs.
$(MATHBINS): $(DEFPNM) $(DEFPPM) $(DEFPGM) $(DEFPBM) $(RLIBPNM) $(RLIBPPM) $(RLIBPGM) $(RLIBPBM)
$(CC) -r $(RALLCFLAGS) $(LDFLAGS) -o $(BINDIR)/$@ $@.c -l $(RLIBPNM) -l $(RLIBPPM) -l $(RLIBPGM) -l $(RLIBPBM) -lm
#merged binaries, all objects must be compiled with large-data, stack-args
#$(MERGE): pnmmerge.c $(OBJECTS) $(SLLIBPNM) $(SLLIBPPM) $(SLLIBPGM) $(SLLIBPBM)
# $(CC) -mD -mC $(SALLCFLAGS) $(LDFLAGS) -o $(BINDIR)/$@ $@.c $(OBJECTS) -l $(SLLIBPNM) -l $(SLLIBPPM) -l $(SLLIBPGM) -l $(SLLIBPBM) -lm
# Rule for objects.
#$(OBJECTS): $(DEFPNM) $(DEFPPM) $(DEFPGM) $(DEFPBM)
# $(CC) -mD -mC $(SALLCFLAGS) -c $*.c "-Dmain=$*_main"
# And libraries.
#$(LIBPBM):
# cd $(PBMDIR) ; make lib
#$(LIBPGM) FOO:
# cd $(PGMDIR) ; make lib
#$(LIBPPM) BAR:
# cd $(PPMDIR) ; make lib
# small data version
$(RLIBPNM): libpnm1.or libpnm2.or libpnm3.or libpnm4.or
-delete $(RLIBPNM)
join libpnm1.or libpnm2.or libpnm3.or libpnm4.or to $(RLIBPNM)
libpnm1.or: $(DEFPNM) $(DEFPPM) $(DEFPGM) $(DEFPBM) libpnm1.c
$(CC) -r $(RALLCFLAGS) -S -o $@ -c libpnm1.c
libpnm2.or: $(DEFPNM) $(DEFPPM) $(DEFPGM) $(DEFPBM) libpnm2.c $(DEFLIBPPM) $(DEFLIBPGM) $(DEFLIBPBM)
$(CC) -r $(RALLCFLAGS) -S -o $@ -c libpnm2.c
libpnm3.or: $(DEFPNM) $(DEFPPM) $(DEFPGM) $(DEFPBM) libpnm3.c $(DEFLIBPPM) $(DEFLIBPGM) $(DEFLIBPBM)
$(CC) -r $(RALLCFLAGS) -S -o $@ -c libpnm3.c
libpnm4.or: $(DEFPNM) $(DEFPPM) $(DEFPGM) $(DEFPBM) rast.h libpnm4.c
$(CC) -r $(RALLCFLAGS) -S -o $@ -c libpnm4.c
# small data version, not registerized (arguments on stack)
$(SLIBPNM): libpnm1.o libpnm2.o libpnm3.o libpnm4.o
-delete $(SLIBPNM)
join libpnm1.o libpnm2.o libpnm3.o libpnm4.o to $(SLIBPNM)
libpnm1.o: $(DEFPNM) $(DEFPPM) $(DEFPGM) $(DEFPBM) libpnm1.c
$(CC) -r $(SALLCFLAGS) -S -o $@ -c libpnm1.c
libpnm2.o: $(DEFPNM) $(DEFPPM) $(DEFPGM) $(DEFPBM) libpnm2.c $(DEFLIBPPM) $(DEFLIBPGM) $(DEFLIBPBM)
$(CC) -r $(SALLCFLAGS) -S -o $@ -c libpnm2.c
libpnm3.o: $(DEFPNM) $(DEFPPM) $(DEFPGM) $(DEFPBM) libpnm3.c $(DEFLIBPPM) $(DEFLIBPGM) $(DEFLIBPBM)
$(CC) -r $(SALLCFLAGS) -S -o $@ -c libpnm3.c
libpnm4.o: $(DEFPNM) $(DEFPPM) $(DEFPGM) $(DEFPBM) rast.h libpnm4.c
$(CC) -r $(SALLCFLAGS) -S -o $@ -c libpnm4.c
# large data version
$(RLLIBPNM): libpnm1.olr libpnm2.olr libpnm3.olr libpnm4.olr
-delete $(RLLIBPNM)
join libpnm1.olr libpnm2.olr libpnm3.olr libpnm4.olr to $(RLLIBPNM)
libpnm1.olr: $(DEFPNM) $(DEFPPM) $(DEFPGM) $(DEFPBM) libpnm1.c
$(CC) -mD $(RALLCFLAGS) -S -o $@ -c libpnm1.c
libpnm2.olr: $(DEFPNM) $(DEFPPM) $(DEFPGM) $(DEFPBM) libpnm2.c $(DEFLIBPPM) $(DEFLIBPGM) $(DEFLIBPBM)
$(CC) -mD $(RALLCFLAGS) -S -o $@ -c libpnm2.c
libpnm3.olr: $(DEFPNM) $(DEFPPM) $(DEFPGM) $(DEFPBM) libpnm3.c $(DEFLIBPPM) $(DEFLIBPGM) $(DEFLIBPBM)
$(CC) -mD $(RALLCFLAGS) -S -o $@ -c libpnm3.c
libpnm4.olr: $(DEFPNM) $(DEFPPM) $(DEFPGM) $(DEFPBM) rast.h libpnm4.c
$(CC) -mD $(RALLCFLAGS) -S -o $@ -c libpnm4.c
# large data version, not registerized (arguments on stack)
$(SLLIBPNM): libpnm1.ol libpnm2.ol libpnm3.ol libpnm4.ol
-delete $(SLLIBPNM)
join libpnm1.ol libpnm2.ol libpnm3.ol libpnm4.ol to $(SLLIBPNM)
libpnm1.ol: $(DEFPNM) $(DEFPPM) $(DEFPGM) $(DEFPBM) libpnm1.c
$(CC) -mD $(SALLCFLAGS) -S -o $@ -c libpnm1.c
libpnm2.ol: $(DEFPNM) $(DEFPPM) $(DEFPGM) $(DEFPBM) libpnm2.c $(DEFLIBPPM) $(DEFLIBPGM) $(DEFLIBPBM)
$(CC) -mD $(SALLCFLAGS) -S -o $@ -c libpnm2.c
libpnm3.ol: $(DEFPNM) $(DEFPPM) $(DEFPGM) $(DEFPBM) libpnm3.c $(DEFLIBPPM) $(DEFLIBPGM) $(DEFLIBPBM)
$(CC) -mD $(SALLCFLAGS) -S -o $@ -c libpnm3.c
libpnm4.ol: $(DEFPNM) $(DEFPPM) $(DEFPGM) $(DEFPBM) rast.h libpnm4.c
$(CC) -mD $(SALLCFLAGS) -S -o $@ -c libpnm4.c
# Other dependencies.
pnmarith pnmarith.o: pnmarith.c
pnmcat pnmcat.o: pnmcat.c
pnmconvol pnmconvol.o: pnmconvol.c
pnmcrop pnmcrop.o: pnmcrop.c
pnmcut pnmcut.o: pnmcut.c
pnmdepth pnmdepth.o: pnmdepth.c
pnmenlarge pnmenlarge.o: pnmenlarge.c
pnmfile pnmfile.o: pnmfile.c
pnmflip pnmflip.o: pnmflip.c
pnmgamma pnmgamma.o: pnmgamma.c
pnminvert pnminvert.o: pnminvert.c
pnmhistmap pnmhistmao.o: pnmhistmap.c
pnmnoraw pnmnoraw.o: pnmnoraw.c
pnmpaste pnmpaste.o: pnmpaste.c
pnmrotate pnmrotate.o: pnmrotate.c
pnmscale pnmscale.o: pnmscale.c
pnmshear pnmshear.o: pnmshear.c
pnmtile pnmtile.o: pnmtile.c
pnmtoddif pnmtoddif.o: pnmtoddif.c
pnmtops pnmtops.o: pnmtops.c
pnmtorast pnmtorast.o: pnmtorast.c rast.h
pnmtotiff pnmtotiff.o: pnmtotiff.c
pnmtoxwd pnmtoxwd.o: pnmtoxwd.c x11wd.h
rasttopnm rasttopnm.o: rasttopnm.c rast.h
tifftopnm tifftopnm.o: tifftopnm.c
xwdtopnm xwdtopnm.o: xwdtopnm.c x10wd.h x11wd.h
pnmcomp pnmcomp.o: pnmcomp.c
zeisstopnm zeisstopnm.o: zeisstopnm.c
pnmnlfilt pnmnlfilt.o: pnmnlfilt.c
pnmpad pnmpad.o: pnmpad.c
zeisstopnm zeisstopnm.o: zeisstopnm.c
pnmtosir pnmtosir.o: pnmtosir.c
sirtopnm sirtopnm.o: sirtopnm.c
clean:
-delete \#?.o \#?.or \#?.ol \#?.olr DCC_ERRORS
cleanall: clean
-delete \#?.lib
-delete $(BINDIR) all
installlib: lib
copy $(LIBRARIES) to $(INSTALLLIB)
copy $(HEADERS) to $(INSTALLINCL)
installbin: binaries
copy $(BINDIR) all to $(INSTALLBIN)
installall: installlib installbin
install:
@echo "Please select: installlib, installbin, installall"