#
# File: wff/Applications/Makefile 
# Authors: J. Painter,
#          K.R. Sloan  
# Last Modified: 11 December 1991
# Purpose: Makefile for the WFF Applications directory

ARCH = SS1
WFF = /wa/wff
DEST = ../${ARCH}bin
INCLUDE = -I../include -I${WFF}/include
CFLAGS = -g ${INCLUDE}

OBJECTS = Rank3x3.o
PROGRAMS = AIS RLE Bits \
     rgb2i i2rgb Intensity \
     StdRamp IntRamp Grid Waves Waves2 Constant Ramp \
     FFTwff TFFwff mA2I mA2RGB \
     DiffuseN ReSample DownSample ReSize Flip\
     Thresh Stretch Gamma \
     ApplyMap MakeLinearMap \
     Conv3x3 Median3x3 ConvHV ConvXY \
     Composite  Difference \
     Gaussian WSINC Cubic \
     Combine Separate \
     Crop \
     Contour

SCRIPTS = Gaussian3x3 Laplacian3x3 BiLaplacian3x3 Horizontal3x3 Vertical3x3

all: ${OBJECTS} ${PROGRAMS} ${SCRIPTS}

AIS: AIS.o ${DEST}/wff.o
	cc ${CFLAGS} -o AIS  AIS.o ${DEST}/wff.o -lc
	
RLE: RLE.o ${DEST}/wff.o
	cc ${CFLAGS} -o RLE  RLE.o ${DEST}/wff.o -lc

Bits: Bits.o ${DEST}/wff.o
	cc ${CFLAGS} -o Bits  Bits.o ${DEST}/wff.o -lc

StdRamp: StdRamp.o ${DEST}/wff.o
	cc ${CFLAGS} -o StdRamp  StdRamp.o ${DEST}/wff.o -lc -lm

IntRamp: IntRamp.o ${DEST}/wff.o
	cc ${CFLAGS} -o IntRamp  IntRamp.o ${DEST}/wff.o -lc -lm

Grid: Grid.o ${DEST}/wff.o
	cc ${CFLAGS} -o Grid  Grid.o ${DEST}/wff.o -lc -lm

Waves: Waves.o ${DEST}/wff.o
	cc ${CFLAGS} -o Waves  Waves.o ${DEST}/wff.o -lc -lm

Waves2: Waves2.o ${DEST}/wff.o
	cc ${CFLAGS} -o Waves2  Waves2.o ${DEST}/wff.o -lc -lm

Conv3x3: Conv3x3.o ${DEST}/wff.o ${DEST}/wff3x3.o
	cc ${CFLAGS} -o Conv3x3  Conv3x3.o ${DEST}/wff.o \
	${DEST}/wff3x3.o -lc

ConvHV: ConvHV.o ${DEST}/wff.o ${DEST}/wffConvHV.o
	cc ${CFLAGS} -o ConvHV  ConvHV.o ${DEST}/wff.o \
	${DEST}/wffConvHV.o -lc

ConvXY: ConvXY.o ${DEST}/wff.o ${DEST}/wffConvXY.o
	cc ${CFLAGS} -o ConvXY  ConvXY.o ${DEST}/wff.o \
	${DEST}/wffConvXY.o -lc

Median3x3: Median3x3.o Rank3x3.o ${DEST}/wff.o
	cc ${CFLAGS} -o Median3x3  Median3x3.o ${DEST}/wff.o \
	Rank3x3.o -lc

Intensity: Intensity.o  ${DEST}/wff.o
	cc ${CFLAGS} -o Intensity  Intensity.o ${DEST}/wff.o

rgb2i: rgb2i.o  ${DEST}/wff.o
	cc ${CFLAGS} -o rgb2i  rgb2i.o ${DEST}/wff.o

i2rgb: i2rgb.o  ${DEST}/wff.o
	cc ${CFLAGS} -o i2rgb  i2rgb.o ${DEST}/wff.o
			
Composite: Composite.o ${DEST}/wff.o
	cc ${CFLAGS} -o Composite  Composite.o ${DEST}/wff.o -lc 

Difference: Difference.o ${DEST}/wff.o
	cc ${CFLAGS} -o Difference  Difference.o ${DEST}/wff.o -lc

FFTwff: FFTwff.o ${DEST}/wff.o ${DEST}/mallocNd.o ${DEST}/FFT.o
	cc ${CFLAGS} -o FFTwff  FFTwff.o ${DEST}/wff.o \
	${DEST}/mallocNd.o ${DEST}/FFT.o -lc -lm

TFFwff: TFFwff.o ${DEST}/wff.o ${DEST}/mallocNd.o ${DEST}/FFT.o
	cc ${CFLAGS} -o TFFwff  TFFwff.o ${DEST}/wff.o \
	${DEST}/mallocNd.o ${DEST}/FFT.o -lc -lm

mA2I: mA2I.o ${DEST}/wff.o
	cc ${CFLAGS} -o mA2I  mA2I.o ${DEST}/wff.o -lc -lm 

