#------------------------------------------------------------------------------
#
#  NSSDC/CDF						    CDF/IDL makefile.
#
#  Version 1.5b, 21-Feb-97, Hughes STX.
#
#  Modification history:
#
#   V1.0  26-Jan-94, J Love	Original version.
#   V1.0a 23-Feb-94, J Love	Added `CC='.
#   V1.0b  6-Apr-94, J Love	Finished `CC='.
#   V1.1  14-Nov-94, J Love	CDF V2.5.
#   V1.2  30-Dec-94, J Love	Updated dependencies.
#   V1.2a 19-Jan-95, J Love	IRIX 6.x.
#   V1.3   7-Mar-95, J Love	Multi-compiler support, etc.
#   V1.4   3-Apr-95, J Love	POSIX.
#   V1.5  13-Jun-96, J Love	CDF V2.6.
#   V1.5a 23-Jan-97, J Love	Added HP-UX export symbols (idl_parsepoch*).
#   V1.5b 21-Feb-97, J Love	Removed RICE.
#
#------------------------------------------------------------------------------

.SILENT:

SHELL=/bin/sh

IDL=
IDLINCLUDE=
PIC=
CCx=
COPTIONS=
SYSLIBS=
SHAREDEXT=
LDOPTIONS=

INCLUDEcdf=../include
INCLUDElib=../lib
INCLUDEidl=$(IDLINCLUDE)
INCLUDEs=-I$(INCLUDEcdf) -I$(INCLUDEidl) -I$(INCLUDElib)

CC=$(CCx)
CFLAGS=$(COPTIONS) $(PIC) $(INCLUDEs)
LDFLAGS=$(LDOPTIONS)

OBJs=idl_cdf.o

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

LIBCDFc= \
$(INCLUDElib)/cdflib.c $(INCLUDElib)/cdfcre.c $(INCLUDElib)/cdfope.c \
$(INCLUDElib)/cdfclo.c $(INCLUDElib)/cdfmisc1.c $(INCLUDElib)/cdfdel.c \
$(INCLUDElib)/cdfsel.c $(INCLUDElib)/cdfcon.c $(INCLUDElib)/cdfget.c \
$(INCLUDElib)/cdfmisc2.c $(INCLUDElib)/cdfread.c $(INCLUDElib)/cdfwrite.c \
$(INCLUDElib)/cdfhyper.c $(INCLUDElib)/epochuf.c $(INCLUDElib)/dirutils.c \
$(INCLUDElib)/cdfput1.c $(INCLUDElib)/cdfput2.c $(INCLUDElib)/cdftext.c \
$(INCLUDElib)/cdfed.c $(INCLUDElib)/cdfstr.c $(INCLUDElib)/cdfvalid.c \
$(INCLUDElib)/cdfmem.c $(INCLUDElib)/vstream.c $(INCLUDElib)/epochu.c \
$(INCLUDElib)/cdfmisc3.c $(INCLUDElib)/cdfhuff.c $(INCLUDElib)/cdfrle.c

HPexport= \
+e idl_cdfopen +e idl_cdfdelete +e idl_cdfinquire +e idl_cdfvarinq \
+e idl_cdfvarclose +e idl_cdfclose +e idl_cdferror +e idl_cdfdoc \
+e idl_cdfattrinq +e idl_cdfattreinq +e idl_cdfvarnum +e idl_cdfattrnum \
+e idl_cdfattrget +e idl_cdfvarget +e idl_cdfvarput +e idl_cdfhypget \
+e idl_cdfhypput +e idl_cdfcreate +e idl_cdfvarcre +e idl_cdfvarren \
+e idl_cdfattrren +e col_2_row +e idl_cdfattrcre +e idl_cdfattrput \
+e row_2_col +e idl_epochbreak +e idl_computepoch +e idl_parsepoch \
+e idl_encodepoch +e idl_encodepoch1 +e idl_encodepoch2 +e idl_encodepoch3 \
+e idl_cdflib +e idl_encodepochx +e idl_parsepoch1 +e idl_parsepoch2 \
+e idl_parsepoch3

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

all: all.$(IDL)

all.yes: cdf_idl.$(SHAREDEXT)
all.no:

cdf_idl.so: $(OBJs)
	@echo ld $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
	      ld $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)

cdf_idl.o: $(OBJs)
	@echo $(CC) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
	      $(CC) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)

cdf_idl.sl: $(OBJs)
	@echo ld $(LDFLAGS) -o $@ $(HPexport) $(OBJs) $(SYSLIBS)
	      ld $(LDFLAGS) -o $@ $(HPexport) $(OBJs) $(SYSLIBS)

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

idl_cdf.o: idl_cdf.c $(CDFLIBh) $(CDFREVh) $(LIBCDFc)

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

clean:
	@-rm -f *.o
	@-rm -f cdf_idl.so
	@-rm -f cdf_idl.sl
	@-rm -f cdf_idl.o
	@-rm -f core

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