# Makefile for OASIS Decode routine
# Author:   Bob Herlien
# Project:  OASIS Moorings
# Created:  11/24/91
#

## rules

.s.o :
	@rm -f $@
	$(AS) -o $<

.c.o :
	@rm -f $@
	$(CC) $(CFLAGS) $<


## files and directories

MAKEFILE	= Makefile
ARCHIVE		= decode.tar

INCLUDES	= decode.h

SOURCES		= decode.c extract.c file.c range.c atlas.c ctd.c no3.c \			  spec.c port.c

OBJECTS		= $(SOURCES:.c=.o)

ALLFILES	= $(MAKEFILE) $(INCLUDES) $(SOURCES)

## tools
CC		= cc
LD		= cc
RM		= rm -f
PRINT		= pr

## flags

INCLUDEFLAGS	= -I. -I/usr/include
DEBUGFLAG	= -g
CFLAGS		= -c -Aa $(DEBUGFLAG) $(INCLUDEFLAGS) -D_HPUX_SOURCE
LDFLAGS		=
FFLAGS		= +E1 $(DEBUGFLAG)
LIBS		= -lM


## actions

default : decode

print	: 
	  $(PRINT) $(ALLFILES) | remsh hp850 lp -opr

$(ARCHIVE).Z: $(ALLFILES)
	  $(RM) $(ARCHIVE) $(ARCHIVE).Z
	  tar crvf $(ARCHIVE) $(ALLFILES)
	  compress $(ARCHIVE)

tar	: $(ARCHIVE).Z

rel1:
	  ci -q -u$(REV) $(MAKEFILE) $(INCLUDES) $(SOURCES:decode.c=)

release :
	  rcs -l $(ALLFILES)
	  ci -f -u$(REV) decode.c
	  @echo "Ignore ci warnings that unchanged file checkins are aborted"
	  make rel1 REV=`rlog decode.c | awk '$$1 == "head:" {print $$2}'`
	  rcs -u $(ALLFILES)
	 
clean	:
	  $(RM) *.o


## dependencies

$(OBJECTS): $(INCLUDES)

extract : extract.o file.o range.o atlas.o ctd.o no3.o spec.o ac9.o
	 $(RM) extract
	 $(LD) -o extract $(LDFLAGS) extract.o file.o range.o atlas.o ctd.o \
		no3.o spec.o ac9.o $(LIBS)

extract1 : extract1.o file1.o range.o atlas.o ctd.o no3.o spec.o ac9.o
	 $(RM) extract1
	 $(LD) -o extract1 $(LDFLAGS) extract1.o file1.o range.o atlas.o ctd.o \
		no3.o spec.o ac9.o $(LIBS)

decode : decode.o file.o atlas.o ctd.o no3.o spec.o ac9.o
	 $(RM) decode
	 $(LD) -o decode $(LDFLAGS) decode.o file.o atlas.o ctd.o no3.o \
		spec.o ac9.o $(LIBS)

decode1 : decode1.o file.o atlas.o ctd.o no3.o spec.o ac9.o
	 $(RM) decode1
	 $(LD) -o decode1 $(LDFLAGS) decode1.o file.o atlas.o ctd.o no3.o \
		spec.o ac9.o $(LIBS)

decodeb : decodeb.o
	 $(RM) decodeb
	 $(LD) -o decodeb $(LDFLAGS) decodeb.o

hexdecode : hexdecode.o
	 $(RM) hexdecode
	 $(LD) -o hexdecode $(LDFLAGS) hexdecode.o

m1 :	m1.o
	$(RM) m1
	$(LD) -o m1 $(LDFLAGS) m1.o $(LIBS)

m2 :	m2.o
	$(RM) m2
	$(LD) -o m2 $(LDFLAGS) m2.o $(LIBS)

drifter : drifter.o
	$(RM) drifter
	$(LD) -o drifter $(LDFLAGS) drifter.o $(LIBS)

argos.o : argos.c argos.h decode.h
	$(CC) $(CFLAGS) -o argos.o argos.c

argosm2.o : argosm2.c argos.h decode.h
	$(CC) $(CFLAGS) -o argosm2.o argosm2.c

argfile.o : file.c decode.h
	$(CC) $(CFLAGS) -DARGOS -o argfile.o file.c

argos  : argos.o argfile.o spec.o ac9.o
	$(LD) -o argos $(LDFLAGS) argos.o argfile.o spec.o ac9.o $(LIBS)

argosm2  : argosm2.o argfile.o spec.o ac9.o
	$(LD) -o argosm2 $(LDFLAGS) argosm2.o argfile.o spec.o ac9.o $(LIBS)

getoasis : getoasis.o port.o range.o
	$(LD) -o getoasis $(LDFLAGS) getoasis.o port.o range.o $(LIBS)

getctd : getctd.o ctd.o
	 $(RM) getctd
	 $(LD) -o getctd $(LDFLAGS) getctd.o ctd.o $(LIBS)

calsh6 : calsh6.f
	 f77 -o$(PROGRAM) $(FFLAGS) $@

chktmp  : chktmp.c
	  cc -o chktmp $(CFLAGS) chktmp.c $(LIBS)
