#------------------------------------------------------------------------------
#
#  NSSDC/CDF					Makefile for CDF distribution.
#
#  Version 1.0, 2-Feb-05, SPDF/GSFC/NASA.
#
#  Modification history:
#
#   V1.0  02-Feb-05, M Liu 	Original version.
#   V1.1  30-May-05, M Liu      Changed the Fortran compiler to g95 (from f77),
#                               an open source, if possible. 
#   V1.2  11-Jul-05, M Liu      Added MinGW port for PC.
#------------------------------------------------------------------------------
#
# Notes:
#
# `make' on DECstations complains (prints a error message) if an if-then-else
# construct evaluates to FALSE but there is no `false' part.  To prevent this,
# the `NULL' command is executed as the `false' part.
#
#------------------------------------------------------------------------------

.SILENT:

SHELL=/bin/sh
NULL=true
PART=all
TARGET=
SOURCE=
DESTINATION=

#------------------------------------------------------------------------------
# Directory locations.
#------------------------------------------------------------------------------

DEFSsrcDIR=src/definitions
INCsrcDIR=src/include
LIBsrcDIR=src/lib
TOOLSsrcDIR=src/tools
TESTSsrcDIR=src/tests
HELPsrcDIR=src/help

#------------------------------------------------------------------------------
# Macros specified on the `make' command line.
#------------------------------------------------------------------------------

FORTRAN=no
CURSES=yes
SHARED=yes
OS=
ENV=
INSTALLDIR=.

#------------------------------------------------------------------------------
# Other macros.
#------------------------------------------------------------------------------

MAKE=make
RANLIB=ranlib

#------------------------------------------------------------------------------
# Macros for Solaris.
#------------------------------------------------------------------------------

SHARED_solaris=yes
FOPTIONS_solaris=-w
FOPTIONSld_solaris=
SHAREDEXT_solaris=so
LDOPTIONSlibcdf_solaris=-G
AROPTIONS_solaris=rc
RANLIB_solaris=no
FC_solaris=g77
EXEEXT_solaris=

CURSES_solaris_sparc=yes
CC_solaris_sparc=/opt/SUNWspro/bin/cc
LD_solaris_sparc=ld
PIC_solaris_sparc=-Kpic
COPTIONS_solaris_sparc=-DSOLARIS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE
COPTIONSld_solaris_sparc=
FOPTIONS_solaris_sparc=
FOPTIONSld_solaris_sparc=
CURSESLIB_solaris_sparc=-lcurses
SYSLIBSexe_solaris_sparc=-lm
SYSLIBSshr_solaris_sparc=

CURSES_solaris_sparc64=yes
CC_solaris_sparc64=/opt/SUNWspro/bin/cc
LD_solaris_sparc64=ld
PIC_solaris_sparc64=-Kpic
COPTIONS_solaris_sparc64=-xarch=v9a -DSOLARIS -DSOLARIS64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE
COPTIONSld_solaris_sparc64=-xarch=v9a
FOPTIONS_solaris_sparc64=-xarch=-m64 
FOPTIONSld_solaris_sparc64=-xarch=-m64
CURSESLIB_solaris_sparc64=-lcurses
SYSLIBSexe_solaris_sparc64=-lm
SYSLIBSshr_solaris_sparc64=

CURSES_solaris_gnu=yes
CC_solaris_gnu=gcc
LD_solaris_gnu=ld
PIC_solaris_gnu=-fpic
COPTIONS_solaris_gnu=-DSOLARIS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE
COPTIONSld_solaris_gnu=
FOPTIONS_solaris_gnu=
FOPTIONSld_solaris_gnu=
CURSESLIB_solaris_gnu=-lcurses
SYSLIBSexe_solaris_gnu=-lm
SYSLIBSshr_solaris_gnu=

CURSES_solaris_gnu64=yes
CC_solaris_gnu64=gcc
LD_solaris_gnu64=ld
PIC_solaris_gnu64=-fpic
COPTIONS_solaris_gnu64=-DSOLARIS -DSOLARIS64 -m64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE 
COPTIONSld_solaris_gnu64=-m64
FOPTIONS_solaris_gnu64=-m64
FOPTIONSld_solaris_gnu64=-m64
CURSESLIB_solaris_gnu64=-lcurses
SYSLIBSexe_solaris_gnu64=-lm
SYSLIBSshr_solaris_gnu64=

CURSES_solaris_x86=yes
CC_solaris_x86=gcc
LD_solaris_x86=ld
PIC_solaris_x86=-fpic
COPTIONS_solaris_x86=-DSOLARIS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE
COPTIONSld_solaris_x86=
FOPTIONS_solaris_x86=
FOPTIONSld_solaris_x86=
CURSESLIB_solaris_x86=-lcurses
SYSLIBSexe_solaris_x86=-lm
SYSLIBSshr_solaris_x86=

CURSES_solaris_x64=yes
CC_solaris_x64=gcc
LD_solaris_x64=ld
PIC_solaris_x64=-fpic
COPTIONS_solaris_x64=-DSOLARIS -DSOLARIS64 -m64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE
COPTIONSld_solaris_x64=-m64
FOPTIONS_solaris_x64=-m64
FOPTIONSld_solaris_x64=-m64
CURSESLIB_solaris_x64=-lcurses
SYSLIBSexe_solaris_x64=-lm
SYSLIBSshr_solaris_x64=

#------------------------------------------------------------------------------
# Macros for Mach.
#------------------------------------------------------------------------------

SHARED_mach=yes
FOPTIONS_mach=
FOPTIONSld_mach=
SHAREDEXT_mach=dylib
LDOPTIONSlibcdf_mach=-dynamic
AROPTIONS_mach=rc
RANLIB_mach=yes
FC_mach=g95
EXEEXT_mach=

CURSES_mach_macosx=yes
CC_mach_macosx=cc
LD_mach_macosx=libtool
PIC_mach_macosx=
COPTIONS_mach_macosx=-D__ppc__ -D__MACH__ -D__APPLE__ -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE
COPTIONSld_mach_macosx=
FOPTIONS_mach_macosx=
FOPTIONSld_mach_macosx=
CURSESLIB_mach_macosx=-lcurses
SYSLIBSexe_mach_macosx=-lm -lc -lgcc
SYSLIBSshr_mach_macosx=-lm -lc -lgcc

#------------------------------------------------------------------------------
# Macros for OSF (Digital UNIX).
#------------------------------------------------------------------------------

SHARED_osf=yes
FOPTIONS_osf=-warn declarations -warn nounused
FOPTIONSld_osf=
SHAREDEXT_osf=so
LDOPTIONSlibcdf_osf=-shared -expect_unresolved '*'
AROPTIONS_osf=rc
RANLIB_osf=yes
FC_osf=f77
EXEEXT_osf=

CURSES_osf_dec=yes
CC_osf_dec=cc
LD_osf_dec=ld
PIC_osf_dec=
COPTIONS_osf_dec=-std1 -Dunix -ieee_with_inexact -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE
COPTIONSld_osf_dec=
FOPTIONS_osf_dec=
FOPTIONSld_osf_dec=
CURSESLIB_osf_dec=-lcurses
SYSLIBSexe_osf_dec=-lm -lc
SYSLIBSshr_osf_dec=

CURSES_osf_gnu=yes
CC_osf_gnu=gcc
LD_osf_gnu=ld
PIC_osf_gnu=-fpic
COPTIONS_osf_gnu=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE
COPTIONSld_osf_gnu=
FOPTIONS_osf_gnu=
FOPTIONSld_osf_gnu=
CURSESLIB_osf_gnu=-lcurses
SYSLIBSexe_osf_gnu=-lm -lc
SYSLIBSshr_osf_gnu=

#------------------------------------------------------------------------------
# Macros for IRIX 6.x.
#------------------------------------------------------------------------------

SHARED_irix6=yes
IDL_irix6=yes
FOPTIONS_irix6=-u
FOPTIONSld_irix6=
SHAREDEXT_irix6=so
LDOPTIONSlibcdf_irix6=-shared
AROPTIONS_irix6=rc
RANLIB_irix6=no
FC_irix6=f77

CURSES_irix6_sgin32=yes
CC_irix6_sgin32=cc
LD_irix6_sgin32=ld
PIC_irix6_sgin32=-KPIC
COPTIONS_irix6_sgin32=-n32 -woffall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE
COPTIONSld_irix6_sgin32=-n32 -L/usr/lib32
FOPTIONS_irix6_sgin32=-n32
FOPTIONSld_irix6_sgin32=-n32 -L/usr/lib32
CURSESLIB_irix6_sgin32=-lcurses
SYSLIBSexe_irix6_sgin32=-lm -lc
SYSLIBSshr_irix6_sgin32=

