mirror of
https://github.com/Unidata/netcdf-c.git
synced 2024-12-09 08:11:38 +08:00
106 lines
3.2 KiB
Makefile
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
|
|
|