#
# $Header: /hdf/hdf/v3.2r2/test/RCS/Makefile,v 1.29 1992/10/28 20:24:14 koziol beta koziol $
#
# $Log: Makefile,v $
# Revision 1.29  1992/10/28  20:24:14  koziol
# Updated for v3.2r2
#
# Revision 1.28  1992/10/12  18:53:07  koziol
# Changed all the F's in filenames back to f's after screwing up the last
# checkin.
#
# Revision 1.27  1992/10/12  18:49:08  koziol
# Changed to support the trig test instead of tr8, tr24, and tp
#
# Revision 1.27  1992/10/01  03:27:34  chouck
# Added tests in tp.c into trig.c
#
# Revision 1.26  1992/10/01  02:53:23  chouck
# Consolidated 8-bit and 24-bit raster image tests
#
# Revision 1.25  1992/09/17  19:50:15  koziol
# Made changes for ANSI prototypes for the Convex
#
# Revision 1.24  1992/08/14  20:16:57  sxu
# *** empty log message ***
#
# Revision 1.23  1992/07/16  17:17:59  chouck
# Yet another minor fix
#
#
# Revision 1.21  1992/07/16  17:11:55  chouck
# Fixed a couple of minor problems
#
# Revision 1.20  1992/07/15  19:36:13  chouck
# Modified to conform to having a top level Makefile
#
# Revision 1.19  1992/07/14  01:57:10  mfolk
# Added these two lines and deleted corresponding lines:
#   # ==> For Convex, specify CFLAGS as follows:
#   #CFLAGS=  -g -D${MACHINE} $(IFLAGS) -D__STDC__
#
# Also moved these lines to occur after normal CFLAGS specification.
#
# Revision 1.18  1992/07/13  21:46:30  sxu
# Modified CFLAGS for IRIS4.
#
# Revision 1.17  1992/07/08  22:18:22  sxu
# Added tsdstr.c and tsdstrF.f
#
# Revision 1.16  1992/07/08  15:36:04  sxu
# Eliminate doubled -D$machine for C programs.
#
# Revision 1.15  1992/06/09  20:19:24  dilg
# Changed CFLAGS for IRIS4 from -cckr to -ansi
#
# Revision 1.14  1992/06/04  18:59:26  dilg
# Changes back to generic SUN from IBM6000
#
# Revision 1.13  1992/06/04  04:47:15  sxu
# add -cckr for IRIS4
#
# Revision 1.12  1992/06/01  13:23:15  mfolk
# Added some comments to help people compile on Convex.
#
# Revision 1.11  1992/05/29  19:25:32  chouck
# Added rules for tlinkage
#
# Revision 1.10  1992/05/28  17:33:57  chouck
# Make clean wipes out all *.hdf* files
#
# Revision 1.9  1992/05/27  21:55:34  chouck
# Added 'make clean'
#
# Revision 1.8  1992/05/18  22:11:07  sxu
# added vset test programs
#
# Revision 1.7  1992/05/08  20:54:15  sxu
# Change filenames from tdf* to t*
#
# Revision 1.6  1992/05/04  14:48:23  sxu
# added tdfsd_nmms and tdfsd_nnt
#
# Revision 1.5  1992/04/27  18:41:22  sxu
# No change
#
# Revision 1.4  1992/04/27  17:05:57  sxu
# Fixed a typo
#
# Revision 1.3  1992/04/27  17:01:33  sxu
# Added Fortran test  programs: tdfr8F, tdf24F, tdfpF, tdfsd_ntF
#      tdfsd_nntF, tdfsd_mmsF, tdfsd_nmmsF, tdfanF, tdfanfileF
#      and tdfstubsF
#
# Revision 1.2  1992/03/24  20:40:09  sxu
# Bugs fixed in lib and include directories
#
# Revision 1.1  1992/03/01  23:39:01  mfolk
# Initial revision
#
#