CURSES_irix6_sgi64=yes
CC_irix6_sgi64=cc
LD_irix6_sgi64=ld
PIC_irix6_sgi64=-KPIC
COPTIONS_irix6_sgi64=-64 -woffall -DIRIX64bit -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE
COPTIONSld_irix6_sgi64=-64 -DIRIX64bit -L/usr/lib64
FOPTIONS_irix6_sgi64=-64
FOPTIONSld_irix6_sgi64=-64 -L/usr/lib64
CURSESLIB_irix6_sgi64=-lcurses
SYSLIBSexe_irix6_sgi64=-lm -lc
SYSLIBSshr_irix6_sgi64=

CURSES_irix6_gnu=yes
CC_irix6_gnu=gcc
LD_irix6_gnu=ld
PIC_irix6_gnu=-fpic
COPTIONS_irix6_gnu=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE
COPTIONSld_irix6_gnu=
FOPTIONS_irix6_gnu=
FOPTIONSld_irix6_gnu=
CURSESLIB_irix6_gnu=-lcurses
SYSLIBSexe_irix6_gnu=-lm -lc
SYSLIBSshr_irix6_gnu=

#------------------------------------------------------------------------------
# Macros for Linux.
#------------------------------------------------------------------------------

SHARED_linux=yes
FOPTIONS_linux=-w
FOPTIONSld_linux=
SHAREDEXT_linux=so
LDOPTIONSlibcdf_linux=-shared
AROPTIONS_linux=rc
RANLIB_linux=yes
FC_linux=f77
EXEEXT_linux=

CURSES_linux_gnu=yes
CC_linux_gnu=gcc
LD_linux_gnu=ld
PIC_linux_gnu=-fPIC
COPTIONS_linux_gnu=-I/usr/include/ncurses -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DMALLOC_CHECK_=0
COPTIONSld_linux_gnu=
FOPTIONS_linux_gnu=
FOPTIONSld_linux_gnu=
CURSESLIB_linux_gnu=-lncurses
SYSLIBSexe_linux_gnu=-lm -lc
SYSLIBSshr_linux_gnu=-lm -lc

#------------------------------------------------------------------------------
# Macros for Cygwin.
#------------------------------------------------------------------------------

SHARED_cygwin=no
IDL_cygwin=no
FOPTIONS_cygwin=-w
FOPTIONSld_cygwin=
SHAREDEXT_cygwin=dll
LDOPTIONSlibcdf_cygwin=-shared
AROPTIONS_cygwin=rc
RANLIB_cygwin=yes
FC_cygwin=g77
EXEEXT_cygwin=.exe

CURSES_cygwin_gnu=yes
CC_cygwin_gnu=gcc
LD_cygwin_gnu=ld
PIC_cygwin_gnu=
COPTIONS_cygwin_gnu=-I/usr/include/ncurses -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE
COPTIONSld_cygwin_gnu=
FOPTIONS_cygwin_gnu=
FOPTIONSld_cygwin_gnu=
CURSESLIB_cygwin_gnu=-lncurses
SYSLIBSexe_cygwin_gnu=-lgcc
SYSLIBSshr_cygwin_gnu=-lgcc

#------------------------------------------------------------------------------
# Macros for MinGW.
#------------------------------------------------------------------------------

SHARED_mingw=no
IDL_mingw=no
FOPTIONS_mingw=-w
FOPTIONSld_mingw=
SHAREDEXT_mingw=dll
LDOPTIONSlibcdf_mingw=-shared
AROPTIONS_mingw=rc
RANLIB_mingw=yes
FC_mingw=g77
EXEEXT_mingw=.exe

CURSES_mingw_gnu=no
CC_mingw_gnu=gcc
LD_mingw_gnu=ld
PIC_mingw_gnu=
COPTIONS_mingw_gnu=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE
COPTIONSld_mingw_gnu=
FOPTIONS_mingw_gnu=
FOPTIONSld_mingw_gnu=
CURSESLIB_mingw_gnu=
SYSLIBSexe_mingw_gnu=
SYSLIBSshr_mingw_gnu=

#------------------------------------------------------------------------------
# Macros for HP-UX.
#------------------------------------------------------------------------------

FOPTIONS_hpux=-u
FOPTIONSld_hpux=
SHAREDEXT_hpux=sl
LDOPTIONSlibcdf_hpux=-b
AROPTIONS_hpux=rc
RANLIB_hpux=no
FC_hpux=f77

SHARED_hpux_gnu=yes
IDL_hpux_gnu=yes
CURSES_hpux_gnu=yes
CC_hpux_gnu=gcc
LD_hpux_gnu=ld
PIC_hpux_gnu=-fpic
COPTIONS_hpux_gnu=-DHP -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE
COPTIONSld_hpux_gnu=
FOPTIONS_hpux_gnu=
FOPTIONSld_hpux_gnu=
CURSESLIB_hpux_gnu=-lcurses
SYSLIBSexe_hpux_gnu=-lm -lc
SYSLIBSshr_hpux_gnu=

#------------------------------------------------------------------------------
# Miscellaneous Macros.
#------------------------------------------------------------------------------

AND.yes.yes=yes
AND.yes.no=no
AND.no.yes=no
AND.no.no=no

SUPPORTED.yes=supported
SUPPORTED.no=not supported

#------------------------------------------------------------------------------
# Compile/link entire distribution.
#------------------------------------------------------------------------------

all.help:
	@more Help.all

all: all.$(OS).$(ENV)

all..:
	echo "Missing OS and ENV variables."

all.linux.gnu: all.build
all.solaris.sparc: note1.noCC all.build
all.solaris.sparc64: note1.noCC all.build
all.solaris.gnu: all.build
all.solaris.gnu64: all.build
all.osf.dec: all.build
all.osf.gnu: all.build
all.cygwin.gnu: all.build
all.mingw.gnu: all.build
all.mach.macosx: all.build

all.build:
	@cd $(LIBsrcDIR); $(MAKE) \
"SHARED=$(AND.$(SHARED).$(SHARED_$(OS)))" \
"PIC=$(PIC_$(OS)_$(ENV))" \
"CCx=$(CC_$(OS)_$(ENV))" \
"LDx=$(LD_$(OS)_$(ENV))" \
"COPTIONS=$(COPTIONS_$(OS)_$(ENV))" \
"SYSLIBS=$(SYSLIBSshr_$(OS)_$(ENV))" \
"SHAREDEXT=$(SHAREDEXT_$(OS))" \
"LDOPTIONS=$(LDOPTIONSlibcdf_$(OS))" \
"AROPTIONS=$(AROPTIONS_$(OS))" \
"RANLIB=$(RANLIB_$(OS))" \
all
	@cd $(TOOLSsrcDIR); $(MAKE) \
"CURSES=$(AND.$(CURSES).$(CURSES_$(OS)_$(ENV)))" \
"CCx=$(CC_$(OS)_$(ENV))" \
"COPTIONS=$(COPTIONS_$(OS)_$(ENV))" \
"COPTIONSld=$(COPTIONSld_$(OS)_$(ENV))" \
"SYSLIBS=$(SYSLIBSexe_$(OS)_$(ENV))" \
"CURSESLIB=$(CURSESLIB_$(OS)_$(ENV))" \
all
	@cd $(TESTSsrcDIR); $(MAKE) \
"FORTRAN=$(FORTRAN)" \
"FCx=$(FC_$(OS))" \
"CCx=$(CC_$(OS)_$(ENV))" \
"SHARED=$(AND.$(SHARED).$(SHARED_$(OS)))" \
"FOPTIONS=$(FOPTIONS_$(OS)) $(FOPTIONS_$(OS)_$(ENV))" \
"FOPTIONSld=$(FOPTIONSld_$(OS)) $(FOPTIONSld_$(OS)_$(ENV))" \
"COPTIONS=$(COPTIONS_$(OS)_$(ENV))" \
"COPTIONSld=$(COPTIONSld_$(OS)_$(ENV))" \
"SYSLIBS=$(SYSLIBSexe_$(OS)_$(ENV))" \
"SHAREDEXT=$(SHAREDEXT_$(OS))" \
all

