# Makefile for pnm tools. # # Copyright (C) 1989, 1991 by Jef Poskanzer. # # Modified by Robert A. Knop Jr. (rknop@cco.caltech.edu) 940126 for Amiga SAS/C # # 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. # Default values, usually overridden by top-level Makefile. #CC = cc #CC = gcc -ansi -pedantic -fcombine-regs -fpcc-struct-return CC = sc #CFLAGS = -O CFLAGS = #CFLAGS = -g -O TIFFDEF = DEFINE=LIBTIFF TIFFINC = IDIR=/libtiff TIFFLIB = /libtiff/libtiff.lib TIFFBINARIES = tifftopnm pnmtotiff TIFFOBJECTS = tifftopnm.o pnmtotiff.o #LDFLAGS = -s LDFLAGS = INSTALLBINARIES = /bin INSTALLSCRIPTS = $(INSTALLBINARIES) INSTALLMANUALS1 = /man/man1 SUFFIXMANUALS1 = 1 INSTALLMANUALS3 = /man/man3 SUFFIXMANUALS3 = 3 INSTALLMANUALS5 = /man/man5 SUFFIXMANUALS5 = 5 MANCP = copy PPMDIR = /ppm INCLUDEPPM = IDIR=$(PPMDIR) LIBPPM = $(PPMDIR)/libppm.lib DEFPPM = $(PPMDIR)/ppm.h DEFLIBPPM = $(PPMDIR)/libppm.h PGMDIR = /pgm INCLUDEPGM = IDIR=$(PGMDIR) LIBPGM = $(PGMDIR)/libpgm.lib DEFPGM = $(PGMDIR)/pgm.h DEFLIBPGM = $(PGMDIR)/libpgm.h PBMDIR = /pbm INCLUDEPBM = IDIR=$(PBMDIR) LIBPBM = $(PBMDIR)/libpbm.lib DEFPBM = $(PBMDIR)/pbm.h /pbmplus.h DEFLIBPBM = $(PBMDIR)/libpbm.h #SHELL = /bin/sh INCLUDE = IDIR=/ $(INCLUDEPPM) $(INCLUDEPGM) $(INCLUDEPBM) ALLCFLAGS = $(CFLAGS) $(INCLUDE) $(TIFFDEF) $(TIFFINC) LIBPNM = libpnm.lib PORTBINARIES = pnmarith pnmcat pnmcrop pnmcut \ pnmdepth pnmenlarge pnmfile pnmflip pnminvert \ pnmnoraw pnmpad pnmpaste pnmtile \ pnmtorast pnmtosir pnmtoxwd \ rasttopnm sirtopnm xwdtopnm zeisstopnm MATHBINARIES = fitstopnm pnmalias pnmgamma pnmnlfilt pnmrotate pnmshear \ pnmcomp giftopnm pnmhistmap pnmconvol pnmscale pnmtoddif \ pnmtofits pnmtops BINARIES = $(PORTBINARIES) $(MATHBINARIES) $(TIFFBINARIES) SCRIPTS = anytopnm pnmindex pnmmargin pnmsmooth pstopnm PORTOBJECTS = fitstopnm giftopnm.o pnmalias.o \ pnmarith.o pnmcat.o pnmcomp.o pnmconvol.o pnmcrop.o pnmcut.o \ pnmdepth.o pnmenlarge.o pnmfile.o pnmflip.o pnmhistmap.o \ pnminvert.o pnmnoraw.o pnmpad.o pnmpaste.o \ pnmtile.o pnmtoddif.o pnmtofits.o pnmtops.o pnmtorast.o \ pnmtosir.o pnmtoxwd.o \ rasttopnm.o sirtopnm.o xwdtopnm.o zeisstopnm.o \ pnmgamma.o pnmnlfilt.o pnmrotate.o pnmscale.o pnmshear.o OBJECTS = $(PORTOBJECTS) $(TIFFOBJECTS) MANUALS1 = $(BINARIES) $(SCRIPTS) MANUALS3 = libpnm MANUALS5 = pnm all: binaries #all: merge install: install.bin #install: install.merge binaries: $(BINARIES) install.bin: binaries $(SCRIPTS) # cd $(INSTALLBINARIES) ; rm -f $(BINARIES) copy $(BINARIES) TO $(INSTALLBINARIES) CLONE # cd $(INSTALLSCRIPTS) ; rm -f $(SCRIPTS) execute < <(T:install_man.temp) foreach i in $(SCRIPTS) protect $${i} +s end < copy $(SCRIPTS) TO $(INSTALLSCRIPTS) CLONE # cd $(INSTALLSCRIPTS) ; chmod +x $(SCRIPTS) #merge: pnmmerge #pnmmerge: pnmmerge.c $(OBJECTS) $(LIBPNM) $(LIBPPM) $(LIBPGM) $(LIBPBM) # $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c $(OBJECTS) -lm $(LIBPNM) $(LIBPPM) $(LIBPGM) $(LIBPBM) $(TIFFLIB) # #install.merge: install.pnmmerge $(SCRIPTS) #install.pnmmerge: pnmmerge # cd $(INSTALLBINARIES) ; rm -f $(BINARIES) # cp pnmmerge $(INSTALLBINARIES) # cd $(INSTALLBINARIES) ; for i in $(BINARIES) ; do ln pnmmerge $$i ; done # rm -f $(INSTALLBINARIES)/pnmmerge # cd $(INSTALLSCRIPTS) ; rm -f $(SCRIPTS) # cp $(SCRIPTS) $(INSTALLSCRIPTS) # cd $(INSTALLSCRIPTS) ; chmod +x $(SCRIPTS) install.man: execute < <(T:install_man.temp) foreach i in $(MANUALS1) delete $(INSTALLMANUALS1)/$${i}.$(SUFFIXMANUALS1) $(MANCP) $${i}.1 $(INSTALLMANUALS1)/$${i}.$(SUFFIXMANUALS1) end < execute < <(T:install_man.temp) foreach i in $(MANUALS3) delete $(INSTALLMANUALS3)/$${i}.$(SUFFIXMANUALS3) $(MANCP) $${i}.3 $(INSTALLMANUALS3)/$${i}.$(SUFFIXMANUALS3) end < execute < <(T:install_man.temp) foreach i in $(MANUALS5) delete $(INSTALLMANUALS5)/$${i}.$(SUFFIXMANUALS5) $(MANCP) $${i}.5 $(INSTALLMANUALS5)/$${i}.$(SUFFIXMANUALS5) end < # Rules for plain programs. $(PORTBINARIES) $(TIFFBINARIES): pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) $(LIBPNM) $(LIBPPM) $(LIBPGM) $(LIBPBM) $(TIFFLIB) $(CC) $(ALLCFLAGS) $(LDFLAGS) LINK $@.c $(LIBPNM) $(LIBPPM) $(LIBPGM) $(LIBPBM) $(TIFFLIB) # Rule for math-dependent programs. $(MATHBINARIES): pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) $(LIBPNM) \ $(LIBPPM) $(LIBPGM) $(LIBPBM) $(CC) $(ALLCFLAGS) $(LDFLAGS) MATH=I LINK $@.c $(LIBPNM) $(LIBPPM) $(LIBPGM) $(LIBPBM) # commented out until merge supported RKNOP 931107 # Rule for objects. #$(OBJECTS): pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) # $(CC) $(ALLCFLAGS) "-Dmain=$*_main" -c $*.c # And libraries. $(LIBPBM): execute < <(T:smake_temp.com) cd $(PBMDIR) smake lib < $(LIBPGM) FOO: execute < <(T:smake_temp.com) cd $(PGMDIR) smake lib < $(LIBPPM) BAR: execute < <(T:smake_temp.com) cd $(PPMDIR) smake lib < lib: $(LIBPNM) $(LIBPNM): libpnm1.o libpnm2.o libpnm3.o libpnm4.o -delete $(LIBPNM) oml $(LIBPNM) r libpnm1.o libpnm2.o libpnm3.o libpnm4.o libpnm1.o: pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) libpnm1.c $(CC) $(ALLCFLAGS) NOLINK libpnm1.c libpnm2.o: pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) libpnm2.c $(DEFLIBPPM) \ $(DEFLIBPGM) $(DEFLIBPBM) $(CC) $(ALLCFLAGS) NOLINK libpnm2.c libpnm3.o: pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) libpnm3.c $(DEFLIBPPM) \ $(DEFLIBPGM) $(DEFLIBPBM) $(CC) $(ALLCFLAGS) NOLINK libpnm3.c libpnm4.o: pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) rast.h libpnm4.c $(CC) $(ALLCFLAGS) NOLINK libpnm4.c # Other dependencies. fitstopnm fitstopnm.o: fitstopnm.c giftopnm giftopnm.o: giftopnm.c pnmalias pnmalias.o: pnmalias.c pnmarith pnmarith.o: pnmarith.c pnmcat pnmcat.o: pnmcat.c pnmcomp pnmcomp.o: pnmcomp.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 pnmhistmap pnmhistmap.o: pnmhistmap.c pnminvert pnminvert.o: pnminvert.c pnmnoraw pnmnoraw.o: pnmnoraw.c pnmpad pnmpad.o: pnmpad.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 pnmtofits pnmtofits.o: pnmtofits.c pnmtops pnmtops.o: pnmtops.c pnmtosir pnmtosir.o: pnmtosir.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 sirtopnm sirtopnm.o: sirtopnm.c tifftopnm tifftopnm.o: tifftopnm.c xwdtopnm xwdtopnm.o: xwdtopnm.c x10wd.h x11wd.h zeisstopnm zeisstopnm.o: zeisstopnm.c clean: delete *.o *.lib *.lnk $(BINARIES)