mA2RGB: mA2RGB.o ${DEST}/wff.o
	cc ${CFLAGS} -o mA2RGB  mA2RGB.o ${DEST}/wff.o -lc -lm 

ReSample: ReSample.o ${DEST}/wff.o
	cc ${CFLAGS} -o ReSample  ReSample.o ${DEST}/wff.o -lc

DownSample: DownSample.o ${DEST}/wff.o
	cc ${CFLAGS} -o DownSample  DownSample.o ${DEST}/wff.o -lc

ReSize: ReSize.o ${DEST}/wff.o
	cc ${CFLAGS} -o ReSize  ReSize.o ${DEST}/wff.o -lc

Crop: Crop.o ${DEST}/wff.o
	cc ${CFLAGS} -o Crop  Crop.o ${DEST}/wff.o -lc

Contour: Contour.o ${DEST}/wff.o
	cc ${CFLAGS} -o Contour  Contour.o ${DEST}/wff.o -lc

Flip: Flip.o ${DEST}/wff.o
	cc ${CFLAGS} -o Flip Flip.o ${DEST}/wff.o -lc

Ramp: Ramp.o ${DEST}/wff.o
	cc ${CFLAGS} -o Ramp  Ramp.o ${DEST}/wff.o -lc

Constant: Constant.o ${DEST}/wff.o
	cc ${CFLAGS} -o Constant  Constant.o ${DEST}/wff.o -lc

DiffuseN: DiffuseN.o ${DEST}/wff.o
	cc ${CFLAGS} -o DiffuseN  DiffuseN.o ${DEST}/wff.o -lc

Thresh: Thresh.o ${DEST}/wff.o
	cc ${CFLAGS} -o Thresh  Thresh.o ${DEST}/wff.o -lc

Stretch: Stretch.o ${DEST}/wff.o
	cc ${CFLAGS} -o Stretch  Stretch.o ${DEST}/wff.o -lc -lm

Gamma: Gamma.o ${DEST}/wff.o
	cc ${CFLAGS} -o Gamma  Gamma.o ${DEST}/wff.o -lc -lm

Combine: Combine.o ${DEST}/wff.o
	cc ${CFLAGS} -o Combine  Combine.o ${DEST}/wff.o -lc -lm

Separate: Separate.o ${DEST}/wff.o
	cc ${CFLAGS} -o Separate  Separate.o ${DEST}/wff.o -lc -lm

ApplyMap: ApplyMap.o ${DEST}/wff.o ${DEST}/mallocNd.o ColorMap.o 
	cc ${CFLAGS} -o ApplyMap  ApplyMap.o ${DEST}/wff.o \
           ${DEST}/mallocNd.o ColorMap.o -lc -lm

MakeLinearMap: MakeLinearMap.o ${DEST}/wff.o ${DEST}/mallocNd.o ColorMap.o
	cc ${CFLAGS} -o MakeLinearMap  MakeLinearMap.o  ${DEST}/wff.o \
           ${DEST}/mallocNd.o ColorMap.o -lc -lm

Gaussian: Gaussian.o ${DEST}/wff.o ${DEST}/wffConvHV.o
	cc ${CFLAGS} -o Gaussian Gaussian.o \
           ${DEST}/wff.o ${DEST}/wffConvHV.o -lc -lm

WSINC: WSINC.o ${DEST}/wff.o
	cc ${CFLAGS} -o WSINC WSINC.o ${DEST}/wff.o \
           ${DEST}/wffConvHV.o -lc -lm

Cubic: Cubic.o ${DEST}/wff.o
	cc ${CFLAGS} -o Cubic Cubic.o ${DEST}/wff.o \
           ${DEST}/wffConvHV.o -lc -lm

# Script magic

Gaussian3x3: Gaussian3x3.csh Makefile
	sed -e "s#{WFF}#${WFF}#g" < $@.csh > $@
	chmod a+x $@

Laplacian3x3: Laplacian3x3.csh Makefile
	sed -e "s#{WFF}#${WFF}#g" < $@.csh > $@
	chmod a+x $@

BiLaplacian3x3: BiLaplacian3x3.csh Makefile
	sed -e "s#{WFF}#${WFF}#g" < $@.csh > $@
	chmod a+x $@

Horizontal3x3: Horizontal3x3.csh Makefile
	sed -e "s#{WFF}#${WFF}#g" < $@.csh > $@
	chmod a+x $@

Vertical3x3: Vertical3x3.csh Makefile
	sed -e "s#{WFF}#${WFF}#g" < $@.csh > $@
	chmod a+x $@
	
							       
install: all
	cp ${OBJECTS} ${DEST}
	cp ${PROGRAMS} ${DEST}
	cp ${SCRIPTS}  ${DEST}
	(cd ${DEST}; chmod a+r ${OBJECTS})
	(cd ${DEST}; chmod a+rx ${PROGRAMS})
	(cd ${DEST}; chmod a+rx ${SCRIPTS})
	ls -l  ${DEST}

clean: 
	rm -f ${OBJECTS} 
	rm -f ${PROGRAMS} 
	rm -f ${SCRIPTS}
	rm -f *.o *.bak *.ckp core *~ #* .emac* \#*
	ls -l
