diff options
Diffstat (limited to 'config/commence.in')
-rw-r--r-- | config/commence.in | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/config/commence.in b/config/commence.in index 503fa0d..26cbfbc 100644 --- a/config/commence.in +++ b/config/commence.in @@ -23,12 +23,73 @@ INSTALL_PROGRAM=@INSTALL_PROGRAM@ INSTALL_DATA=@INSTALL_DATA@ # Installation points +ROOT=@ROOT@ prefix=@prefix@ exec_prefix=@exec_prefix@ bindir=@bindir@ libdir=@libdir@ includedir=@includedir@ +# The default is to build the library and programs. +all: lib progs + +# The following rules insure that the Makefile is up-to-date by rerunning +# various autoconf components (although not all versions of make assume +# that the makefile is implicitly a target). We use time stamp files to +# keep track of the most recent update of H5config.h.in and H5config.h +# because autoheader and config.status don't update the modification time +# if the contents don't change. +# +# Graphically, the dependencies are: +# +# configure.in +# | | +# +--------------------+ +-------------------+ +# | | +# stamp1 configure +# | | +# | config.status +# | | | +# | +-------------------------------------+ | +# | | | +# stamp2 Makefile.in | +# | | | +# | +-----------+ +------+ +# +-----------------------------+ | | +# | | | +# Makefile +# +# A side effect of updating stamp1 is to generate H5config.h.in and a +# side effect of updating stamp2 is to generate H5config.h. When using +# a version of make that doesn't treat the makefile as the initial target +# the user may want to occassionally type `make Makefile' in any source +# directory. +# +STAMP1=$(ROOT)/config/stamp1 +STAMP2=$(ROOT)/config/stamp2 + +MAKEFILE_PARTS=$(ROOT)/config/commence.in Makefile.in \ + $(ROOT)/config/conclude.in $(ROOT)/config/depend.in + +$(STAMP1): $(ROOT)/configure.in + -(cd $(ROOT); \ + touch $(STAMP1); \ + autoheader) + +$(STAMP2): $(STAMP1) $(ROOT)/config.status + -(cd $(ROOT); \ + touch $(STAMP2); \ + CONFIG_FILES= CONFIG_HEADERS=src/H5config.h ./config.status) + +$(ROOT)/configure: $(ROOT)/configure.in + -(cd $(ROOT); autoconf) + +$(ROOT)/config.status: $(ROOT)/configure + -(cd $(ROOT); ./config.status --recheck) + +Makefile: $(MAKEFILE_PARTS) $(ROOT)/config.status $(STAMP2) + -(cd $(ROOT); CONFIG_HEADERS= ./config.status) + #------------------------------------------------------------------------------ # The following section of this makefile comes from the middle of `Makefile.in' # from this directory. It was generated by running `config.status'. |