#Modify the following to point to your desired installation points
INDIR=/usr/local/alv/bin
ANDIR=/usr/local/alv/doc/man
FILDIR=/usr/local/alv/filters

#You might want to change this to rasfilter8to1, but ras8to1 is better!
FILTER8TO1=$(BINDIR)/ras8to1

#Sensible values of COMPILE_FLAGS are -g or -O
#NB It must be called COMPILE_FLAGS here and not CFLAGS!
#COMPILE_FLAGS=-g 
OMPILE_FLAGS=-O 

##########################################################
# You shouldn't need to modify anything below this point #
# Type:                                                  #
# 'make' to make tools standalone in place               #
# 'make install' to make tools standalone and install    #
##########################################################

LIBS = support.o -lsuntool -lsunwindow -lpixrect -lm 
IBS =  support.o -lpixrect -lm 

ROGS = convert dither rasthresh winlev dsp rasregion equalise ffill hist im2ras \
	ras2im ras2lw invert rasval blend rasrange halftone box rasinfo scr2ras \
	winlev8 rasscale transform convolve ras2array array2ras hough palettetool \
	cst rasremap scrload ras8to1 fconvolve glass

FLAGS=$(COMPILE_FLAGS) -DSTANDALONE

ll: $(PROGS) 

lass: glass.o
	cc $(CFLAGS) -o glass glass.o -lsuntool -lsunwindow -lpixrect -lm 

as8to1: ras8to1.o support.o
	cc $(CFLAGS) -o ras8to1 ras8to1.o $(LIBS)

crload: scrload.o support.o
	cc $(CFLAGS) -o scrload scrload.o $(LIBS)

st: cst.o support.o
	cc $(CFLAGS) -o cst cst.o $(WLIBS)

asremap: rasremap.o support.o
	cc $(CFLAGS) -o rasremap rasremap.o $(LIBS)

alettetool:  palettetool.o p_confirm.o p_init.o p_notif.o p_panel.o p_event.o support.o
	cc $(CFLAGS) -o palettetool palettetool.o p_confirm.o p_init.o \
	p_notif.o p_panel.o p_event.o $(WLIBS)

ough: hough.o support.o
	cc $(CFLAGS) -o hough hough.o $(LIBS)

rray2ras: array2ras.o support.o
	cc $(CFLAGS) -o array2ras array2ras.o $(LIBS)

onvert: convert.o support.o
	cc $(CFLAGS) -o convert convert.o $(LIBS)

convolve.o: fconvolve.c defs.h support.c
	cc $(CFLAGS) -DFILTERS_DIR=\"$(FILDIR)\" -c fconvolve.c

convolve: fconvolve.o support.o dynamem.o
	cc $(CFLAGS) fconvolve.o dynamem.o -o fconvolve $(LIBS)

onvolve.o: convolve.c defs.h support.c
	cc $(CFLAGS) -DFILTERS_DIR=\"$(FILDIR)\" -c convolve.c

onvolve: convolve.o support.o dynamem.o
	cc $(CFLAGS) convolve.o dynamem.o -o convolve $(LIBS)

ither: dither.o support.o
	cc $(CFLAGS) -o dither dither.o $(LIBS)

ransform: transform.o matrix.o dynamem.o support.o
	cc $(CFLAGS) -o transform transform.o dynamem.o matrix.o $(LIBS)

asthresh: rasthresh.o support.o
	cc $(CFLAGS) -o rasthresh rasthresh.o $(LIBS)

inlev: winlev.o support.o
	cc $(CFLAGS) -o winlev winlev.o $(LIBS)

sp: dsp.o support.o
	cc $(CFLAGS) -o dsp dsp.o $(WLIBS)

sp.o: dsp.c defs.h
	cc $(CFLAGS) -DFILTER8TO1=\"$(FILTER8TO1)\" -c dsp.c 

asregion: rasregion.o support.o
	cc $(CFLAGS) -o rasregion rasregion.o $(LIBS)

qualise: equalise.o support.o
	cc $(CFLAGS) -o equalise equalise.o $(LIBS)

fill: ffill.o support.o
	cc $(CFLAGS) -o ffill ffill.o $(LIBS)

ist: hist.o support.o
	cc $(CFLAGS) -o hist hist.o $(WLIBS)

m2ras: im2ras.o support.o
	cc $(CFLAGS) -o im2ras im2ras.o $(LIBS)

as2im: ras2im.o support.o
	cc $(CFLAGS) -o ras2im ras2im.o $(LIBS)

as2lw: ras2lw.o support.o
	cc $(CFLAGS) -o ras2lw ras2lw.o $(LIBS)

nvert: invert.o support.o
	cc $(CFLAGS) -o invert invert.o $(LIBS)

asval: rasval.o support.o
	cc $(CFLAGS) -o rasval rasval.o $(LIBS)

lend: blend.o support.o
	cc $(CFLAGS) -o blend blend.o $(LIBS)

asrange: rasrange.o support.o
	cc $(CFLAGS) -o rasrange rasrange.o $(LIBS)

alftone: halftone.o support.o
	cc $(CFLAGS) -o halftone halftone.o $(LIBS)

ox: box.o support.o
	cc $(CFLAGS) -o box box.o $(LIBS)

asinfo: rasinfo.o support.o
	cc $(CFLAGS) -o rasinfo rasinfo.o $(LIBS)

cr2ras: scr2ras.o
	cc $(CFLAGS) -o scr2ras scr2ras.o $(WLIBS)

as2array: ras2array.o
	cc $(CFLAGS) -o ras2array ras2array.o $(LIBS)

inlev8: winlev8.o 
	cc $(CFLAGS) -o winlev8 winlev8.o $(WLIBS)

asscale double half quarter third triple quad: rasscale.o support.o
	cc $(CFLAGS) -o rasscale rasscale.o $(LIBS)

lean:
	rm -f *.o *~ core

potless: clean
	rm -f $(PROGS) double half quarter third triple quad MANIFEST alvtools

nstall: all
	@for i in ${PROGS}; do \
		(install -s $$i $(BINDIR)); \
	done
	@rm -f $(BINDIR)/double; ln -s $(BINDIR)/rasscale $(BINDIR)/double
	@rm -f $(BINDIR)/half; ln -s $(BINDIR)/rasscale $(BINDIR)/half
	@rm -f $(BINDIR)/quarter; ln -s $(BINDIR)/rasscale $(BINDIR)/quarter
	@rm -f $(BINDIR)/third; ln -s $(BINDIR)/rasscale $(BINDIR)/third
	@rm -f $(BINDIR)/triple; ln -s $(BINDIR)/rasscale $(BINDIR)/triple
	@rm -f $(BINDIR)/quad; ln -s $(BINDIR)/rasscale $(BINDIR)/quad
	@if test ! -d $(MANDIR)/man1; then mkdir $(MANDIR)/man1;fi
	@for i in ../doc/man/man1/*; do \
		(cp $$i $(MANDIR)/man1); \
	done
	@if test ! -d $(MANDIR)/man3; then mkdir $(MANDIR)/man3;fi
	@for i in ../doc/man/man3/*; do \
		(cp $$i $(MANDIR)/man3); \
	done
	@if test ! -d $(MANDIR)/man5; then mkdir $(MANDIR)/man5;fi
	@for i in ../doc/man/man5/*; do \
		(cp $$i $(MANDIR)/man5); \
	done
	@if test ! -d $(FILDIR); then mkdir $(FILDIR);fi
	@for i in ../filters/*; do \
		(cp $$i $(FILDIR)); \
	done
	@echo 'Programs, manual pages and filters installed'

