#++++++++++++++++
#.IDENTIFICATION Makefile
#.LANGUAGE       Make (makefile script)
#.AUTHOR         Francois Ochsenbein [CDS]
#.ENVIRONMENT    Unix
#.KEYWORDS       
#.VERSION  1.0   03-Mar-1997
#.VERSION  2.0   19-Oct-1998: USNO-A2.0
#.PURPOSE        (Re)Create dependent files in this Directory
#.COMMENTS       The script check.sys is assumed to exist.
#		It creates in a local file .sys the `uname -m` value
#		followed by the necessary -l options
#----------------

SHELL=/bin/sh
#MACHINE=local

# Defaut rule (e.g. copy from a public directory)
.DEFAULT:

# Programs:
CC      = cc
COPY    = cp -p
STRIP   = strip
RANLIB  = ranlib
AR      = ar ruv

# Directories:
PMMDIR  = /fs9/2/PMM2
PMMORI  = /fs9/3/cats/usno
#LIBDIR  = /usr/$(MACHINE)/lib
#BINDIR  = /usr/$(MACHINE)/bin
#SHSDIR  = /usr/any/bin
#MANDIR  = /usr/$(MACHINE)/man
LIBDIR   = $(PMMDIR)/$(MACHINE)/lib
BINDIR   = $(PMMDIR)/$(MACHINE)/bin
SHSDIR   = $(PMMDIR)/$(MACHINE)/bin
MANDIR   = $(PMMDIR)/$(MACHINE)/man
LIBFILE = lib$(MACHINE).a

# Files:
LIB     = $(LIBDIR)/libtc3.a
BIN     =
SHS     =
MAN     =
REGIONS = $(NORTH) $(SOUTH)
SOUTH   = $(PMMDIR)/S8230/index.145 \
	  $(PMMDIR)/S7500/index.145 \
	  $(PMMDIR)/S3730/index.145 \
	  $(PMMDIR)/S4500/index.145 \
	  $(PMMDIR)/S5230/index.145 \
	  $(PMMDIR)/S3000/index.145 \
	  $(PMMDIR)/S6000/index.145 \
	  $(PMMDIR)/S1500/index.145 \
	  $(PMMDIR)/S6730/index.145 \
	  $(PMMDIR)/S2230/index.145 \
	  $(PMMDIR)/S0730/index.145 \
	  $(PMMDIR)/S0000/index.145
NORTH   = $(PMMDIR)/N6000/index.145 \
	  $(PMMDIR)/N7500/index.145 \
	  $(PMMDIR)/N5230/index.145 \
	  $(PMMDIR)/N8230/index.145 \
	  $(PMMDIR)/N3730/index.145 \
	  $(PMMDIR)/N6730/index.145 \
	  $(PMMDIR)/N0730/index.145 \
	  $(PMMDIR)/N0000/index.145 \
	  $(PMMDIR)/N1500/index.145 \
	  $(PMMDIR)/N2230/index.145 \
	  $(PMMDIR)/N3000/index.145 \
	  $(PMMDIR)/N4500/index.145 

# Options:
DEBUG = -O
C_OPT = 
SYS =
CFLAGS = $(C_OPT) $(DEBUG) $(SYS) -I. 
COMPILE= $(CC) $(CFLAGS) -c
LIBSYS = `check.sys -l`

# RULES: If the default rules haven't to be applied, remove the #
.SUFFIXES: 
.SUFFIXES: .jd .yr
.jd.yr:
	gawk '{printf("%4s %8.3f\n", $$1, 2000.+($$2-2451545.)/365.25)}' $< > $@

#.cat.jd:
#	cut -c1-23 $< | gawk '{if(($$1+0)!=(p+1)) next; print $$NF; p=$$1}' \
#	| jdate > $@

# Dependencies:
default: pmm pmmsub 

north: pmmake blue.yr red.yr $(NORTH)

south: pmmake blue.yr red.yr $(SOUTH)

all: north south

install: install_bin plates.yr $(REGIONS)

install_bin: pmm
	$(COPY) pmm $(PMMDIR)/bin/pmm.exe

pmm12: pmm12.c
	$(CC) -I. $? -o $@

#plates.yr: plates.jd
#	gawk '{printf("%4s %8.3f\n", $$1, 2000.+($$2-2451545.)/365.25)}' $? > $@

plates.jd: south.cat possi.cat
	cut -c1-23 south.cat \
	| gawk '{if(($$1+0)!=(p+1)) next; print $$NF; p=$$1}'\
	| jdate | gawk '{printf("%4d %s\n", -NR, $$2)}' > $@.tmp
	cut -c1-23 possi.cat \
	| gawk '{if(($$1+0)!=(p+1)) next; print $$NF; p=$$1}'\
	| jdate | gawk '{printf("%4d %s\n", NR, $$2)}' >> $@.tmp
	sort -n $@.tmp > $@
	rm $@.tmp

