###### v0.2c Makefile.conf.dl and Makefile.dl are now both generated. Makefile itself is generation independent, though you may need to set MAKE=gmake in it if you're not on a default gmake system. At present we require gnu make. ###### v0.2b We're transitioning to configure. Presently Makefile.conf is still fully manual, but Makefile.dl is generated. Once all the stuff is defined in configure.in, we'll generate Makefile.conf. ###### v 0.2 Makefile.conf is here in lieu of a configure script for now. It contains what is purported to be all of the external configurations that the user has to define before this will build. Most of these are "home" or _ROOT variables that indicate where external dependencies are. The c++ makefile pattern is: Makefile - stuff to build in a local directory, typically including a relative path definition of the local package root like CCAFE_HOME= ../.. and its local Makefile.Rules {e.g. "include $(CCAFE_HOME)/Makefile.Rules"} Makefile.conf (aka make.options in isis) - stuff at the top of a local tree for local consumption, typically stuff for future configure scripts, e.g. MPI_ROOT, CCA_ROOT, ESI_ROOT ISIS_ROOT, JAVA_HOME gets defined here. Every package defines these ROOTs independently (and redundantly, sigh). Makefile.Rules - at top of a local tree for local consumption only, but definitions are independent of the directory location within the local tree. This is where you include *another* package's MakeIncl.* file. MakeIncl.* - for external consumption primarily. Requires the outside environment or an outer scope Makefile.conf to have a definition for _ROOT and then provides absolute path definitions. Also provides defines for including headers {e.g. _INC= -I$(_ROOT)/...} and for linking {e.g. FOO_LIB= $(FOO_ROOT)/lib/libFoo.a} Note MakeIncl.*_Component probably shouldn't be included in the same local Makefile.Rules, but might be included in a directory Makefile which builds test executables. I consider the following packages for ccaffeine purposes: copper/esi copper/isis dccafe cca-spec01 viz-stv mpich java ###### v 0.1 Makefile.conf is here in lieu of a configure script for now. It contains what is purported to be all of the external configurations that the user has to define before this will build. Most of these are "home" variables that indicate where the Java distribution is and where the CCA distribution is and so on. These can be set by directly editing the Makefile.conf or by setting the the corresponding environment variables. The former has a tendency to end up getting checked in, which is very bad; The latter has a tendency to F*** up ones builds in environments carrying multiple versions of java,mpi,cca. Which is worse?