## This is a automake file, part of Unidata's netCDF package. # Copyright 2005-2018, see the COPYRIGHT file for more information. # This is the main automake file for netCDF. It builds the different # netcdf directories. Not all directories are built, depending on the # options selected during configure. # Ed Hartnett, Ward Fisher # Put together AM_CPPFLAGS and AM_LDFLAGS. include $(top_srcdir)/lib_flags.am # This directory stores libtool macros, put there by aclocal. ACLOCAL_AMFLAGS = -I m4 TESTS_ENVIRONMENT = TEST_EXTENSIONS = .sh #SH_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver-verbose #sh_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver-verbose #LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver-verbose #TESTS_ENVIRONMENT += export SETX=1; ## # Turn off plugin directory during distcheck, see # comment thread at https://github.com/Unidata/netcdf-c/pull/2348 # for more information. ## AM_DISTCHECK_CONFIGURE_FLAGS = --without-plugin-dir # These files get added to the distribution. EXTRA_DIST = README.md COPYRIGHT INSTALL.md test_prog.c lib_flags.am \ cmake CMakeLists.txt COMPILE.cmake.txt config.h.cmake.in \ cmake_uninstall.cmake.in FixBundle.cmake.in nc-config.cmake.in \ RELEASE_NOTES.md CTestConfig.cmake.in CTestCustom.cmake.in \ libnetcdf.settings.in netCDFConfig.cmake.in CMakeInstallation.cmake \ test-driver-verbose test_common.in fuzz CITATION.cff pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = netcdf.pc # Does the user want to build and run unit tests? if BUILD_UNIT_TESTS UNIT_TEST = unit_test endif # BUILD_UNIT_TESTS # Does the user want to build the V2 API? if BUILD_V2 V2_TEST = nctest endif # Does the user want to build ncgen/ncdump? if BUILD_UTILITIES NCGEN3 = ncgen3 NCGEN = ncgen NCDUMP = ncdump endif # Does the user want to build the examples? if BUILD_EXAMPLES EXAMPLES = examples endif # Is the user building netCDF-4? if USE_NETCDF4 LIBSRC4_DIR = libsrc4 endif # Is the user building with HDF5? # Note that USE_HDF5 does not imply USE_NETCDF4 if USE_HDF5 H5_TEST_DIR = h5_test LIBHDF5 = libhdf5 if USE_HDF5 NC_TEST4 = nc_test4 endif endif # Build the dap2 client if ENABLE_DAP OCLIB = oc2 DAP2 = libdap2 NCDAP2TESTDIR = ncdap_test endif if ENABLE_DAP4 DAP4 = libdap4 NCDAP4TESTDIR = dap4_test XML = libncxml endif #DAP4 if ENABLE_S3_INTERNAL XML = libncxml # Internal S3 requires XML endif #ENABLE_S3_INTERNAL # Build PnetCDF if USE_PNETCDF LIBSRCP = libsrcp endif # Build HDF4 if desired. if USE_HDF4 HDF4_TEST_DIR = hdf4_test LIBHDF4 = libhdf4 endif # Build Plugin support if ENABLE_PLUGINS NCPOCO = libncpoco endif # Build Cloud Storage if desired. if ENABLE_NCZARR ZARR_TEST_DIR = nczarr_test ZARR = libnczarr endif # Optionally build test plugins if ENABLE_PLUGINS PLUGIN_DIR = plugins endif # If benchmarks were turned on, build and run a bunch more tests. if BUILD_BENCHMARKS BENCHMARKS_DIR = nc_perf endif # BUILD_BENCHMARKS # Define Test directories if BUILD_TESTSETS TESTDIRS = $(H5_TEST_DIR) TESTDIRS += $(UNIT_TEST) $(V2_TEST) nc_test $(NC_TEST4) TESTDIRS += $(BENCHMARKS_DIR) $(HDF4_TEST_DIR) $(NCDAP2TESTDIR) $(NCDAP4TESTDIR) TESTDIRS += ${ZARR_TEST_DIR} endif # This is the list of subdirs for which Makefiles will be constructed # and run. ncgen must come before ncdump, because their tests # depend on it. SUBDIRS = include ${XML} libdispatch libsrc $(LIBSRC4_DIR) \ $(LIBSRCP) $(LIBHDF4) $(LIBHDF5) $(OCLIB) $(DAP2) ${DAP4} \ ${NCPOCO} ${ZARR} liblib \ $(NCGEN3) $(NCGEN) $(NCDUMP) ${PLUGIN_DIR} $(TESTDIRS) docs \ $(EXAMPLES) # Remove these generated files, for a distclean. DISTCLEANFILES = VERSION comps.txt test_prog libnetcdf.settings \ test_common.sh # The nc-config script helps the user build programs with netCDF. bin_SCRIPTS = nc-config # install libnetcdf.settings in lib directory. settingsdir = $(libdir) settings_DATA = libnetcdf.settings #### # Provide an entry to rebuild all the m4 generated files # List of files to create: WARNING leave off the extension #### MM4= ./nc_test/test_put ./nc_test/test_get ./nc_test/test_write \ ./nc_test/test_read ./libsrc/netcdf ./libsrc/putget ./libsrc/ncx \ ./libsrc/t_ncxx ./libsrc/attr mm4:: for m in ${MM4} ; do \ b=`basename $$m` ; d=`dirname $$m`;\ pushd $$d; m4 -s $${b}.m4 > $${b}.c ; popd; done check_nc_config: $(CC) `./nc-config --cflags` test_prog.c -o test_prog `./nc-config --libs` ./test_prog install-data-hook: @echo '' @echo '+-------------------------------------------------------------+' @echo '| Congratulations! You have successfully installed netCDF! |' @echo '| |' @echo '| You can use script "nc-config" to find out the relevant |' @echo '| compiler options to build your application. Enter |' @echo '| |' @echo '| nc-config --help |' @echo '| |' @echo '| for additional information. |' @echo '| |' @echo '| CAUTION: |' @echo '| |' @echo '| If you have not already run "make check", then we strongly |' @echo '| recommend you do so. It does not take very long. |' @echo '| |' @echo '| Before using netCDF to store important data, test your |' @echo '| build with "make check". |' @echo '| |' @echo '| NetCDF is tested nightly on many platforms at Unidata |' @echo '| but your platform is probably different in some ways. |' @echo '| |' @echo '| If any tests fail, please see the netCDF web site: |' @echo '| https://www.unidata.ucar.edu/software/netcdf/ |' @echo '| |' @echo '| NetCDF is developed and maintained at the Unidata Program |' @echo '| Center. Unidata provides a broad array of data and software |' @echo '| tools for use in geoscience education and research. |' @echo '| https://www.unidata.ucar.edu |' @echo '+-------------------------------------------------------------+' @echo '' # Create the VERSION file after the build # in case it is being used by packagers # Also track the S3 cleanup id all-local: liblib/libnetcdf.la echo ${PACKAGE_VERSION} > VERSION if ENABLE_S3_TESTALL rm -f ${abs_top_builddir}/tmp_@PLATFORMUID@.uids echo "@TESTUID@" >> ${abs_top_builddir}/s3cleanup_@PLATFORMUID@.uids cat ${abs_top_builddir}/s3cleanup_@PLATFORMUID@.uids | sort | uniq > ${abs_top_builddir}/tmp_@PLATFORMUID@.uids rm -f ${abs_top_builddir}/s3cleanup_@PLATFORMUID@.uids mv ${abs_top_builddir}/tmp_@PLATFORMUID@.uids ${abs_top_builddir}/s3cleanup_@PLATFORMUID@.uids endif if ENABLE_S3_TESTALL distclean-local: rm -f ${abs_top_builddir}/s3cleanup_@PLATFORMUID@.uids endif # Remove the VERSION file CLEANFILES = VERSION