#------------------------------------------------------------------------------
# Test distribution.
#------------------------------------------------------------------------------

test.help:
	@more Help.test

test:
	@cd $(TESTSsrcDIR); $(MAKE) test 

#------------------------------------------------------------------------------
# Install files.
#------------------------------------------------------------------------------

install.help:
	@more Help.install

install: install.$(PART)

install.all: install.definitions install.include install.lib \
	     install.tools install.help_

install.definitions: create.bin copy.definitions
install.include: create.include copy.include
install.tools: create.bin copy.tools
install.help_: create.help copy.help

install.lib: create.lib copy.lib.a
	@if [ -f $(LIBsrcDIR)/libcdf.so ] ; then \
	   $(MAKE) "INSTALLDIR=$(INSTALLDIR)" install.lib.so ; \
	 else \
	   $(NULL) ; \
	 fi
	@if [ -f $(LIBsrcDIR)/libcdf.sl ] ; then \
	   $(MAKE) "INSTALLDIR=$(INSTALLDIR)" install.lib.sl ; \
	 else \
	   $(NULL) ; \
	 fi
	@if [ -f $(LIBsrcDIR)/libcdf.dylib ] ; then \
	   $(MAKE) "INSTALLDIR=$(INSTALLDIR)" install.lib.dylib ; \
	 else \
	   $(NULL) ; \
	 fi
	@if [ -f $(LIBsrcDIR)/libcdf.o ] ; then \
	   $(MAKE) "INSTALLDIR=$(INSTALLDIR)" install.lib.o ; \
	 else \
	   $(NULL) ; \
	 fi

install.lib.so: create.lib copy.lib.so
install.lib.sl: create.lib copy.lib.sl
install.lib.dylib: create.lib copy.lib.dylib
install.lib.o: create.lib copy.lib.o

create.include:
	@if [ ! -d $(INSTALLDIR)/include ] ; then \
	   $(MAKE) "TARGET=$(INSTALLDIR)/include" create.dir ; \
	 else \
	   $(NULL) ; \
	 fi

create.bin:
	@if [ ! -d $(INSTALLDIR)/bin ] ; then \
	   $(MAKE) "TARGET=$(INSTALLDIR)/bin" create.dir ; \
	 else \
	   $(NULL) ; \
	 fi

create.lib:
	@if [ ! -d $(INSTALLDIR)/lib ] ; then \
	   $(MAKE) "TARGET=$(INSTALLDIR)/lib" create.dir ; \
	 else \
	   $(NULL) ; \
	 fi

create.help:
	@if [ ! -d $(INSTALLDIR)/lib ] ; then \
	   $(MAKE) "TARGET=$(INSTALLDIR)/lib" create.dir ; \
	 else \
	   $(NULL) ; \
	 fi
	@if [ ! -d $(INSTALLDIR)/lib/cdf ] ; then \
	   $(MAKE) "TARGET=$(INSTALLDIR)/lib/cdf" create.dir ; \
	 else \
	   $(NULL) ; \
	 fi
	@if [ ! -d $(INSTALLDIR)/lib/cdf/help ] ; then \
	   $(MAKE) "TARGET=$(INSTALLDIR)/lib/cdf/help" create.dir ; \
	 else \
	   $(NULL) ; \
	 fi

copy.definitions:
	@echo cp $(DEFSsrcDIR)/definitions.C $(INSTALLDIR)/bin
	      cp $(DEFSsrcDIR)/definitions.C $(INSTALLDIR)/bin
	@echo cp $(DEFSsrcDIR)/definitions.K $(INSTALLDIR)/bin
	      cp $(DEFSsrcDIR)/definitions.K $(INSTALLDIR)/bin
	@echo cp $(DEFSsrcDIR)/definitions.B $(INSTALLDIR)/bin
	      cp $(DEFSsrcDIR)/definitions.B $(INSTALLDIR)/bin

copy.include:
	@echo cp $(INCsrcDIR)/cdf.h $(INSTALLDIR)/include
	      cp $(INCsrcDIR)/cdf.h $(INSTALLDIR)/include
	@echo cp $(INCsrcDIR)/cdf.inc $(INSTALLDIR)/include
	      cp $(INCsrcDIR)/cdf.inc $(INSTALLDIR)/include

copy.lib.so:
	@echo cp $(LIBsrcDIR)/libcdf.so $(INSTALLDIR)/lib
	      cp $(LIBsrcDIR)/libcdf.so $(INSTALLDIR)/lib

copy.lib.sl:
	@echo cp $(LIBsrcDIR)/libcdf.sl $(INSTALLDIR)/lib
	      cp $(LIBsrcDIR)/libcdf.sl $(INSTALLDIR)/lib

copy.lib.dylib:
	@echo cp $(LIBsrcDIR)/libcdf.dylib $(INSTALLDIR)/lib
	      cp $(LIBsrcDIR)/libcdf.dylib $(INSTALLDIR)/lib

copy.lib.o:
	@echo cp $(LIBsrcDIR)/libcdf.o $(INSTALLDIR)/lib
	      cp $(LIBsrcDIR)/libcdf.o $(INSTALLDIR)/lib

copy.lib.a:
	@echo cp $(LIBsrcDIR)/libcdf.a $(INSTALLDIR)/lib
	      cp $(LIBsrcDIR)/libcdf.a $(INSTALLDIR)/lib
	@if [ -f $(LIBsrcDIR)/.ranlib.yes ] ; then \
	   $(MAKE) "TARGET=$(INSTALLDIR)/lib/libcdf.a" ranlib.file ; \
	 else \
	   $(NULL) ; \
	 fi