# ##################################################################
#
#                   NCSA HDF Version 3.2 release 2
#                               October 1992
#                  MAKEFILE for testing HDF Version 3.2
#
#                          ABOUT THIS MAKEFILE
#
# This makefile creates HDF test programs.  There are three categories
# of test programs: 
#
#              application layer C test programs 
#              application layer FORTRAN test programs 
#              lower level C test programs 
#
# The application layer C test programs are:
#
#              trig    (8-bit, 24-bit raster image sets and palette interface)
#              tsdnt  (scientific data sets, data only)
#              tsdnnt (same as tdfsd_nt with native number types)
#              tsdmms (scientific data sets, data, max/min and scales)
#              tsdnmms(same as tdfsd_mms with native number types)
#              tsdstr (data and dimension strings: label, unit, format and coordsys)
#              tan     (annotations for HDF objects)
#              tanfile (annotations for HDF files)
#              tstubs  (emulation of old lower level i/o routines)
#
# The application layer FORTRAN test programs are:
#
#              tr8F     (8-bit raster image sets)
#              t24F     (24-bit raster image sets)
#              tpF      (Palettes)
#              tsdntF   (scientific data sets, data only)
#              tsdnntF  (same as tdfsd_nntF except all data types are native 
#                           machine number types)
#              tsdmmsF  (scientific data sets, data, max/min and scales)
#	       tsdnmmsF (same as tdfsd_mmsF with native number types)
#              tsdstrF  (data and dimenstrings: label, unit, format and coordsys)
#              tanF     (annotations for HDF objects)
#              tanfileF (annotations for HDF files)
#              tstubsF  (emulation of old lower level i/o routines)
#
# Vset test programs:
#
#	       egchi.c  (high level VSET write routines)
#	       tv1.c    (the basic vgroup and vdata creation routines)
#	       tv2.c    (creates vsets in 2 files simultaneously)
#	       tvers.c  (get version string from an HDF file)
# 	       egfhi.f  (Fortran version of egchi.c)
#
# The lower level C test programs are:
#
#              thfile     (basic i/o)
#              terr       (error handling)
#              thblocks   (linked blocks)
#              thextelt   (i/o involving external files)
#              tvers      (storing and retrieving version strings)
#              thlinkage  (linkage of functions)
#
# ##################################################################
#
#                      HOW TO USE THIS MAKEFILE
#
# You need libdf.a to compile any of these test programs.  You will
# also need selected header files as described below.
#
# To compile the application layer C test programs, enter "make ctests".  
# If there are test programs that you do not want to compile, do this 
# by removing them from the lines "COBJS=" and "CSRCS=" below.
# You need access to the header files indicated in the "CHDRS=" line
# below to compile these programs. 
#
# To compile the application layer FORTRAN test programs, enter 
# "make ftests".  You need access to the header files indicated in 
# the "FHDRS=" line below to compile these programs. 
# If there are test programs that you do not want to compile, do this 
# by removing them from the lines "FOBJS=" and "FSRCS=" below.
#
# To compile the lower level C test programs, enter "make htests". 
# You need access to the header files indicated in the "HHDRS=" line
# below to compile these programs.  If there are test programs that 
# you do not want to compile, do this by removing them from the lines 
# "HOBJS=" and "HSRCS=" below.
#
# To remove all object files created by this makefile, enter "make clean"
#
# ##################################################################
#
#                       PORTING INSTRUCTIONS
#
# You must modify the lines containing the symbol "==>" to make
# this makefile compatible with your platform.
#
# ##################################################################

# ==> specify your machine
MACHINE=SUN
# ==> specify your fortran compiler  (Convex: fc)
FC=f77 
FFLAGS=  -g

# ==> specify your C compiler
CC=cc

# ==> where are your hdf.h, hdfi.h and vg.h files located?
HDFINC=   ../include

CFLAGS=  -g -D${MACHINE}

# ==> For Convex, specify CFLAGS as follows:
#CFLAGS=  -g -D${MACHINE} $(IFLAGS)

# ==> For IRIS4, specify CFLAGS as follows: 
#CFLAGS=  -g -D${MACHINE} $(IFLAGS) -ansi

# ==> where is your HDF library (libdf.a) located?
HDFLIB= ../lib

RM=/bin/rm
RMFLAGS=-f

CTESTS= trig tsdstr tsdmms tsdnmms tsdnnt tsdnt tan \
        tanfile tstubs tv1 tv2 tvers egchi

CHDRS = df.h dfi.h dfsd.h vg.h df.h dfi.h dfstubs.h \
	vproto.h 
CTSRCS= trig.c tsdstr.c tsdmms.c tsdnmms.c tsdnnt.c \
        tsdnt.c tan.c tanfile.c tstubs.c \
	tv1.c tv2.c tvers.c egchi.c
CTOBJS= trig.o tsdstr.o tsdmms.o tsdnt.o tan.o tanfile.o \
        tstubs.o tsdnmms.o tsdnnt.o tv1.o tv2.o \
	tvers.o egchi.o

HTESTS= thfile thfile1 terr thblocks thextelt tlinkage
HHDRS = hfile.h hdf.h hdfi.h herr.h hproto.h 
HTSRCS= thfile.c thfile1.c terr.c thblocks.c thextelt.c tlinkage.c 
HTOBJS= thfile.o thfile1.o terr.o thblocks.o thextelt.o tlinkage.o

FTESTS= tr8f t24f tpf tanf tanfilef tsdstrf tsdntf tsdnntf \
        tsdmmsf tsdnmmsf tstubsf egfhi
FSRCS = tr8f.f t24f.f tpf.f tanf.f tanfilef.f tsdstrf.f tsdntf.f \
        tsdnntf.f tsdmmsf.f  tsdnmmsf.f tstubsf.f egfhi.f
FOBJS = tr8f.o t24f.o tpf.o tanf.o tanfilef.o tsdstrf.o tsdntf.o \
        tsdnntf.o tsdmmsf.o tsdnmmsf.o tstubsf.o egfhi.o

all: ctests ftests htests

nofortran: ctests htests

ctests: $(CTESTS)

ftests: $(FTESTS)

htests: $(HTESTS)
	
trig:  trig.c 
	$(CC) $(CFLAGS) -I$(HDFINC)  trig.c $(HDFLIB)/libdf.a -o trig