pmmake: pmmake.c
	$(CC) $(CFLAGS) $@.c -o $@

pmmsub: pmmsub.c
	$(CC) -DTEST $(CFLAGS) $@.c -o $@ -lm

pmm: pmm.c pmmsub.c
	$(CC) $(CFLAGS) pmm.c pmmsub.c -o $@ -lm

###########################################################################
# 	Install individual regions
###########################################################################

#### Disk 1
$(PMMDIR)/S8230/index.145: 
	@dir=`echo $@ |rev| cut -d/ -f2-|rev`;\
	if test -d $$dir -o -h $$dir ; then echo ....$$dir exists ; \
	else mkdir $$dir ; fi
	pmmake -v -r $(PMMDIR) $(PMMORI)/zone0000.cat

$(PMMDIR)/S7500/index.145: 
	@dir=`echo $@ |rev| cut -d/ -f2-|rev`;\
	if test -d $$dir -o -h $$dir ; then echo ....$$dir exists ; \
	else mkdir $$dir ; fi
	pmmake -v -r $(PMMDIR) $(PMMORI)/zone0075.cat

$(PMMDIR)/S3730/index.145: 
	@dir=`echo $@ |rev| cut -d/ -f2-|rev`;\
	if test -d $$dir -o -h $$dir ; then echo ....$$dir exists ; \
	else mkdir $$dir ; fi
	pmmake -v -r $(PMMDIR) $(PMMORI)/zone0450.cat

#### Disk2
$(PMMDIR)/S4500/index.145: 
	@dir=`echo $@ |rev| cut -d/ -f2-|rev`;\
	if test -d $$dir -o -h $$dir ; then echo ....$$dir exists ; \
	else mkdir $$dir ; fi
	pmmake -v -r $(PMMDIR) $(PMMORI)/zone0375.cat

$(PMMDIR)/N6000/index.145: 
	@dir=`echo $@ |rev| cut -d/ -f2-|rev`;\
	if test -d $$dir -o -h $$dir ; then echo ....$$dir exists ; \
	else mkdir $$dir ; fi
	pmmake -v -r $(PMMDIR) $(PMMORI)/zone1500.cat

$(PMMDIR)/N7500/index.145: 
	@dir=`echo $@ |rev| cut -d/ -f2-|rev`;\
	if test -d $$dir -o -h $$dir ; then echo ....$$dir exists ; \
	else mkdir $$dir ; fi
	pmmake -v -r $(PMMDIR) $(PMMORI)/zone1650.cat

#### Disk3
$(PMMDIR)/S5230/index.145: 
	@dir=`echo $@ |rev| cut -d/ -f2-|rev`;\
	if test -d $$dir -o -h $$dir ; then echo ....$$dir exists ; \
	else mkdir $$dir ; fi
	pmmake -v -r $(PMMDIR) $(PMMORI)/zone0300.cat

$(PMMDIR)/N5230/index.145: 
	@dir=`echo $@ |rev| cut -d/ -f2-|rev`;\
	if test -d $$dir -o -h $$dir ; then echo ....$$dir exists ; \
	else mkdir $$dir ; fi
	pmmake -v -r $(PMMDIR) $(PMMORI)/zone1425.cat

$(PMMDIR)/N8230/index.145: 
	@dir=`echo $@ |rev| cut -d/ -f2-|rev`;\
	if test -d $$dir -o -h $$dir ; then echo ....$$dir exists ; \
	else mkdir $$dir ; fi
	pmmake -v -r $(PMMDIR) $(PMMORI)/zone1725.cat

#### Disk 4
$(PMMDIR)/S3000/index.145: 
	@dir=`echo $@ |rev| cut -d/ -f2-|rev`;\
	if test -d $$dir -o -h $$dir ; then echo ....$$dir exists ; \
	else mkdir $$dir ; fi
	pmmake -v -r $(PMMDIR) $(PMMORI)/zone0525.cat

$(PMMDIR)/N3730/index.145: 
	@dir=`echo $@ |rev| cut -d/ -f2-|rev`;\
	if test -d $$dir -o -h $$dir ; then echo ....$$dir exists ; \
	else mkdir $$dir ; fi
	pmmake -v -r $(PMMDIR) $(PMMORI)/zone1275.cat

#### Disk 5
$(PMMDIR)/S6000/index.145: 
	@dir=`echo $@ |rev| cut -d/ -f2-|rev`;\
	if test -d $$dir -o -h $$dir ; then echo ....$$dir exists ; \
	else mkdir $$dir ; fi
	pmmake -v -r $(PMMDIR) $(PMMORI)/zone0225.cat