copy.tools:
	@if [ -f $(TOOLSsrcDIR)/cdfedit.exe ] ; then \
	   $(MAKE) \
		"SOURCE=$(TOOLSsrcDIR)/cdfedit.exe" \
		"DESTINATION=$(INSTALLDIR)/bin/cdfedit.exe" \
		copy.file ; \
	elif [ -f $(TOOLSsrcDIR)/cdfedit ] ; then \
	   $(MAKE) \
	        "SOURCE=$(TOOLSsrcDIR)/cdfedit" \
	        "DESTINATION=$(INSTALLDIR)/bin/cdfedit" \
	        copy.file ; \
	else \
	   $(NULL) ; \
	fi
	@if [ -f $(TOOLSsrcDIR)/cdfxp.exe ] ; then \
	   $(MAKE) \
		"SOURCE=$(TOOLSsrcDIR)/cdfxp.exe" \
		"DESTINATION=$(INSTALLDIR)/bin/cdfexport.exe" \
		copy.file ; \
	elif [ -f $(TOOLSsrcDIR)/cdfxp ] ; then \
	   $(MAKE) \
	        "SOURCE=$(TOOLSsrcDIR)/cdfxp" \
	        "DESTINATION=$(INSTALLDIR)/bin/cdfexport" \
	        copy.file ; \
	else \
	   $(NULL) ; \
	fi
	@if [ -f $(TOOLSsrcDIR)/cdfcvt.exe ] ; then \
	   $(MAKE) \
		"SOURCE=$(TOOLSsrcDIR)/cdfcvt.exe" \
		"DESTINATION=$(INSTALLDIR)/bin/cdfconvert.exe" \
		copy.file ; \
	elif [ -f $(TOOLSsrcDIR)/cdfcvt ] ; then \
	   $(MAKE) \
	        "SOURCE=$(TOOLSsrcDIR)/cdfcvt" \
	        "DESTINATION=$(INSTALLDIR)/bin/cdfconvert" \
	        copy.file ; \
	else \
	   $(NULL) ; \
	fi
	@if [ -f $(TOOLSsrcDIR)/skt2cdf.exe ] ; then \
	   $(MAKE) \
		"SOURCE=$(TOOLSsrcDIR)/skt2cdf.exe" \
		"DESTINATION=$(INSTALLDIR)/bin/skeletoncdf.exe" \
		copy.file ; \
	elif [ -f $(TOOLSsrcDIR)/skt2cdf ] ; then \
	   $(MAKE) \
	        "SOURCE=$(TOOLSsrcDIR)/skt2cdf" \
	        "DESTINATION=$(INSTALLDIR)/bin/skeletoncdf" \
	        copy.file ; \
	else \
	   $(NULL) ; \
	fi
	@if [ -f $(TOOLSsrcDIR)/cdf2skt.exe ] ; then \
	   $(MAKE) \
		"SOURCE=$(TOOLSsrcDIR)/cdf2skt.exe" \
		"DESTINATION=$(INSTALLDIR)/bin/skeletontable.exe" \
		copy.file ; \
	elif [ -f $(TOOLSsrcDIR)/cdf2skt ] ; then \
	   $(MAKE) \
	        "SOURCE=$(TOOLSsrcDIR)/cdf2skt" \
	        "DESTINATION=$(INSTALLDIR)/bin/skeletontable" \
	        copy.file ; \
	else \
	   $(NULL) ; \
	fi
	@if [ -f $(TOOLSsrcDIR)/cdfinq.exe ] ; then \
	   $(MAKE) \
		"SOURCE=$(TOOLSsrcDIR)/cdfinq.exe" \
		"DESTINATION=$(INSTALLDIR)/bin/cdfinquire.exe" \
		copy.file ; \
	elif [ -f $(TOOLSsrcDIR)/cdfinq ] ; then \
	   $(MAKE) \
	        "SOURCE=$(TOOLSsrcDIR)/cdfinq" \
	        "DESTINATION=$(INSTALLDIR)/bin/cdfinquire" \
	        copy.file ; \
	else \
	   $(NULL) ; \
	fi
	@if [ -f $(TOOLSsrcDIR)/cdfstats.exe ] ; then \
	   $(MAKE) \
		"SOURCE=$(TOOLSsrcDIR)/cdfstats.exe" \
		"DESTINATION=$(INSTALLDIR)/bin/cdfstats.exe" \
		copy.file ; \
	elif [ -f $(TOOLSsrcDIR)/cdfstats ] ; then \
	   $(MAKE) \
	        "SOURCE=$(TOOLSsrcDIR)/cdfstats" \
	        "DESTINATION=$(INSTALLDIR)/bin/cdfstats" \
	        copy.file ; \
	else \
	   $(NULL) ; \
	fi
	@if [ -f $(TOOLSsrcDIR)/cdfcmp.exe ] ; then \
	   $(MAKE) \
		"SOURCE=$(TOOLSsrcDIR)/cdfcmp.exe" \
		"DESTINATION=$(INSTALLDIR)/bin/cdfcompare.exe" \
		copy.file ; \
	elif [ -f $(TOOLSsrcDIR)/cdfcmp ] ; then \
	   $(MAKE) \
	        "SOURCE=$(TOOLSsrcDIR)/cdfcmp" \
	        "DESTINATION=$(INSTALLDIR)/bin/cdfcompare" \
	        copy.file ; \
	else \
	   $(NULL) ; \
	fi
	@if [ -f $(TOOLSsrcDIR)/cdfdump.exe ] ; then \
	   $(MAKE) \
		"SOURCE=$(TOOLSsrcDIR)/cdfdump.exe" \
		"DESTINATION=$(INSTALLDIR)/bin/cdfdump.exe" \
		copy.file ; \
	elif [ -f $(TOOLSsrcDIR)/cdfdump ] ; then \
	   $(MAKE) \
	        "SOURCE=$(TOOLSsrcDIR)/cdfdump" \
	        "DESTINATION=$(INSTALLDIR)/bin/cdfdump" \
	        copy.file ; \
	else \
	   $(NULL) ; \
	fi
	@echo cp $(TOOLSsrcDIR)/cdfdir.unix $(INSTALLDIR)/bin/cdfdir
	      cp $(TOOLSsrcDIR)/cdfdir.unix $(INSTALLDIR)/bin/cdfdir

copy.help:
	@echo cp $(HELPsrcDIR)/cdfedit.olh $(INSTALLDIR)/lib/cdf/help
	      cp $(HELPsrcDIR)/cdfedit.olh $(INSTALLDIR)/lib/cdf/help
	@echo cp $(HELPsrcDIR)/cdfeditj.olh $(INSTALLDIR)/lib/cdf/help
	      cp $(HELPsrcDIR)/cdfeditj.olh $(INSTALLDIR)/lib/cdf/help
	@echo cp $(HELPsrcDIR)/cdfedit.ilh $(INSTALLDIR)/lib/cdf/help
	      cp $(HELPsrcDIR)/cdfedit.ilh $(INSTALLDIR)/lib/cdf/help
	@echo cp $(HELPsrcDIR)/cdfbrow.ilh $(INSTALLDIR)/lib/cdf/help
	      cp $(HELPsrcDIR)/cdfbrow.ilh $(INSTALLDIR)/lib/cdf/help
	@echo cp $(HELPsrcDIR)/cdfxp.ilh $(INSTALLDIR)/lib/cdf/help
	      cp $(HELPsrcDIR)/cdfxp.ilh $(INSTALLDIR)/lib/cdf/help
	@echo cp $(HELPsrcDIR)/cdfcvt.olh $(INSTALLDIR)/lib/cdf/help
	      cp $(HELPsrcDIR)/cdfcvt.olh $(INSTALLDIR)/lib/cdf/help
	@echo cp $(HELPsrcDIR)/cdfcvtj.olh $(INSTALLDIR)/lib/cdf/help
	      cp $(HELPsrcDIR)/cdfcvtj.olh $(INSTALLDIR)/lib/cdf/help
	@echo cp $(HELPsrcDIR)/cdfcmp.olh $(INSTALLDIR)/lib/cdf/help
	      cp $(HELPsrcDIR)/cdfcmp.olh $(INSTALLDIR)/lib/cdf/help
	@echo cp $(HELPsrcDIR)/cdfcmpj.olh $(INSTALLDIR)/lib/cdf/help
	      cp $(HELPsrcDIR)/cdfcmpj.olh $(INSTALLDIR)/lib/cdf/help
	@echo cp $(HELPsrcDIR)/cdf2skt.olh $(INSTALLDIR)/lib/cdf/help
	      cp $(HELPsrcDIR)/cdf2skt.olh $(INSTALLDIR)/lib/cdf/help
	@echo cp $(HELPsrcDIR)/cdf2sktj.olh $(INSTALLDIR)/lib/cdf/help
	      cp $(HELPsrcDIR)/cdf2sktj.olh $(INSTALLDIR)/lib/cdf/help
	@echo cp $(HELPsrcDIR)/skt2cdf.olh $(INSTALLDIR)/lib/cdf/help
	      cp $(HELPsrcDIR)/skt2cdf.olh $(INSTALLDIR)/lib/cdf/help
	@echo cp $(HELPsrcDIR)/skt2cdfj.olh $(INSTALLDIR)/lib/cdf/help
	      cp $(HELPsrcDIR)/skt2cdfj.olh $(INSTALLDIR)/lib/cdf/help
	@echo cp $(HELPsrcDIR)/cdfstats.olh $(INSTALLDIR)/lib/cdf/help
	      cp $(HELPsrcDIR)/cdfstats.olh $(INSTALLDIR)/lib/cdf/help
	@echo cp $(HELPsrcDIR)/cdfstatj.olh $(INSTALLDIR)/lib/cdf/help
	      cp $(HELPsrcDIR)/cdfstatj.olh $(INSTALLDIR)/lib/cdf/help
	@echo cp $(HELPsrcDIR)/cdfdump.olh $(INSTALLDIR)/lib/cdf/help
	      cp $(HELPsrcDIR)/cdfdump.olh $(INSTALLDIR)/lib/cdf/help
	@echo cp $(HELPsrcDIR)/cdfdumpj.olh $(INSTALLDIR)/lib/cdf/help
	      cp $(HELPsrcDIR)/cdfdumpj.olh $(INSTALLDIR)/lib/cdf/help
	@echo cp $(HELPsrcDIR)/cdfinq.olh $(INSTALLDIR)/lib/cdf/help
	      cp $(HELPsrcDIR)/cdfinq.olh $(INSTALLDIR)/lib/cdf/help
	@echo cp $(HELPsrcDIR)/cdfinqj.olh $(INSTALLDIR)/lib/cdf/help
	      cp $(HELPsrcDIR)/cdfinqj.olh $(INSTALLDIR)/lib/cdf/help
	@echo cp $(HELPsrcDIR)/cdfdirj.olh $(INSTALLDIR)/lib/cdf/help
	      cp $(HELPsrcDIR)/cdfdirj.olh $(INSTALLDIR)/lib/cdf/help

create.dir:
	@echo mkdir -p $(TARGET)
	      mkdir -p $(TARGET)

copy.file:
	@echo cp $(SOURCE) $(DESTINATION)
	      cp $(SOURCE) $(DESTINATION)