tsdstr:    tsdstr.c
	$(CC) $(CFLAGS) -I$(HDFINC)  tsdstr.c $(HDFLIB)/libdf.a -o tsdstr

tsdnt:    tsdnt.c 
	$(CC) $(CFLAGS) -I$(HDFINC)  tsdnt.c $(HDFLIB)/libdf.a -o tsdnt

tsdmms:    tsdmms.c 
	$(CC) $(CFLAGS) -I$(HDFINC)  tsdmms.c $(HDFLIB)/libdf.a -o tsdmms

tsdnnt:    tsdnnt.c 
	$(CC) $(CFLAGS) -I$(HDFINC)  tsdnnt.c $(HDFLIB)/libdf.a -o tsdnnt

tsdnmms:    tsdnmms.c 
	$(CC) $(CFLAGS) -I$(HDFINC)  tsdnmms.c $(HDFLIB)/libdf.a -o tsdnmms

tan:  tan.c 
	$(CC) $(CFLAGS) -I$(HDFINC)  tan.c $(HDFLIB)/libdf.a -o tan

tanfile:     tanfile.c 
	$(CC) $(CFLAGS) -I$(HDFINC)  tanfile.c $(HDFLIB)/libdf.a -o tanfile

tstubs:     tstubs.c 
	$(CC) $(CFLAGS) -I$(HDFINC)  tstubs.c $(HDFLIB)/libdf.a -o tstubs

tv1:	    tv1.c
	$(CC) $(CFLAGS) -I$(HDFINC)  tv1.c $(HDFLIB)/libdf.a -o tv1

tv2:	    tv2.c
	$(CC) $(CFLAGS) -I$(HDFINC)  tv2.c $(HDFLIB)/libdf.a -o tv2

tvers:	    tvers.c
	$(CC) $(CFLAGS) -I$(HDFINC)  tvers.c $(HDFLIB)/libdf.a -o tvers

egchi:	    egchi.c
	$(CC) $(CFLAGS) -I$(HDFINC)  egchi.c $(HDFLIB)/libdf.a -o egchi

tr8f:	       tr8f.f
	$(FC) $(FFLAGS) tr8f.f $(HDFLIB)/libdf.a -o tr8f 

t24f:		t24f.f
	$(FC) $(FFLAGS) t24f.f $(HDFLIB)/libdf.a -o t24f

tanf:		tanf.f
	$(FC) $(FFLAGS) tanf.f $(HDFLIB)/libdf.a -o tanf

tanfilef:   tanfilef.f
	$(FC) $(FFLAGS) tanfilef.f $(HDFLIB)/libdf.a  -o tanfilef

tpf:   tpf.f
	$(FC) $(FFLAGS) tpf.f $(HDFLIB)/libdf.a  -o tpf

tstubsf:   tstubsf.f
	$(FC) $(FFLAGS) tstubsf.f $(HDFLIB)/libdf.a  -o tstubsf

tsdstrf:   tsdstrf.f
	$(FC) $(FFLAGS) tsdstrf.f $(HDFLIB)/libdf.a  -o tsdstrf

tsdntf:   tsdntf.f
	$(FC) $(FFLAGS) tsdntf.f $(HDFLIB)/libdf.a  -o tsdntf 

tsdnntf:   tsdnntf.f
	$(FC) $(FFLAGS) tsdnntf.f $(HDFLIB)/libdf.a  -o tsdnntf

tsdmmsf:   tsdmmsf.f 
	$(FC) $(FFLAGS) tsdmmsf.f $(HDFLIB)/libdf.a -o tsdmmsf

tsdnmmsf:   tsdnmmsf.f 
	$(FC) $(FFLAGS) tsdnmmsf.f $(HDFLIB)/libdf.a -o tsdnmmsf

egfhi:	   egfhi.f
	$(FC) $(FFLAGS)  egfhi.f $(HDFLIB)/libdf.a -o egfhi

thfile:     thfile.c 
	$(CC) $(CFLAGS) -I$(HDFINC)  thfile.c $(HDFLIB)/libdf.a -o thfile

thfile1:     thfile1.c 
	$(CC) $(CFLAGS) -I$(HDFINC)  thfile1.c $(HDFLIB)/libdf.a -o thfile1

terr:     terr.c 
	$(CC) $(CFLAGS) -I$(HDFINC)  terr.c $(HDFLIB)/libdf.a -o terr

thblocks:     thblocks.c 
	$(CC) $(CFLAGS) -I$(HDFINC)  thblocks.c $(HDFLIB)/libdf.a -o thblocks

thextelt:     thextelt.c
	$(CC) $(CFLAGS) -I$(HDFINC)  thextelt.c $(HDFLIB)/libdf.a -o thextelt

tlinkage:     tlinkage.c
	$(CC) $(CFLAGS) -I$(HDFINC)  tlinkage.c $(HDFLIB)/libdf.a -o tlinkage

clean:
	-$(RM) $(RMFLAGS) *.hdf $(CTESTS) $(HTESTS) $(FTESTS)