$(PMMDIR)/S1500/index.145: 
	@dir=`echo $@ |rev| cut -d/ -f2-|rev`;\
	if test -d $$dir -o -h $$dir ; then echo ....$$dir exists ; \
	else mkdir $$dir ; fi
	pmmake -v -r $(PMMDIR) $(PMMORI)/zone0675.cat

#### Disk 6
$(PMMDIR)/S6730/index.145: 
	@dir=`echo $@ |rev| cut -d/ -f2-|rev`;\
	if test -d $$dir -o -h $$dir ; then echo ....$$dir exists ; \
	else mkdir $$dir ; fi
	pmmake -v -r $(PMMDIR) $(PMMORI)/zone0150.cat

$(PMMDIR)/S2230/index.145: 
	@dir=`echo $@ |rev| cut -d/ -f2-|rev`;\
	if test -d $$dir -o -h $$dir ; then echo ....$$dir exists ; \
	else mkdir $$dir ; fi
	pmmake -v -r $(PMMDIR) $(PMMORI)/zone0600.cat

$(PMMDIR)/N6730/index.145: 
	@dir=`echo $@ |rev| cut -d/ -f2-|rev`;\
	if test -d $$dir -o -h $$dir ; then echo ....$$dir exists ; \
	else mkdir $$dir ; fi
	pmmake -v -r $(PMMDIR) $(PMMORI)/zone1575.cat

#### Disk 7
$(PMMDIR)/S0730/index.145: 
	@dir=`echo $@ |rev| cut -d/ -f2-|rev`;\
	if test -d $$dir -o -h $$dir ; then echo ....$$dir exists ; \
	else mkdir $$dir ; fi
	pmmake -v -r $(PMMDIR) $(PMMORI)/zone0750.cat

$(PMMDIR)/N0730/index.145: 
	@dir=`echo $@ |rev| cut -d/ -f2-|rev`;\
	if test -d $$dir -o -h $$dir ; then echo ....$$dir exists ; \
	else mkdir $$dir ; fi
	pmmake -v -r $(PMMDIR) $(PMMORI)/zone0975.cat

####Disk 8
$(PMMDIR)/N0000/index.145: 
	@dir=`echo $@ |rev| cut -d/ -f2-|rev`;\
	if test -d $$dir -o -h $$dir ; then echo ....$$dir exists ; \
	else mkdir $$dir ; fi
	pmmake -v -r $(PMMDIR) $(PMMORI)/zone0900.cat

$(PMMDIR)/N1500/index.145: 
	@dir=`echo $@ |rev| cut -d/ -f2-|rev`;\
	if test -d $$dir -o -h $$dir ; then echo ....$$dir exists ; \
	else mkdir $$dir ; fi
	pmmake -v -r $(PMMDIR) $(PMMORI)/zone1050.cat

#### Disk 9
$(PMMDIR)/N2230/index.145: 
	@dir=`echo $@ |rev| cut -d/ -f2-|rev`;\
	if test -d $$dir -o -h $$dir ; then echo ....$$dir exists ; \
	else mkdir $$dir ; fi
	pmmake -v -r $(PMMDIR) $(PMMORI)/zone1125.cat

$(PMMDIR)/N3000/index.145: 
	@dir=`echo $@ |rev| cut -d/ -f2-|rev`;\
	if test -d $$dir -o -h $$dir ; then echo ....$$dir exists ; \
	else mkdir $$dir ; fi
	pmmake -v -r $(PMMDIR) $(PMMORI)/zone1200.cat

#### Disk 10
$(PMMDIR)/S0000/index.145: 
	@dir=`echo $@ |rev| cut -d/ -f2-|rev`;\
	if test -d $$dir -o -h $$dir ; then echo ....$$dir exists ; \
	else mkdir $$dir ; fi
	pmmake -v -r $(PMMDIR) $(PMMORI)/zone0825.cat

$(PMMDIR)/N4500/index.145: 
	@dir=`echo $@ |rev| cut -d/ -f2-|rev`;\
	if test -d $$dir -o -h $$dir ; then echo ....$$dir exists ; \
	else mkdir $$dir ; fi
	pmmake -v -r $(PMMDIR) $(PMMORI)/zone1350.cat

# Clean up everything
clean:
	rm -f core a.out *.o *.log *.lis *.dvi *.ps *.aux *.trace
	rm -f .sys

CLEAN:	clean
	rm -f *.a $(BIN)

src.tar:
	tar cvf src.tar Makefile *.h pmm.c pmm12.c pmmake.c pmmsub.c

