#------------------------------------------------------------------------------
#
#  NSSDC/CDF						CDF tools makefile.
#
#  Version 1.5a, 17-Feb-97, Hughes STX.
#
#  Modification history:
#
#   V1.0  25-Jan-94, J Love	Original version.
#   V1.0a 23-Feb-94, J Love	Added `CC='.
#   V1.0b  6-Apr-94, J Love	Finished `CC=', Solaris using Gnu C compiler.
#   V1.1  28-Nov-94, J Love	CDF V2.5.
#   V1.2  30-Dec-94, J Love	Update dependencies.
#   V1.2a 19-Jan-95, J Love	IRIX 6.x.
#   V1.3  16-Mar-95, J Love	Multi-compiler support, etc.
#   V1.4   3-Apr-95, J Love	POSIX.
#   V1.4a 18-Jul-95, J Love	Added CDFexport.
#   V1.5  12-Aug-96, J Love	CDF V2.6.
#   V1.5a 17-Feb-97, J Love	Added `libcdf.a' to dependencies for `cdfinq'.
#
#------------------------------------------------------------------------------

.SILENT:

SHELL=/bin/sh

CURSES=
CCx=
COPTIONS=
COPTIONSld=
SYSLIBS=
CURSESLIB=

INCLUDEcdf= ../include

CC=$(CCx)
CFLAGS=$(COPTIONS) -I$(INCLUDEcdf)
CFLAGSld=$(COPTIONSld)

LIBCDFa=../lib/libcdf.a

LIBs1=$(LIBCDFa) $(SYSLIBS)
LIBs2=$(LIBCDFa) $(CURSESLIB) $(SYSLIBS)

BINsCURSES=cdfxp cdfedit cdfwalk cdflist
BINsNOTCURSES=cdfcvt cdfstats cdfcmp cdf2skt skt2cdf cdfinq cdfdump 

CONFIGh=$(INCLUDEcdf)/config.h
CDFh=$(INCLUDEcdf)/cdf.h
CDFDISTh=$(INCLUDEcdf)/cdfdist.h $(CDFh) $(CONFIGh)
CDFLIBh=$(INCLUDEcdf)/cdflib.h $(CDFDISTh)
CDFTOOLSh=$(INCLUDEcdf)/cdftools.h $(CDFDISTh)

WINDOZh=$(INCLUDEcdf)/windoz.h $(CDFTOOLSh)
WIDGETSh=$(INCLUDEcdf)/widgets.h $(WINDOZh)
CDFCVTh=$(INCLUDEcdf)/cdfcvt.h $(CDFTOOLSh)
CDFLISTh=$(INCLUDEcdf)/cdflist.h $(WIDGETSh)
CDFWALKh=$(INCLUDEcdf)/cdfwalk.h $(WIDGETSh)
CDFEDITh=$(INCLUDEcdf)/cdfedit.h $(WIDGETSh)
CDFXPh=$(INCLUDEcdf)/cdfxp.h $(WIDGETSh)
CDFINQh=$(INCLUDEcdf)/cdfinq.h $(CDFTOOLSh)
CDFSTATSh=$(INCLUDEcdf)/cdfstats.h $(CDFTOOLSh)
CDFCMPh=$(INCLUDEcdf)/cdfcmp.h $(CDFTOOLSh)
CDF2SKTh=$(INCLUDEcdf)/cdf2skt.h $(CDFTOOLSh)
SKT2CDFh=$(INCLUDEcdf)/skt2cdf.h $(CDFTOOLSh)
CDFDUMPh=$(INCLUDEcdf)/cdfdump.h $(CDFTOOLSh) $(INCLUDEcdf)/cdflib.h

CDFEDITobjs=cdfedit.o cdfedit1.o cdfedit2.o cdfedit3.o windoz.o widgets.o \
toolbox1.o toolbox3.o
CDFXPobjs=cdfxp.o cdfxp1.o cdfxp2.o windoz.o widgets.o toolbox1.o toolbox3.o
CDFLISTobjs=cdflist1.o cdflist2.o cdflist3.o toolbox1.o windoz.o widgets.o \
toolbox3.o
CDFWALKobjs=cdfwalk1.o cdfwalk2.o toolbox1.o toolbox3.o windoz.o widgets.o
CDFCVTobjs=cdfcvt.o toolbox1.o toolbox3.o
CDF2SKTobjs=cdf2skt.o toolbox1.o toolbox3.o
SKT2CDFobjs=skt2cdf.o toolbox1.o toolbox3.o
CDFINQobjs=cdfinq.o toolbox1.o toolbox3.o
CDFSTATSobjs=cdfstats.o cdfstat1.o cdfstat2.o toolbox1.o toolbox3.o
CDFCMPobjs=cdfcmp.o toolbox1.o toolbox3.o
CDFDUMPobjs=cdfdump.o toolbox1.o toolbox3.o

#------------------------------------------------------------------------------
# Compile/link.
#------------------------------------------------------------------------------

all: curses.$(CURSES) $(BINsNOTCURSES)

curses.yes: $(BINsCURSES)
curses.no:

cdfcvt: $(CDFCVTobjs) $(LIBCDFa)
	@echo $(CC) $(CFLAGSld) -o $@ $(CDFCVTobjs) $(LIBs1)
	      $(CC) $(CFLAGSld) -o $@ $(CDFCVTobjs) $(LIBs1)

