netcdf-c/fortran/Makefile.am

106 lines
3.2 KiB
Makefile

## This is an automake file, part of Unidata's netCDF package.
# Copyright 2005, see the COPYRIGHT file for more information.
## This file controls the building of the fortran convenience library.
# $Id: Makefile.am,v 1.60 2010/05/29 00:21:22 dmh Exp $
AM_CPPFLAGS = -I$(top_srcdir)/include
AM_LDFLAGS = #@EXTERN_LDFLAGS@
# May need to set these.
libnetcdff_la_LIBADD = $(top_builddir)/liblib/libnetcdf.la
libnetcdff_la_LDFLAGS = $(AM_LDFLAGS)
# 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
netcdf_f77.3: $(top_srcdir)/man4/netcdf.m4
m4 $(M4FLAGS) $(ARGS_MANPAGE) $? >$@ || rm $@
# 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 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
# 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
# The fortran-77 library may be build stand-alone, or as part of the C
# library.
if BUILD_SEPARATE_FORTRAN
lib_LTLIBRARIES = libnetcdff.la
libnetcdff_la_LDFLAGS += -version-number 5:1:0
else
noinst_LTLIBRARIES = libnetcdff.la
endif # BUILD_SEPARATE_FORTRAN
# Turn on some special flags for building DLL.
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
# 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
# These files need to be cleaned up my make.
CLEANFILES = nfconfig1.inc netcdf.inc
DISTCLEANFILES = nfconfig.inc