summaryrefslogtreecommitdiff
path: root/lib/make/make.thornlib
Commit message (Collapse)AuthorAge
* Add configuration options allowing moving all object files into the executableeschnett2012-10-28
| | | | | | | | | | | Add configuration options allowing people to ensure that all thorn source files make it into the executable. Among other things, this ensures that each routine has a unique name. This is disabled by default. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4899 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Move MPI support from flesh to a thorneschnett2012-07-21
| | | | | | | | | | | | | | | | Move MPI support from flesh to thorn ExternalLibraries/MPI. This also requires thorns that call MPI directly to declare this in their configuration.ccl. Existing configurations using MPI need to include ExternalLibraries/MPI into their thorn list. * Declare that the flesh optionally uses MPI (because it needs to call MPI_Init) * Update test case mechanism to find out whether MPI is used * Handle configuration bindings for flesh * Don't special-case Crays any more when configuring Linux git-svn-id: http://svn.cactuscode.org/flesh/trunk@4847 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Changes for ticket #768sbrandt2012-06-18
| | | | | | | | Change per thorn -DTHORN_IS_xxx to a per thorn -I bindings/include/xxx git-svn-id: http://svn.cactuscode.org/flesh/trunk@4839 17b73243-c579-4c4c-a9d2-2d5706c11dac
* - fix several issues with recent VERBOSE changeknarf2011-10-04
| | | | | | | - re-introduce SILENT=no to set VERBOSE=yes, for some time git-svn-id: http://svn.cactuscode.org/flesh/trunk@4740 17b73243-c579-4c4c-a9d2-2d5706c11dac
* fix issue #586: bashisms, and uppercase VERBOSE=YES, as well as a couple of ↵knarf2011-09-28
| | | | | | minor cosmetics issues git-svn-id: http://svn.cactuscode.org/flesh/trunk@4739 17b73243-c579-4c4c-a9d2-2d5706c11dac
* remove bashisms and unnecessary curly bracesknarf2011-09-28
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4738 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Replace the SILENT option with a VERBOSE option (of opposite meaning). Defaultknarf2011-09-27
| | | | | | | | | is still VERBOSE=no, but this now actually produces a lot less output: almost no "cosmetic" lines (only ---), and no messages for pre- and postprocessing anymore. Add VERBOSE=yes to get the old beavior of SILENT=no. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4737 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Decrease the maximum linker command line length on AIX to 200,schnetter2008-04-09
| | | | | | | increase it on all other systems to 10000. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4481 17b73243-c579-4c4c-a9d2-2d5706c11dac
* patch from Erik Schnetter to work around an 'argument list too long' problemtradke2008-01-22
| | | | | | | | during the generation of libCactusBindings.a on an IBM SP5 machine (see http://www.cactuscode.org/old/pipermail/developers/2007-December/005479.html as the corresponding email discussion thread) git-svn-id: http://svn.cactuscode.org/flesh/trunk@4446 17b73243-c579-4c4c-a9d2-2d5706c11dac
* configuration.ccl fix. Please test and report if anything breaksyye002005-08-16
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4109 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Use $(BINDINGS_DIR) to point to a bindings configuration make.configuration.defntradke2004-05-17
| | | | | | | file for a thorn. git-svn-id: http://svn.cactuscode.org/flesh/trunk@3736 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Implementation of configuration.ccl spec from Yaakoub Y El-Khamra.goodale2004-03-26
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@3602 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Pass list of "used" (i.e. depending-on) thorns so that makeschnetter2004-01-19
| | | | | | | dependencies can be automatically resolved. git-svn-id: http://svn.cactuscode.org/flesh/trunk@3533 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Remove /./ from make outputschnetter2004-01-11
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@3497 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Output the dividers during the build stage after each step instead before,schnetter2003-10-13
| | | | | | | | so that they are printed before make checks the dependencies, which can take quite some time. git-svn-id: http://svn.cactuscode.org/flesh/trunk@3429 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Delete some "Remove in beta 12" code.rideout2002-09-27
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@3011 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Changing name of make variable used to pass make target to submakes to ↵goodale2001-06-13
| | | | | | | | | | | | CCTK_TARGET as TARGET seems to conflict with an environment variable used by the compilers on the T3E. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@2230 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Several inter-twined changes: -goodale2001-05-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make system now looks in bindings/build/$(THORN)/make.code.defn for additional objects to be built and linked into a library. The CST puts a file cctk_ThornBindings.c into this directory. This should solve the empty library problem - PR 638. The interface to the internal routine CCTKi_RegisterThorn has changed. The new file created by the CST uses the correct new syntax, ands passes information about ancestors and friends into the flesh. Hence the commit of two separate things in one commit, as the both changes require a -rebuild. Please do a make <config>-rebuild or your code will not compile. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@2199 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Tidying up some cruft.goodale2001-05-20
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@2197 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Adding RANLIBFLAGS to pass arguments to ranlib. Default is "cs".goodale2001-05-14
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@2180 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Fixing bug introduced by my previous commit whereby the object files forgoodale2001-05-13
| | | | | | | | | a thorn's main src directory were added twice to the archive. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@2178 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Added optional use of ranlib to create archoive indices.goodale2001-05-11
| | | | | | | | | | A known-architecture file or the config line can now set USE_RANLIB=yes to have the make system use ranlib. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@2174 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Changed so that make.subdir is used for building all user-supplied files.goodale2001-05-09
| | | | | | | | | | Optimised a bit so libs and executable are only rebuilt if a source file/header has really changed. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@2158 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Only need to use dependencies for local objects in the rule, as the restgoodale2000-12-07
| | | | | | | | | | | | of the dependencies will be dealt with by the recursive make into subdirectories. This fixes PR 177. Thanks to Erik for pointing out the fix. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@1912 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Change to allow files with the same basename but differnt languages to begoodale1999-09-10
| | | | | | | | | | | | | | | | | | | | | | allowed in a thorn. This also makes the names of the dependency files unique, so should also solve PR CCTK/75. You will need to do a <config>-config after this, or do cp lib/make/make.config.rules.in configs/<config>/config-data/make.config.rules in order for everything to work again. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@894 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Adding a couple of MKDIRFLAGS that I had missedallen1999-09-09
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@891 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Adding $MKDIRFLAGS needed for NTallen1999-09-07
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@883 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Now "packages" are called "arrangements"allen1999-07-30
| | | | | | | Everything should work again (!) git-svn-id: http://svn.cactuscode.org/flesh/trunk@839 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Protected the SUBDIRS variable against make.code.defn files in the ↵goodale1999-04-10
| | | | | | | | | | | | | subdirectories overwriting this. Put packages subdirectory on include path. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@463 17b73243-c579-4c4c-a9d2-2d5706c11dac
* changed a mkdir to a $(MKDIR)allen1999-03-10
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@393 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Changed the way include files are handled slightly. This shouldgoodale1999-02-27
| | | | | | | | | | shorten some include paths, and allows us to add system include paths like the path to mpi.h easily. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@352 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Checks for the existence of a library before trying to delete it !goodale1999-02-04
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@210 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Now deletes an archive before updating it, as otherwise weirdgoodale1999-02-04
| | | | | | | | | things were happening. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@204 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Now preprocesses c files into the appropriate build directory, thengoodale1999-01-22
| | | | | | | | | | | | | changes directory to $(TOP)/scratch and builds the file there, putting the object file in the appropriate build directory. When this is done for F90 it should mkae sure that all module files end up in one place and are available for the F90 compiler. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@107 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Added dependencies for the source files.goodale1999-01-22
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@105 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Now passes through defines to the preprocessor to allow the parameters to work.goodale1999-01-22
| | | | | | | | | | | | | | | | | | | | | | | | | Now all you need to do is #include "config.h" and #include "cctk_parameters.h" at the top of your c source file, and then state DECLARE_PARSER at the top of any subroutine where you want to use the parameters. Note that the flesh should use the getparameter subroutine, rather than this method, otherwise it may need to be recompiled whenever someone adds a public parameter. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@104 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Changed name of main library to libCactus.a .goodale1999-01-19
| | | | | | | | | | | | | Unified rules for making libraries. Slight cosmetic change to make.thornlib - now states whether it is creating or whether it is updating the library, rather than just saying 'Creating or Updating' . Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@76 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Changed siniclude to -include, as older versions of gmake don't recognisegoodale1999-01-19
| | | | | | | | | sinclude. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@70 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Changed some include statement to sinclude to prevent extraneous warninggoodale1999-01-19
| | | | | | | | | | | | messages. Now the presence of make.code.deps in a thorn's directory or subdirectories is optional. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@68 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Now make will recurse into subdirectories of a thorn.goodale1999-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | In your make.code.defn file put lines SRCS = <sources in this directory> SUBDIRS= <all subdirectories - e.g. what find . -type d would give you> then in each subdirectory put a make.code.defn containing SRCS = <sources in this directory> (N.B. you cannot currently put a SUBDIRS line here) along with make.code.deps files in all the directories. Make will then go into the relevant subdirectory and make the object files there before updating the library file. The first time it does this you will get errors of the form cannot find <subdir-name>/make.identity you should ignore these errors, as the make system then creates the files. If I find a way to do this without the errors, I'll be happy 8-) The files are used to keep track of the subdirectory filenames. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@66 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Added rules to make make.thornlist and ActiveThornsgoodale1999-01-18
| | | | | | | | | | | | | | | Currently these rules don't do anything other than make the files if they don't exist. Put @'s in front of the echos in make.configuration. Commented out $(RANLIB) line in make.thornlib - it didn't seem to do the correct thing under irix, and irix,osf and linux ar take the -s flag anyway. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@65 17b73243-c579-4c4c-a9d2-2d5706c11dac
* New make system.goodale1999-01-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To build a configuration <conf> do make <conf> if <conf> doesn't exist you'll get a complaint make by itself will list existing configurations, or run the setup perl script if there are none. make config will make a new configuration make help should list all options make tags will create a Vi style tags file make TAGS will create an Emacs style TAGS file make distclean will nuke your build directory. When setting up a configuration the make system creates the following directories $(CCTK_HOME)/build $(CCTK_HOME)/build/$(config) $(CCTK_HOME)/build/$(config)/config-data $(CCTK_HOME)/build/$(config)/lib $(CCTK_HOME)/build/$(config)/build and runs autoconf in the config-data directory. You then need to create a file make.thornlist containing one line of the form THORNS=toolkit1/thorn1 toolkit3/thorn45 ... in the config-data directory. (This will be automatically created from ActiveThorns later.) At that point you should be fine for making the system. Note that it doesn't preprocess the files yet, nor in fact touch any of the ccl scripts. This is coming to a make system near you soon... Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@62 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Start of the new make system.goodale1999-01-16
Rely on a directory structure like arch/config-stuff arch/lib arch/build/<thorn1> arch/build/<thorn2> etc and files called make.config.defn, make.config.deps, make.config.rules in the config-stuff directory. make.config.defn should contain the normal make variables defining compilers and compiler flags, etc, plus TOOLKIT_DIR - the directory containing the toolkit sources CCTK_LIBDIR - arch/lib in the above example BUILD_DIR - arch/build in the above example EXE - the name of the executable THORNS - the names of the thorns, including toolkits - e.g CCTK/pugh CCTK/io, etc. (I'll probably move this one out to another file.) make.config.rules should contain rules to make object files from source files, e.g. %.o: $(SRCDIR)/%.c $(CC) $(CFLAGS) -c -o $@ $< $(addprefix -I, $(INC_DIRS)) etc. Then you invoke make.configuration with make -f make.configuration TOP=<directory containing the build tree - arch> MAKE_DIR=<directory containing make.thornlib> and the thorns should get built. Still need to add stuff for building flesh, and to take in flesh include files, etc. Need to do autoconf stuff to automagically create make.config.defn. Need the perl configuration stuff. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@60 17b73243-c579-4c4c-a9d2-2d5706c11dac