#CFLAGS=-g  -DVERBOSE -DDEBUG -DSUN
# VERBOSE really ought to be defined all the time, especially for the
#   accepter program.  
CFLAGS=-g  -DVERBOSE  -DSUN
#CFLAGS=-O  -DVERBOSE  -DSUN

HDR=listgen.h
ACOBJ=accepter.o isvalid.o pf_io.o misc.o time.o convert.o astro.o sunmoon.o \
         precess.o
LOBJ=listread.o isvalid.o pf_io.o misc.o precess.o listprint.o convert.o \
         astro.o sunmoon.o time.o window.o listgen.o sort.o select.o
TESTOBJ=test.o misc.o isvalid.o pf_io.o time.o precess.o sunmoon.o convert.o \
	        astro.o select.o window.o sort.o

tass: picksym putsym

test: $(TESTOBJ)
	cc $(CFLAGS) $(TESTOBJ) -o test -lm

accepter: $(ACOBJ) pf.h bait.h 
	cc $(CFLAGS) $(ACOBJ) -o accepter -lm

listgen: $(LOBJ) pf.h bait.h list.h
	cc $(CFLAGS) $(LOBJ) -o listgen -lm	

#  don't use this - it might clobber Dick's precess program
precess: precess.o convert.o misc.o pf_io.o isvalid.o
	cc -c $(CFLAGS) -DMAIN precess.c
	cc $(CFLAGS) precess.o convert.o misc.o pf_io.o isvalid.o -o precess -lm

landolt: landolt.o libprecess.a
	cc $(CFLAGS) -o landolt landolt.o precess.o convert.o misc.o pf_io.o \
                isvalid.o -lm

libprecess.a: precess.o convert.o misc.o pf_io.o isvalid.o
	ar cvr libprecess.a precess.o convert.o misc.o pf_io.o isvalid.o
	ranlib libprecess.a

printit: c.o convert.o misc.o pf_io.o isvalid.o
	cc $(CFLAGS) -o printit c.o convert.o misc.o pf_io.o isvalid.o -lm

offset: offset.o precess.o convert.o misc.o pf_io.o isvalid.o
	cc $(CFLAGS) offset.o precess.o convert.o misc.o pf_io.o isvalid.o \
               -o offset -lm

mkreq: mkreq.o pf_io.o
	cc $(CFLAGS) mkreq.o pf_io.o -o mkreq

translate: translate.o 
	cc $(CFLAGS) translate.o -o translate -lm

vifits: vifits.o
	cc $(CFLAGS) vifits.o -o vifits

picksym: picksym.o pf_io.o misc.o isvalid.o fits.o header.o exten.o
	cc $(CFLAGS) -o picksym picksym.o misc.o pf_io.o isvalid.o  \
                 fits.o header.o exten.o -lm

putsym: putsym.o pf_io.o misc.o isvalid.o fits.o header.o exten.o
	cc $(CFLAGS) -o putsym putsym.o misc.o pf_io.o isvalid.o  \
                 fits.o header.o exten.o -lm

utday: utday.o time.o astro.o pf_io.o sunmoon.o misc.o isvalid.o precess.o \
              convert.o
	cc $(CFLAGS) -o utday utday.o time.o astro.o pf_io.o sunmoon.o misc.o  \
			isvalid.o precess.o convert.o -lm

probok: probok.o
	cc $(CFLAGS) probok.o -o probok

lsttimes: lsttimes.o time.o astro.o pf_io.o sunmoon.o misc.o isvalid.o  \
          precess.o convert.o
	cc $(CFLAGS) -o lsttimes lsttimes.o time.o astro.o pf_io.o sunmoon.o \
	        misc.o isvalid.o precess.o convert.o -lm

alttimes: alttimes.o time.o astro.o pf_io.o sunmoon.o misc.o isvalid.o  \
          precess.o convert.o
	cc $(CFLAGS) -o alttimes alttimes.o time.o astro.o pf_io.o sunmoon.o \
	        misc.o isvalid.o precess.o convert.o -lm

lst ut jd: lst.o time.o astro.o pf_io.o sunmoon.o misc.o isvalid.o precess.o \
		convert.o
	cc $(CFLAGS) -o lst lst.o time.o astro.o pf_io.o sunmoon.o misc.o \
		isvalid.o precess.o convert.o -lm
	/bin/rm -f ut
	ln lst ut
	/bin/rm -f jd
	ln lst jd

darktime: darktime.o time.o astro.o pf_io.o sunmoon.o misc.o isvalid.o \
                precess.o \ convert.o
	cc $(CFLAGS) -o darktime darktime.o time.o astro.o pf_io.o \
                sunmoon.o misc.o  isvalid.o precess.o convert.o -lm

random: random.o
	cc $(CFLAGS) random.o -o random

replicate: replicate.o pf_io.o
	cc $(CFLAGS) replicate.o pf_io.o -o replicate

calc_ha: calc_ha.o time.o astro.o pf_io.o sunmoon.o misc.o isvalid.o precess.o \
		convert.o
	cc $(CFLAGS) -o calc_ha calc_ha.o time.o astro.o pf_io.o sunmoon.o misc.o \
		isvalid.o precess.o convert.o -lm

