# $Header: /home/vi/gregk/libgregk/src/RCS/Makefile,v 1.11 1992/08/31 16:58:21 gregk Exp $



######### requires GNU make for exporting variables to sub make #########

## note, these get used one level down => need first ".."

export GKPATH   = ../..
export GKINCDIR = $(GKPATH)/include
export GKLIBDIR = $(GKPATH)/library
export GKLIB    = $(GKLIBDIR)/libgregk.a


export PROF     = ## -DMARK -pg
export DBG      = -g
export OPT      = -O2
export WARN     = -W -Wall -Wcast-qual -Wcast-align 

export CC       = gcc 
export CFLAGS   = $(PROF) -I$(GKINCDIR) $(DBG) $(WARN) $(OPT) -DLINUX
export CLINK    = gcc ## purify gcc -V 2.5.8  ## for purify bug
export CLNKFLGS = $(PROF) -L$(GKLIBDIR)



SRCSUBDIR = adt-wjr adt-gregk panic support-wjr support-gregk support-aparna
BINSUBDIR = bin-gregk 

SRC    = adt-wjr/counter.c adt-wjr/list.c adt-wjr/priq.c adt-wjr/hist.c            \
	 adt-wjr/chunk.c                                                           \
	 panic/panic.c                                                             \
	 adt-gregk/image.c adt-gregk/strings.c adt-gregk/vector.c                  \
         adt-gregk/ptl.c adt-gregk/generator.c adt-gregk/matrix.c                  \
	 support-wjr/imconv.c support-wjr/gaussian.c support-wjr/smooth-wjr.c      \
	 support-wjr/dtrans.c support-wjr/readpts.c support-wjr/pick.c             \
	 support-gregk/smooth.c support-gregk/clarg.c          \
	 support-gregk/canny.c support-gregk/convolve.c                            \
	 support-gregk/gradient.c support-gregk/boxfilter.c                        \
	 support-gregk/string-support.c support-gregk/x-stuff.c                    \
	 support-gregk/split-merge.c support-gregk/magic.c                         \
	 support-gregk/threshold.c support-gregk/keyword.c support-gregk/imConv.c  \
         support-gregk/uchar-remap.c support-gregk/param.c                         \
         support-gregk/chunk-stuff.c support-gregk/filtered-fp.c                   \
         support-gregk/kalman.c                                                    \
         support-aparna/rgb-hsv.c

INC    = $(SRC:.c=.h)
OBJ    = $(SRC:.c=.o)


BINSRC = bin-gregk/smooth.c bin-gregk/canny.c bin-gregk/ptltopnm.c                 \
	 bin-gregk/ridge.c  bin-gregk/gradient.c                 \
	 bin-gregk/imconv.c bin-gregk/imdoc.c bin-gregk/noiseimg.c                 \
	 bin-gregk/pbmtoptl.c bin-gregk/threshold.c                                \
         bin-gregk/imgs2strm.c bin-gregk/strm2imgs.c bin-gregk/downsample.c


# Get rid of the suffix list or it tries to make new object files itself.
.SUFFIXES:


all:      ../library/libgregk.a binaries 


../library/libgregk.a: 	$(SRC) $(INC)
	for i in $(SRCSUBDIR) ; do \
		(cd $$i ; $(MAKE) ); \
	done
	ar ruc ../library/libgregk.a $(OBJ)
	ranlib ../library/libgregk.a

binaries:	../library/libgregk.a $(BINSRC)
	for i in $(BINSUBDIR) ; do \
		(cd $$i ; $(MAKE) ); \
	done

clean:
	/bin/rm -f ../library/libgregk.a
	for i in $(SRCSUBDIR) ; do \
		(cd $$i ; $(MAKE) clean ); \
	done
	for i in $(BINSUBDIR) ; do \
		(cd $$i ; $(MAKE) clean ); \
	done


depend:
	for i in $(SRCSUBDIR) ; do \
		(cd $$i ; $(MAKE) depend ); \
	done
	for i in $(BINSUBDIR) ; do \
		(cd $$i ; $(MAKE) depend ); \
	done
