## This is an automake file, part of Unidata's netCDF package.
# Copyright 2005-2011, see the COPYRIGHT file for more information.

# This file controls the building of the fortran convenience library.
# The library we are building.
lib_LTLIBRARIES = libnetcdff.la
libnetcdff_la_LDFLAGS = $(AM_LDFLAGS) -version-number 5:3:1

# Turn on some special flags for building DLL.
AM_CPPFLAGS = -DDLL_EXPORT
if BUILD_DLL
AM_CPPFLAGS += -DDLL_EXPORT
libnetcdff_la_LDFLAGS += -no-undefined -Wl,--output-def,netcdffdll.def
endif # BUILD_DLL

# If F90 is built, include it's convenience library.
if BUILD_F90
libnetcdff_la_LIBADD = ${top_builddir}/f90/libnetcdff90.la
nodist_EXTRA_libnetcdff_la_SOURCES = dummy.f90
endif

# These are the source files for the fortran library.
libnetcdff_la_SOURCES = fort-attio.c fort-control.c fort-dim.c		\
fort-genatt.c fort-geninq.c fort-genvar.c fort-lib.c fort-misc.c	\
fort-v2compat.c fort-vario.c fort-var1io.c fort-varaio.c fort-varmio.c	\
fort-varsio.c cfortran.h fort-lib.h ncfortran.h

# Tell make to rebuld fortran library if nfconfig.inc has changed
# (it's generated by the configure script from nfconfig.in), or if
# netcdf.inc has changed.
libnetcdff_la_DEPENDENCIES = nfconfig.inc netcdf.inc 

# Is the user building netCDF-4?
if USE_NETCDF4
# All netCDF-4 F77 functions are in one code file.
libnetcdff_la_SOURCES += fort-nc4.c
endif

# Tell make to install this as a header file.
nodist_include_HEADERS = netcdf.inc

# The include file and man page are both built by make.
BUILT_SOURCES = netcdf.inc netcdf_f77.3

netcdf.inc: netcdf2.inc netcdf3.inc netcdf4.inc nfconfig.inc
	echo '!     NetCDF-3.' > netcdf.inc
	cat @top_srcdir@/fortran/netcdf3.inc >> netcdf.inc
if BUILD_V2
	echo >> netcdf.inc
	echo '!     NetCDF-2.' >> netcdf.inc
	cat @top_srcdir@/fortran/netcdf2.inc >> netcdf.inc
endif
if USE_NETCDF4
	echo >> netcdf.inc
	echo '!     NetCDF-4.' >> netcdf.inc
	cat @top_srcdir@/fortran/netcdf4.inc >> netcdf.inc
endif
if USE_LOGGING
	echo >> netcdf.inc
	echo '!     This is to turn on netCDF internal logging.' >> netcdf.inc
	echo '      integer nf_set_log_level' >> netcdf.inc
	echo '      external nf_set_log_level' >> netcdf.inc
endif

# The F77 API man page.
man_MANS = netcdf_f77.3

# This rule generates the F77 manpage.
ARGS_MANPAGE = -DAPI=FORTRAN
if USE_NETCDF4
ARGS_MANPAGE += -DNETCDF4=TRUE
endif
if BUILD_DAP
ARGS_MANPAGE += -DDAP=TRUE
endif
if BUILD_PARALLEL
ARGS_MANPAGE += -DPARALLEL_IO=TRUE
endif

# The nfconfig.in file is turned into nfconfig.inc by the configure
# script. The man page is generated on the developers machine for the
# dist.
EXTRA_DIST = nfconfig.in $(man_MANS) netcdf2.inc netcdf3.inc	\
netcdf4.inc netcdf_f.h

# These files need to be cleaned up my make.
CLEANFILES = nfconfig1.inc netcdf.inc
DISTCLEANFILES = nfconfig.inc