ranlib.file:
	@echo $(RANLIB) $(TARGET)
	      $(RANLIB) $(TARGET)

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

clean:
	@-rm -f core
	@-rm -f samples/core
	@cd $(LIBsrcDIR); $(MAKE) clean
	@cd $(TOOLSsrcDIR); $(MAKE) clean
	@cd $(TESTSsrcDIR); $(MAKE) clean

purge:
	@-rm -f *~
	@-rm -f *#
	@-rm -f samples/*~
	@-rm -f samples/*#
	@-rm -f $(HELPsrcDIR)/*~
	@-rm -f $(HELPsrcDIR)/*#
	@-rm -f $(DEFSsrcDIR)/*~
	@-rm -f $(DEFSsrcDIR)/*#
	@-rm -f $(INCsrcDIR)/*~
	@-rm -f $(INCsrcDIR)/*#
	@cd $(LIBsrcDIR); $(MAKE) purge
	@cd $(TOOLSsrcDIR); $(MAKE) purge
	@cd $(TESTSsrcDIR); $(MAKE) purge

#------------------------------------------------------------------------------
# Ultrix.
#------------------------------------------------------------------------------

all.ultrix.risc: note1.all.ultrix.risc.build
all.ultrix.gnu: note1.1st all.ultrix.gnu.build

all.ultrix.risc.build:
	@cd $(LIBsrcDIR); $(MAKE) \
"SHARED=$(SHARED_ultrix)" \
"PIC=$(PIC_ultrix_risc)" \
"CCx=$(CC_ultrix_risc)" \
"LDx=$(LD_ultrix_risc)" \
"COPTIONS=$(COPTIONS_ultrix_risc)" \
"SYSLIBS=$(SYSLIBSshr_ultrix_risc)" \
"SHAREDEXT=$(SHAREDEXT_ultrix)" \
"LDOPTIONS=$(LDOPTIONSlibcdf_ultrix)" \
"AROPTIONS=$(AROPTIONS_ultrix)" \
"RANLIB=$(RANLIB_ultrix)" \
all
	@cd $(TOOLSsrcDIR); $(MAKE) \
"CURSES=$(CURSES)" \
"CCx=$(CC_ultrix_risc)" \
"COPTIONS=$(COPTIONS_ultrix_risc)" \
"COPTIONSld=$(COPTIONSld_ultrix_risc)" \
"SYSLIBS=$(SYSLIBSexe_ultrix_risc)" \
"CURSESLIB=$(CURSESLIB_ultrix_risc)" \
all
	@cd $(TESTSsrcDIR); $(MAKE) \
"FORTRAN=$(FORTRAN)" \
"FCx=$(FC_ultrix)" \
"CCx=$(CC_ultrix_risc)" \
"SHARED=$(SHARED_ultrix)" \
"FOPTIONS=$(FOPTIONS_ultrix)" \
"FOPTIONSld=$(FOPTIONSld_ultrix)" \
"COPTIONS=$(COPTIONS_ultrix_risc)" \
"COPTIONSld=$(COPTIONSld_ultrix_risc)" \
"SYSLIBS=$(SYSLIBSexe_ultrix_risc)" \
"SHAREDEXT=$(SHAREDEXT_ultrix)" \
all
all.ultrix.gnu.build:
	@cd $(LIBsrcDIR); $(MAKE) \
"SHARED=$(SHARED_ultrix)" \
"PIC=$(PIC_ultrix_gnu)" \
"CCx=$(CC_ultrix_gnu)" \
"LDx=$(LD_ultrix_gnu)" \
"COPTIONS=$(COPTIONS_ultrix_gnu)" \
"SYSLIBS=$(SYSLIBSshr_ultrix_gnu)" \
"SHAREDEXT=$(SHAREDEXT_ultrix)" \
"LDOPTIONS=$(LDOPTIONSlibcdf_ultrix)" \
"AROPTIONS=$(AROPTIONS_ultrix)" \
"RANLIB=$(RANLIB_ultrix)" \
all
	@cd $(TOOLSsrcDIR); $(MAKE) \
"CURSES=$(CURSES)" \
"CCx=$(CC_ultrix_gnu)" \
"COPTIONS=$(COPTIONS_ultrix_gnu)" \
"COPTIONSld=$(COPTIONSld_ultrix_gnu)" \
"SYSLIBS=$(SYSLIBSexe_ultrix_gnu)" \
"CURSESLIB=$(CURSESLIB_ultrix_gnu)" \
all
	@cd $(TESTSsrcDIR); $(MAKE) \
"FORTRAN=$(FORTRAN)" \
"FCx=$(FC_ultrix)" \
"CCx=$(CC_ultrix_gnu)" \
"SHARED=$(SHARED_ultrix)" \
"FOPTIONS=$(FOPTIONS_ultrix)" \
"FOPTIONSld=$(FOPTIONSld_ultrix)" \
"COPTIONS=$(COPTIONS_ultrix_gnu)" \
"COPTIONSld=$(COPTIONSld_ultrix_gnu)" \
"SYSLIBS=$(SYSLIBSexe_ultrix_gnu)" \
"SHAREDEXT=$(SHAREDEXT_ultrix)" \
all

#------------------------------------------------------------------------------
# HP-UX.
#------------------------------------------------------------------------------

all.hpux.gnu: all.hpux.gnu.build

all.hpux.std.build:
	@cd $(LIBsrcDIR); $(MAKE) \
"SHARED=$(SHARED_hpux_std)" \
"PIC=$(PIC_hpux_std)" \
"CCx=$(CC_hpux_std)" \
"LDx=$(LD_hpux_std)" \
"COPTIONS=$(COPTIONS_hpux_std)" \
"SYSLIBS=$(SYSLIBSshr_hpux_std)" \
"SHAREDEXT=$(SHAREDEXT_hpux)" \
"LDOPTIONS=$(LDOPTIONSlibcdf_hpux)" \
"AROPTIONS=$(AROPTIONS_hpux)" \
"RANLIB=$(RANLIB_hpux)" \
all
	@cd $(TOOLSsrcDIR); $(MAKE) \
"CURSES=$(CURSES)" \
"CCx=$(CC_hpux_std)" \
"COPTIONS=$(COPTIONS_hpux_std)" \
"COPTIONSld=$(COPTIONSld_hpux_std)" \
"SYSLIBS=$(SYSLIBSexe_hpux_std)" \
"CURSESLIB=$(CURSESLIB_hpux_std)" \
all
	@cd $(TESTSsrcDIR); $(MAKE) \
"FORTRAN=$(FORTRAN)" \
"FCx=$(FC_hpux)" \
"CCx=$(CC_hpux_std)" \
"SHARED=$(SHARED_hpux_std)" \
"FOPTIONS=$(FOPTIONS_hpux)" \
"FOPTIONSld=$(FOPTIONSld_hpux)" \
"COPTIONS=$(COPTIONS_hpux_std)" \
"COPTIONSld=$(COPTIONSld_hpux_std)" \
"SYSLIBS=$(SYSLIBSexe_hpux_std)" \
"SHAREDEXT=$(SHAREDEXT_hpux)" \
all
all.hpux.opt.build:
	@cd $(LIBsrcDIR); $(MAKE) \
"SHARED=$(SHARED)" \
"PIC=$(PIC_hpux_opt)" \
"CCx=$(CC_hpux_opt)" \
"LDx=$(LD_hpux_opt)" \
"COPTIONS=$(COPTIONS_hpux_opt)" \
"SYSLIBS=$(SYSLIBSshr_hpux_opt)" \
"SHAREDEXT=$(SHAREDEXT_hpux)" \
"LDOPTIONS=$(LDOPTIONSlibcdf_hpux)" \
"AROPTIONS=$(AROPTIONS_hpux)" \
"RANLIB=$(RANLIB_hpux)" \
all
	@cd $(TOOLSsrcDIR); $(MAKE) \
"CURSES=$(CURSES)" \
"CCx=$(CC_hpux_opt)" \
"COPTIONS=$(COPTIONS_hpux_opt)" \
"COPTIONSld=$(COPTIONSld_hpux_opt)" \
"SYSLIBS=$(SYSLIBSexe_hpux_opt)" \
"CURSESLIB=$(CURSESLIB_hpux_opt)" \
all
	@cd $(TESTSsrcDIR); $(MAKE) \
"FORTRAN=$(FORTRAN)" \
"FCx=$(FC_hpux)" \
"CCx=$(CC_hpux_opt)" \
"SHARED=$(SHARED)" \
"FOPTIONS=$(FOPTIONS_hpux)" \
"FOPTIONSld=$(FOPTIONSld_hpux)" \
"COPTIONS=$(COPTIONS_hpux_opt)" \
"COPTIONSld=$(COPTIONSld_hpux_opt)" \
"SYSLIBS=$(SYSLIBSexe_hpux_opt)" \
"SHAREDEXT=$(SHAREDEXT_hpux)" \
all
all.hpux.posix.build:
	@cd $(LIBsrcDIR); $(MAKE) \
"SHARED=$(SHARED)" \
"PIC=$(PIC_hpux_posix)" \
"CCx=$(CC_hpux_posix)" \
"LDx=$(LD_hpux_posix)" \
"COPTIONS=$(COPTIONS_hpux_posix)" \
"SYSLIBS=$(SYSLIBSshr_hpux_posix)" \
"SHAREDEXT=$(SHAREDEXT_hpux)" \
"LDOPTIONS=$(LDOPTIONSlibcdf_hpux)" \
"AROPTIONS=$(AROPTIONS_hpux)" \
"RANLIB=$(RANLIB_hpux)" \
all
	@cd $(TOOLSsrcDIR); $(MAKE) \
"CURSES=$(CURSES)" \
"CCx=$(CC_hpux_posix)" \
"COPTIONS=$(COPTIONS_hpux_posix)" \
"COPTIONSld=$(COPTIONSld_hpux_posix)" \
"SYSLIBS=$(SYSLIBSexe_hpux_posix)" \
"CURSESLIB=$(CURSESLIB_hpux_posix)" \
all
	@cd $(TESTSsrcDIR); $(MAKE) \
"FORTRAN=$(FORTRAN)" \
"FCx=$(FC_hpux)" \
"CCx=$(CC_hpux_posix)" \
"SHARED=$(SHARED)" \
"FOPTIONS=$(FOPTIONS_hpux)" \
"FOPTIONSld=$(FOPTIONSld_hpux)" \
"COPTIONS=$(COPTIONS_hpux_posix)" \
"COPTIONSld=$(COPTIONSld_hpux_posix)" \
"SYSLIBS=$(SYSLIBSexe_hpux_posix)" \
"SHAREDEXT=$(SHAREDEXT_hpux)" \
all
all.hpux.gnu.build:
	@cd $(LIBsrcDIR); $(MAKE) \
"SHARED=$(SHARED)" \
"PIC=$(PIC_hpux_gnu)" \
"CCx=$(CC_hpux_gnu)" \
"LDx=$(LD_hpux_gnu)" \
"COPTIONS=$(COPTIONS_hpux_gnu)" \
"SYSLIBS=$(SYSLIBSshr_hpux_gnu)" \
"SHAREDEXT=$(SHAREDEXT_hpux)" \
"LDOPTIONS=$(LDOPTIONSlibcdf_hpux)" \
"AROPTIONS=$(AROPTIONS_hpux)" \
"RANLIB=$(RANLIB_hpux)" \
all
	@cd $(TOOLSsrcDIR); $(MAKE) \
"CURSES=$(CURSES)" \
"CCx=$(CC_hpux_gnu)" \
"COPTIONS=$(COPTIONS_hpux_gnu)" \
"COPTIONSld=$(COPTIONSld_hpux_gnu)" \
"SYSLIBS=$(SYSLIBSexe_hpux_gnu)" \
"CURSESLIB=$(CURSESLIB_hpux_gnu)" \
all
	@cd $(TESTSsrcDIR); $(MAKE) \
"FORTRAN=$(FORTRAN)" \
"FCx=$(FC_hpux)" \
"CCx=$(CC_hpux_gnu)" \
"SHARED=$(SHARED)" \
"FOPTIONS=$(FOPTIONS_hpux)" \
"FOPTIONSld=$(FOPTIONSld_hpux)" \
"COPTIONS=$(COPTIONS_hpux_gnu)" \
"COPTIONSld=$(COPTIONSld_hpux_gnu)" \
"SYSLIBS=$(SYSLIBSexe_hpux_gnu)" \
"SHAREDEXT=$(SHAREDEXT_hpux)" \
all
#------------------------------------------------------------------------------
# IRIX 6.x.
#------------------------------------------------------------------------------

all.irix6.sgin32: all.irix6.sgin32.build
all.irix6.sgi64: all.irix6.sgi64.build
all.irix6.gnu: note1.1st all.irix6.gnu.build

all.irix6.sgin32.build:
	@cd $(LIBsrcDIR); $(MAKE) \
"SHARED=$(SHARED)" \
"PIC=$(PIC_irix6_sgin32)" \
"CCx=$(CC_irix6_sgin32)" \
"LDx=$(LD_irix6_sgin32)" \
"COPTIONS=$(COPTIONS_irix6_sgin32)" \
"SYSLIBS=$(SYSLIBSshr_irix6_sgin32)" \
"SHAREDEXT=$(SHAREDEXT_irix6)" \
"LDOPTIONS=$(LDOPTIONSlibcdf_irix6) -n32" \
"AROPTIONS=$(AROPTIONS_irix6)" \
"RANLIB=$(RANLIB_irix6)" \
all
	@cd $(TOOLSsrcDIR); $(MAKE) \
"CURSES=$(CURSES)" \
"CCx=$(CC_irix6_sgin32)" \
"COPTIONS=$(COPTIONS_irix6_sgin32)" \
"COPTIONSld=$(COPTIONSld_irix6_sgin32)" \
"SYSLIBS=$(SYSLIBSexe_irix6_sgin32)" \
"CURSESLIB=$(CURSESLIB_irix6_sgin32)" \
all
	@cd $(TESTSsrcDIR); $(MAKE) \
"FORTRAN=$(FORTRAN)" \
"FCx=$(FC_irix6)" \
"CCx=$(CC_irix6_sgin32)" \
"SHARED=$(SHARED)" \
"FOPTIONS=$(FOPTIONS_irix6)" \
"FOPTIONSld=$(FOPTIONSld_irix6)" \
"COPTIONS=$(COPTIONS_irix6_sgin32)" \
"COPTIONSld=$(COPTIONSld_irix6_sgin32)" \
"SYSLIBS=$(SYSLIBSexe_irix6_sgin32)" \
"SHAREDEXT=$(SHAREDEXT_irix6)" \
all

all.irix6.sgi64.build:
	@cd $(LIBsrcDIR); $(MAKE) \
"SHARED=$(SHARED)" \
"PIC=$(PIC_irix6_sgi64)" \
"CCx=$(CC_irix6_sgi64)" \
"LDx=$(LD_irix6_sgi64)" \
"COPTIONS=$(COPTIONS_irix6_sgi64)" \
"SYSLIBS=$(SYSLIBSshr_irix6_sgi64)" \
"SHAREDEXT=$(SHAREDEXT_irix6)" \
"LDOPTIONS=$(LDOPTIONSlibcdf_irix6) -64" \
"AROPTIONS=$(AROPTIONS_irix6)" \
"RANLIB=$(RANLIB_irix6)" \
all
	@cd $(TOOLSsrcDIR); $(MAKE) \
"CURSES=$(CURSES)" \
"CCx=$(CC_irix6_sgi64)" \
"COPTIONS=$(COPTIONS_irix6_sgi64)" \
"COPTIONSld=$(COPTIONSld_irix6_sgi64)" \
"SYSLIBS=$(SYSLIBSexe_irix6_sgi64)" \
"CURSESLIB=$(CURSESLIB_irix6_sgi64)" \
all
	@cd $(TESTSsrcDIR); $(MAKE) \
"FORTRAN=$(FORTRAN)" \
"FCx=$(FC_irix6)" \
"CCx=$(CC_irix6_sgi64)" \
"SHARED=$(SHARED)" \
"FOPTIONS=$(FOPTIONS_irix6)" \
"FOPTIONSld=$(FOPTIONSld_irix6)" \
"COPTIONS=$(COPTIONS_irix6_sgi64)" \
"COPTIONSld=$(COPTIONSld_irix6_sgi64)" \
"SYSLIBS=$(SYSLIBSexe_irix6_sgi64)" \
"SHAREDEXT=$(SHAREDEXT_irix6)" \
all
all.irix6.gnu.build:
	@cd $(LIBsrcDIR); $(MAKE) \
"SHARED=$(SHARED)" \
"PIC=$(PIC_irix6_gnu)" \
"CCx=$(CC_irix6_gnu)" \
"LDx=$(LD_irix6_gnu)" \
"COPTIONS=$(COPTIONS_irix6_gnu)" \
"SYSLIBS=$(SYSLIBSshr_irix6_gnu)" \
"SHAREDEXT=$(SHAREDEXT_irix6)" \
"LDOPTIONS=$(LDOPTIONSlibcdf_irix6) -n32" \
"AROPTIONS=$(AROPTIONS_irix6)" \
"RANLIB=$(RANLIB_irix6)" \
all
	@cd $(TOOLSsrcDIR); $(MAKE) \
"CURSES=$(CURSES)" \
"CCx=$(CC_irix6_gnu)" \
"COPTIONS=$(COPTIONS_irix6_gnu)" \
"COPTIONSld=$(COPTIONSld_irix6_gnu)" \
"SYSLIBS=$(SYSLIBSexe_irix6_gnu)" \
"CURSESLIB=$(CURSESLIB_irix6_gnu)" \
all
	@cd $(TESTSsrcDIR); $(MAKE) \
"FORTRAN=$(FORTRAN)" \
"FCx=$(FC_irix6)" \
"CCx=$(CC_irix6_gnu)" \
"SHARED=$(SHARED)" \
"FOPTIONS=$(FOPTIONS_irix6)" \
"FOPTIONSld=$(FOPTIONSld_irix6)" \
"COPTIONS=$(COPTIONS_irix6_gnu)" \
"COPTIONSld=$(COPTIONSld_irix6_gnu)" \
"SYSLIBS=$(SYSLIBSexe_irix6_gnu)" \
"SHAREDEXT=$(SHAREDEXT_irix6)" \
all

#------------------------------------------------------------------------------
# AIX.
#------------------------------------------------------------------------------

all.aix.ibm: note1.1st all.aix.ibm.build
all.aix.gnu: note1.1st all.aix.gnu.build

all.aix.ibm.build:
	@cd $(LIBsrcDIR); $(MAKE) \
"SHARED=$(SHARED)" \
"PIC=$(PIC_aix_ibm)" \
"CCx=$(CC_aix_ibm)" \
"LDx=$(LD_aix_ibm)" \
"COPTIONS=$(COPTIONS_aix_ibm)" \
"SYSLIBS=$(SYSLIBSshr_aix_ibm)" \
"SHAREDEXT=$(SHAREDEXT_aix)" \
"LDOPTIONS=$(LDOPTIONSlibcdf_aix)" \
"AROPTIONS=$(AROPTIONS_aix)" \
"RANLIB=$(RANLIB_aix)" \
all
	@cd $(TOOLSsrcDIR); $(MAKE) \
"CURSES=$(CURSES)" \
"CCx=$(CC_aix_ibm)" \
"COPTIONS=$(COPTIONS_aix_ibm)" \
"COPTIONSld=$(COPTIONSld_aix_ibm)" \
"SYSLIBS=$(SYSLIBSexe_aix_ibm)" \
"CURSESLIB=$(CURSESLIB_aix_ibm)" \
all
	@cd $(TESTSsrcDIR); $(MAKE) \
"FORTRAN=$(FORTRAN)" \
"FCx=$(FC_aix)" \
"CCx=$(CC_aix_ibm)" \
"SHARED=$(SHARED)" \
"FOPTIONS=$(FOPTIONS_aix)" \
"FOPTIONSld=$(FOPTIONSld_aix)" \
"COPTIONS=$(COPTIONS_aix_ibm)" \
"COPTIONSld=$(COPTIONSld_aix_ibm)" \
"SYSLIBS=$(SYSLIBSexe_aix_ibm)" \
"SHAREDEXT=$(SHAREDEXT_aix)" \
all
all.aix.gnu.build:
	@cd $(LIBsrcDIR); $(MAKE) \
"SHARED=$(SHARED)" \
"PIC=$(PIC_aix_gnu)" \
"CCx=$(CC_aix_gnu)" \
"LDx=$(LD_aix_gnu)" \
"COPTIONS=$(COPTIONS_aix_gnu)" \
"SYSLIBS=$(SYSLIBSshr_aix_gnu)" \
"SHAREDEXT=$(SHAREDEXT_aix)" \
"LDOPTIONS=$(LDOPTIONSlibcdf_aix)" \
"AROPTIONS=$(AROPTIONS_aix)" \
"RANLIB=$(RANLIB_aix)" \
all
	@cd $(TOOLSsrcDIR); $(MAKE) \
"CURSES=$(CURSES)" \
"CCx=$(CC_aix_gnu)" \
"COPTIONS=$(COPTIONS_aix_gnu)" \
"COPTIONSld=$(COPTIONSld_aix_gnu)" \
"SYSLIBS=$(SYSLIBSexe_aix_gnu)" \
"CURSESLIB=$(CURSESLIB_aix_gnu)" \
all
	@cd $(TESTSsrcDIR); $(MAKE) \
"FORTRAN=$(FORTRAN)" \
"FCx=$(FC_aix)" \
"CCx=$(CC_aix_gnu)" \
"SHARED=$(SHARED)" \
"FOPTIONS=$(FOPTIONS_aix)" \
"FOPTIONSld=$(FOPTIONSld_aix)" \
"COPTIONS=$(COPTIONS_aix_gnu)" \
"COPTIONSld=$(COPTIONSld_aix_gnu)" \
"SYSLIBS=$(SYSLIBSexe_aix_gnu)" \
"SHAREDEXT=$(SHAREDEXT_aix)" \
all

#------------------------------------------------------------------------------
# Mach.
#------------------------------------------------------------------------------

all.mach.next: note1.1st all.mach.next.build
all.mach.macosx: all.mach.macosx.build 
all.mach.gnu: note1.1st note1.1st all.mach.gnu.build

all.mach.next.build:
	@cd $(LIBsrcDIR); $(MAKE) \
"SHARED=$(SHARED_mach)" \
"PIC=$(PIC_mach_next)" \
"CCx=$(CC_mach_next)" \
"LDx=$(LD_mach_next)" \
"COPTIONS=$(COPTIONS_mach_next)" \
"SYSLIBS=$(SYSLIBSshr_mach_next)" \
"SHAREDEXT=$(SHAREDEXT_mach)" \
"LDOPTIONS=$(LDOPTIONSlibcdf_mach)" \
"AROPTIONS=$(AROPTIONS_mach)" \
"RANLIB=$(RANLIB_mach)" \
all
	@cd $(TOOLSsrcDIR); $(MAKE) \
"CURSES=$(CURSES_mach_next)" \
"CCx=$(CC_mach_next)" \
"COPTIONS=$(COPTIONS_mach_next)" \
"COPTIONSld=$(COPTIONSld_mach_next)" \
"SYSLIBS=$(SYSLIBSexe_mach_next)" \
"CURSESLIB=$(CURSESLIB_mach_next)" \
all
	@cd $(TESTSsrcDIR); $(MAKE) \
"FORTRAN=$(FORTRAN)" \
"FCx=$(FC_mach)" \
"CCx=$(CC_mach_next)" \
"SHARED=$(SHARED_mach)" \
"FOPTIONS=$(FOPTIONS_mach)" \
"FOPTIONSld=$(FOPTIONSld_mach)" \
"COPTIONS=$(COPTIONS_mach_next)" \
"COPTIONSld=$(COPTIONSld_mach_next)" \
"SYSLIBS=$(SYSLIBSexe_mach_next)" \
"SHAREDEXT=$(SHAREDEXT_mach)" \
all
all.mach.macosx.build:
	@cd $(LIBsrcDIR); $(MAKE) \
"SHARED=$(SHARED_mach)" \
"PIC=$(PIC_mach_macosx)" \
"CCx=$(CC_mach_macosx)" \
"LDx=$(LD_mach_macosx)" \
"COPTIONS=$(COPTIONS_mach_macosx)" \
"SYSLIBS=$(SYSLIBSshr_mach_macosx)" \
"SHAREDEXT=$(SHAREDEXT_mach)" \
"LDOPTIONS=$(LDOPTIONSlibcdf_mach)" \
"AROPTIONS=$(AROPTIONS_mach)" \
"RANLIB=$(RANLIB_mach)" \
all
	@cd $(TOOLSsrcDIR); $(MAKE) \
"CURSES=$(CURSES_mach_macosx)" \
"CCx=$(CC_mach_macosx)" \
"COPTIONS=$(COPTIONS_mach_macosx)" \
"COPTIONSld=$(COPTIONSld_mach_macosx)" \
"SYSLIBS=$(SYSLIBSexe_mach_macosx)" \
"CURSESLIB=$(CURSESLIB_mach_macosx)" \
all
	@cd $(TESTSsrcDIR); $(MAKE) \
"FORTRAN=$(FORTRAN)" \
"FCx=$(FC_mach)" \
"CCx=$(CC_mach_macosx)" \
"SHARED=$(SHARED_mach)" \
"FOPTIONS=$(FOPTIONS_mach)" \
"FOPTIONSld=$(FOPTIONSld_mach)" \
"COPTIONS=$(COPTIONS_mach_macosx)" \
"COPTIONSld=$(COPTIONSld_mach_macosx)" \
"SYSLIBS=$(SYSLIBSexe_mach_macosx)" \
"SHAREDEXT=$(SHAREDEXT_mach)" \
all

all.mach.gnu.build:
	@cd $(LIBsrcDIR); $(MAKE) \
"SHARED=$(SHARED_mach)" \
"PIC=$(PIC_mach_gnu)" \
"CCx=$(CC_mach_gnu)" \
"LDx=$(LD_mach_gnu)" \
"COPTIONS=$(COPTIONS_mach_gnu)" \
"SYSLIBS=$(SYSLIBSshr_mach_gnu)" \
"SHAREDEXT=$(SHAREDEXT_mach)" \
"LDOPTIONS=$(LDOPTIONSlibcdf_mach)" \
"AROPTIONS=$(AROPTIONS_mach)" \
"RANLIB=$(RANLIB_mach)" \
all
	@cd $(TOOLSsrcDIR); $(MAKE) \
"CURSES=$(CURSES_mach_gnu)" \
"CCx=$(CC_mach_gnu)" \
"COPTIONS=$(COPTIONS_mach_gnu)" \
"COPTIONSld=$(COPTIONSld_mach_gnu)" \
"SYSLIBS=$(SYSLIBSexe_mach_gnu)" \
"CURSESLIB=$(CURSESLIB_mach_gnu)" \
all
	@cd $(TESTSsrcDIR); $(MAKE) \
"FORTRAN=$(FORTRAN)" \
"FCx=$(FC_mach)" \
"CCx=$(CC_mach_gnu)" \
"SHARED=$(SHARED_mach)" \
"FOPTIONS=$(FOPTIONS_mach)" \
"FOPTIONSld=$(FOPTIONSld_mach)" \
"COPTIONS=$(COPTIONS_mach_gnu)" \
"COPTIONSld=$(COPTIONSld_mach_gnu)" \
"SYSLIBS=$(SYSLIBSexe_mach_gnu)" \
"SHAREDEXT=$(SHAREDEXT_mach)" \
all

#------------------------------------------------------------------------------
# QNX.
#------------------------------------------------------------------------------

all.qnx.ccwat: note1.1st all.qnx.ccwat.build

all.qnx.ccwat.build:
	@cd $(LIBsrcDIR); $(MAKE) \
"SHARED=$(SHARED_qnx)" \
"PIC=$(PIC_qnx_ccwat)" \
"CCx=$(CC_qnx_ccwat)" \
"LDx=$(LD_qnx_ccwat)" \
"COPTIONS=$(COPTIONS_qnx_ccwat)" \
"SYSLIBS=$(SYSLIBSshr_qnx_ccwat)" \
"SHAREDEXT=$(SHAREDEXT_qnx)" \
"LDOPTIONS=$(LDOPTIONSlibcdf_qnx)" \
"AROPTIONS=$(AROPTIONS_qnx)" \
"RANLIB=$(RANLIB_qnx)" \
all
	@cd $(TOOLSsrcDIR); $(MAKE) \
"CURSES=$(CURSES_qnx_ccwat)" \
"CCx=$(CC_qnx_ccwat)" \
"COPTIONS=$(COPTIONS_qnx_ccwat)" \
"COPTIONSld=$(COPTIONSld_qnx_ccwat)" \
"SYSLIBS=$(SYSLIBSexe_qnx_ccwat)" \
"CURSESLIB=$(CURSESLIB_qnx_ccwat)" \
all
	@cd $(TESTSsrcDIR); $(MAKE) \
"FORTRAN=$(FORTRAN)" \
"FCx=$(FC_qnx)" \
"CCx=$(CC_qnx_ccwat)" \
"SHARED=$(SHARED_qnx)" \
"FOPTIONS=$(FOPTIONS_qnx)" \
"FOPTIONSld=$(FOPTIONSld_qnx)" \
"COPTIONS=$(COPTIONS_qnx_ccwat)" \
"COPTIONSld=$(COPTIONSld_qnx_ccwat)" \
"SYSLIBS=$(SYSLIBSexe_qnx_ccwat)" \
"SHAREDEXT=$(SHAREDEXT_qnx)" \
all

#------------------------------------------------------------------------------
# Show settings.
#------------------------------------------------------------------------------

show: show.$(OS).$(ENV)

show.sunos.bsd: show.supported
show.sunos.bsd5: show.supported
show.sunos.sysV: show.supported
show.sunos.gnu: show.supported
show.sunos.gnu5: show.supported
show.solaris.bsd: show.supported
show.solaris.bsd5: show.supported
show.solaris.sparc: show.supported
show.solaris.sparc64: show.supported
show.solaris.sysV: show.supported
show.solaris.gnu: show.supported
show.solaris.gnu64: show.supported
show.solaris.gnu5: show.supported
show.solaris.gnu5_64: show.supported
show.solaris.gnu-64: show.supported
show.ultrix.risc: show.supported
show.ultrix.gnu: show.supported
show.mach.next: show.supported
show.mach.macosx: show.supported
show.mach.gnu: show.supported
show.hpux.std: show.supported
show.hpux.opt: show.supported
show.hpux.posix: show.supported
show.hpux.gnu: show.supported
show.aix.ibm: show.supported
show.aix.gnu: show.supported
show.osf.dec: show.supported
show.osf.gnu: show.supported
show.osf.dec64: show.supported
show.osf.gnu64: show.supported
show.irix34.sgi: show.supported
show.irix34.gnu: show.supported
show.irix5.sgi: show.supported
show.irix5.gnu: show.supported
show.irix6.sgi32: show.supported
show.irix6.sgin32: show.supported
show.irix6.sgi64: show.supported
show.irix6.gnu: show.supported
show.qnx.gnu: show.notsupported
show.linux.gnu: show.supported
show.linux.gnu64: show.supported
show.breebsd.gnu: show.supported
show.cygwin.gnu: show.supported
show.mingw.gnu: show.supported
show.posix.vax: show.supported
show.posix.alphaD: show.supported
show.posix.alphaG: show.supported
show.posix.alphaI: show.supported

show.supported:
	@echo SHARED is $(SUPPORTED.$(SHARED_$(OS)))
	@echo CURSES is $(SUPPORTED.$(CURSES_$(OS)_$(ENV)))
	@echo FOPTIONS=$(FOPTIONS_$(OS))
	@echo FOPTIONSld=$(FOPTIONSld_$(OS))
	@echo SHAREDEXT=$(SHAREDEXT_$(OS))
	@echo LDOPTIONSlibcdf=$(LDOPTIONSlibcdf_$(OS))
	@echo RANLIB=$(RANLIB_$(OS))
	@echo FCx=$(FC_$(OS))
	@echo CCx=$(CC_$(OS)_$(ENV))
	@echo PIC=$(PIC_$(OS)_$(ENV))
	@echo COPTIONS=$(COPTIONS_$(OS)_$(ENV))
	@echo COPTIONSld=$(COPTIONSld_$(OS)_$(ENV))
	@echo CURSESLIB=$(CURSESLIB_$(OS)_$(ENV))
	@echo SYSLIBSexe=$(SYSLIBSexe_$(OS)_$(ENV))
	@echo SYSLIBSshr=$(SYSLIBSshr_$(OS)_$(ENV))

show.notsupported:
	@echo Sorry, \`make show\' is not available on this machine.

#------------------------------------------------------------------------------
# Warning messages.
#------------------------------------------------------------------------------

note1.1st:
	@cat Note.1st

note1.noCC:
	@cat Note.noCC

note1.solaris:
	@cat Note.solaris

note1.macx.no:
	@cat Note.MacX

note1.macx.yes:
	@$(NOOP)