air93: air93.o time.o astro.o pf_io.o sunmoon.o misc.o isvalid.o precess.o \
		convert.o
	cc $(CFLAGS) -o air93 air93.o time.o astro.o pf_io.o sunmoon.o misc.o \
		isvalid.o precess.o convert.o -lm

kbv93: kbv93.o air93.o time.o astro.o pf_io.o sunmoon.o misc.o isvalid.o  \
        precess.o convert.o
	cc $(CFLAGS) -o kbv93 kbv93.o air93.o time.o astro.o pf_io.o sunmoon.o \
        misc.o isvalid.o precess.o convert.o -lm

kbv94d: kbv94d.o air94d.o time.o astro.o pf_io.o sunmoon.o misc.o isvalid.o  \
        precess.o convert.o
	cc $(CFLAGS) -o kbv94d kbv94d.o air94d.o time.o astro.o pf_io.o sunmoon.o \
        misc.o isvalid.o precess.o convert.o -lm

kbv94i: kbv94i.o air94i.o time.o astro.o pf_io.o sunmoon.o misc.o isvalid.o  \
        precess.o convert.o
	cc $(CFLAGS) -o kbv94i kbv94i.o air94i.o time.o astro.o pf_io.o sunmoon.o \
        misc.o isvalid.o precess.o convert.o -lm


airmass: airmass.o time.o astro.o pf_io.o sunmoon.o misc.o isvalid.o precess.o \
		convert.o
	cc $(CFLAGS) -o airmass airmass.o time.o astro.o pf_io.o sunmoon.o misc.o \
		isvalid.o precess.o convert.o -lm

match:	match.o
	cc $(CFLAGS) -o match match.o -lm

addheader:	addheader.o header.o findkey.o
	cc $(CFLAGS) -o addheader addheader.o header.o findkey.o

subheader:  subheader.o header.o findkey.o
	cc $(CFLAGS) -o subheader subheader.o header.o findkey.o

printheader: printheader.o findkey.o header.o
	cc $(CFLAGS) -o printheader printheader.o header.o findkey.o

alarmclock: alarmclock.o
	cc $(CFLAGS) -o alarmclock alarmclock.o

prettyrqs: prettyrqs.o misc.o pf_io.o isvalid.o
	cc $(CFLAGS) -o prettyrqs prettyrqs.o misc.o pf_io.o isvalid.o -lm

showpht2: showpht2.c
	cc $(CFLAGS) -o showpht2 showpht2.c -lm

quality: quality.o pf_io.o misc.o isvalid.o fitline.o
	cc $(CFLAGS) -o quality quality.o pf_io.o misc.o isvalid.o fitline.o -lm

matrix: matrix.o 
	cc $(CFLAGS) -o matrix matrix.o -lrecipec -lm

multipht.o multimatch.o multisort.o: multipht.h 
multiweight.o multicoo.o multiaper.o: multipht.h 
multiwrite.o: multipht.h 

multipht: multipht.o misc.o isvalid.o pf_io.o multimatch.o multisort.o \
          multiweight.o multicoo.o multiaper.o multiwrite.o time.o
	cc $(CFLAGS) -o multipht multipht.o misc.o isvalid.o pf_io.o \
          multimatch.o multisort.o multiweight.o multicoo.o \
          multiaper.o multiwrite.o  time.o -lm 

snpht.o snmatch.o snsort.o: snpht.h 
snweight.o snaper.o snwrite.o: snpht.h 

snpht: snpht.o misc.o isvalid.o pf_io.o snmatch.o snsort.o \
          snweight.o snaper.o snwrite.o time.o
	cc $(CFLAGS) -o snpht snpht.o misc.o isvalid.o pf_io.o \
          snmatch.o snsort.o snweight.o \
          snaper.o snwrite.o  time.o -lm 


solvepht.o solveread.o solveprint.o solvematrix.o: solvepht.h

solvepht: solvepht.o solveread.o solveprint.o solvematrix.o nr.o
	cc $(CFLAGS) -o solvepht solvepht.o solveread.o solveprint.o \
          solvematrix.o nr.o -lm
	

finderbit: finderbit.o precess.o convert.o misc.o pf_io.o isvalid.o
	cc $(CFLAGS) -o finderbit finderbit.o precess.o \
                 convert.o misc.o pf_io.o isvalid.o -lm


all: lsttimes probok utday putsym picksym vifits translate mkreq listgen  \
          accepter test random alttimes replicate calc_ha match addheader \
          subheader alarmclock prettyrqs printheader showpht2 quality \
          matrix multipht snpht landolt

tar: 
	if test -d bait ; then \
	    /bin/rm -rf bait ; \
	  else \
	    mkdir bait ; \
	  fi ;
	cp -r Makefile *.c *.h *.csh *.html bait
	tar -cvf ./bait.tar bait
	gzip -f ./bait.tar
	/bin/rm -rf bait


clean: 
	/bin/rm -rf core *.o *~ \
	lsttimes probok utday putsym picksym vifits translate mkreq listgen  \
          accepter test random alttimes replicate calc_ha match addheader \
          subheader alarmclock prettyrqs printheader showpht2 quality \
          matrix multipht snpht landolt