cdf2skt: $(CDF2SKTobjs) $(LIBCDFa)
	@echo $(CC) $(CFLAGSld) -o $@ $(CDF2SKTobjs) $(LIBs1)
	      $(CC) $(CFLAGSld) -o $@ $(CDF2SKTobjs) $(LIBs1)

skt2cdf: $(SKT2CDFobjs) $(LIBCDFa)
	@echo $(CC) $(CFLAGSld) -o $@ $(SKT2CDFobjs) $(LIBs1)
	      $(CC) $(CFLAGSld) -o $@ $(SKT2CDFobjs) $(LIBs1)

cdfinq: $(CDFINQobjs) $(LIBCDFa)
	@echo $(CC) $(CFLAGSld) -o $@ $(CDFINQobjs) $(LIBs1)
	      $(CC) $(CFLAGSld) -o $@ $(CDFINQobjs) $(LIBs1)

cdfstats: $(CDFSTATSobjs) $(LIBCDFa)
	@echo $(CC) $(CFLAGSld) -o $@ $(CDFSTATSobjs) $(LIBs1)
	      $(CC) $(CFLAGSld) -o $@ $(CDFSTATSobjs) $(LIBs1)

cdfcmp: $(CDFCMPobjs) $(LIBCDFa)
	@echo $(CC) $(CFLAGSld) -o $@ $(CDFCMPobjs) $(LIBs1)
	      $(CC) $(CFLAGSld) -o $@ $(CDFCMPobjs) $(LIBs1)

cdfdump: $(CDFDUMPobjs) $(LIBCDFa)
	@echo $(CC) $(CFLAGSld) -o $@ $(CDFDUMPobjs) $(LIBs1)
	      $(CC) $(CFLAGSld) -o $@ $(CDFDUMPobjs) $(LIBs1)

cdfedit: $(CDFEDITobjs) $(LIBCDFa)
	@echo $(CC) $(CFLAGSld) -o $@ $(CDFEDITobjs) $(LIBs2)
	      $(CC) $(CFLAGSld) -o $@ $(CDFEDITobjs) $(LIBs2)

cdfxp: $(CDFXPobjs) $(LIBCDFa)
	@echo $(CC) $(CFLAGSld) -o $@ $(CDFXPobjs) $(LIBs2)
	      $(CC) $(CFLAGSld) -o $@ $(CDFXPobjs) $(LIBs2)

cdflist: $(CDFLISTobjs) $(LIBCDFa)
	@echo $(CC) $(CFLAGSld) -o $@ $(CDFLISTobjs) $(LIBs2)
	      $(CC) $(CFLAGSld) -o $@ $(CDFLISTobjs) $(LIBs2)

cdfwalk: $(CDFWALKobjs) $(LIBCDFa)
	@echo $(CC) $(CFLAGSld) -o $@ $(CDFWALKobjs) $(LIBs2)
	      $(CC) $(CFLAGSld) -o $@ $(CDFWALKobjs) $(LIBs2)

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

cdf2skt.o:	cdf2skt.c $(CDF2SKTh)
cdfcmp.o:	cdfcmp.c $(CDFCMPh)
cdfcvt.o:	cdfcvt.c $(CDFCVTh)
cdfdump.o:	cdfdump.c $(CDFDUMPh)
cdfedit.o:	cdfedit.c $(CDFEDITh)
cdfedit1.o:	cdfedit1.c $(CDFEDITh)
cdfedit2.o:	cdfedit2.c $(CDFEDITh)
cdfedit3.o:	cdfedit3.c $(CDFEDITh)
cdfinq.o:	cdfinq.c $(CDFINQh)
cdflist1.o:	cdflist1.c $(CDFLISTh)
cdflist2.o:	cdflist2.c $(CDFLISTh)
cdflist3.o:	cdflist3.c $(CDFLISTh)
cdfstats.o:	cdfstats.c $(CDFSTATSh)
cdfstat1.o:	cdfstat1.c $(CDFSTATSh)
cdfstat2.o:	cdfstat2.c $(CDFSTATSh)
cdfwalk1.o:	cdfwalk1.c $(CDFWALKh)
cdfwalk2.o:	cdfwalk2.c $(CDFWALKh)
cdfxp.o:	cdfxp.c $(CDFXPh)
cdfxp1.o:	cdfxp1.c $(CDFXPh)
cdfxp2.o:	cdfxp2.c $(CDFXPh)
skt2cdf.o:	skt2cdf.c $(SKT2CDFh)
toolbox1.o:	toolbox1.c $(CDFTOOLSh)
toolbox3.o:	toolbox3.c $(CDFTOOLSh)
widgets.o:	widgets.c $(WIDGETSh)
windoz.o:	windoz.c $(WINDOZh)

#------------------------------------------------------------------------------
# Clean/purge.
#------------------------------------------------------------------------------

clean:
	@-rm -f *.o
	@-rm -f cdfedit
	@-rm -f cdfxp
	@-rm -f cdflist
	@-rm -f cdfwalk
	@-rm -f cdfcvt
	@-rm -f skt2cdf
	@-rm -f cdf2skt
	@-rm -f cdfinq
	@-rm -f cdfstats
	@-rm -f cdfcmp
	@-rm -f cdfdump
	@-rm -f core

purge:
	@-rm -f *~
	@-rm -f *#
