summaryrefslogtreecommitdiffstats
path: root/src/Makefile.am
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2010-03-18 02:44:26 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2010-03-18 02:44:26 (GMT)
commit0a7809a659fd320e57c3efe96fce901d4cababfe (patch)
treec49aa00c13ead8e8e5e87b704524fe9a7735618d /src/Makefile.am
parent0ac03c78900404696ff2427556bc815adf56744c (diff)
downloadhdf5-0a7809a659fd320e57c3efe96fce901d4cababfe.zip
hdf5-0a7809a659fd320e57c3efe96fce901d4cababfe.tar.gz
hdf5-0a7809a659fd320e57c3efe96fce901d4cababfe.tar.bz2
[svn-r18415] Description:
Move the libhdf5.settings information out of src/H5Tinit.c and into a separate header file (src/H5lib_settings.h), which is generated at build time (not configure time) with the src/H5make_libsettings generator program. Tested on: Linux/32 2.6 (jam) Mac OS X/32 10.6.2 (amazon)
Diffstat (limited to 'src/Makefile.am')
-rwxr-xr-xsrc/Makefile.am20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index da81ee2..735cf9d 100755
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -26,7 +26,7 @@ include $(top_srcdir)/config/lt_vers.am
# Use -g to force no optimization since many compilers (e.g., Intel) takes
# a long time to compile it with any optimization on. H5detect is used
# to generate H5Tinit.c once. So, optimization is not critical.
-noinst_PROGRAMS = H5detect
+noinst_PROGRAMS = H5detect H5make_libsettings
H5detect_CFLAGS = -g $(AM_CFLAGS)
# Our main target, the HDF5 library
@@ -36,7 +36,7 @@ lib_LTLIBRARIES=libhdf5.la
libhdf5_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
# H5Tinit.c is a generated file, and should be cleaned.
-MOSTLYCLEANFILES=H5Tinit.c
+MOSTLYCLEANFILES=H5Tinit.c H5lib_settings.h
# H5pubconf.h is generated by configure, and should be cleaned.
DISTCLEANFILES=H5pubconf.h
@@ -127,13 +127,27 @@ settings_DATA=libhdf5.settings
# Things should have been all set during H5detect making.
# Remove the generated .c file if errors occur unless HDF5_Make_Ignore
# is set to ignore the error.
-H5Tinit.c: H5detect$(EXEEXT) libhdf5.settings
+H5Tinit.c: H5detect$(EXEEXT)
LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) | \
sed -e 's/-L/:/g' -e 's/ //g'`" \
$(RUNSERIAL) ./H5detect$(EXEEXT) > H5Tinit.c || \
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
($(RM) $@ ; exit 1)
+H5.o H5.lo: H5lib_settings.h
+
+# Build configuration header file generation
+# The LD_LIBRARY_PATH setting is a kludge.
+# Things should have been all set during H5make_libsettings making.
+# Remove the generated .h file if errors occur unless HDF5_Make_Ignore
+# is set to ignore the error.
+H5lib_settings.h: H5make_libsettings$(EXEEXT) libhdf5.settings
+ LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) | \
+ sed -e 's/-L/:/g' -e 's/ //g'`" \
+ $(RUNSERIAL) ./H5make_libsettings$(EXEEXT) > H5lib_settings.h || \
+ (test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
+ ($(RM) $@ ; exit 1)
+
# Error header generation
#
# Actually, H5Einit.h, H5Eterm.h, H5Edefin.h and H5Epubgen.h all