Commit Graph

98 Commits

Author SHA1 Message Date
4d5d61bbeb wmakeFunctions: Added '()' to depToSource definition
Patch contributed by Bruno Santos
Resolves bug-report http://bugs.openfoam.org/view.php?id=2144
2016-07-09 20:45:46 +01:00
3e3cd4bc42 wmake: Simplified handling of '-j' option to sub-processes 2016-07-09 14:22:29 +01:00
8b4163d797 wmakeLnIncludeAll: Add '-update' option 2016-07-09 14:22:14 +01:00
83c7d16a0d wmakeLnInclude: Minor simplifications and reformatting 2016-07-09 14:21:44 +01:00
c8d26992ad wmakeCollect: Use 'mktemp' to create the temporary Makefiles
to avoid file names which are two long for the standard GNU/Linux file systems.
2016-07-09 14:20:31 +01:00
36f1016f31 wmakeFunctions: Added a faster bash version of 'depToSource' 2016-07-09 14:19:47 +01:00
af5e1cc4cd wmakeCollect: Create the makefiles in the platforms directory 2016-07-09 09:59:46 +01:00
267640002f wmakeLnIncludeAll: 'sync' does not guarantee synchronization of the links
A simple 'sleep' is more reliable.
2016-07-08 16:35:40 +01:00
c074cfc3ff wmakeLnIncludeAll: Improved messages 2016-07-08 14:02:57 +01:00
0cfd1adbd0 wmake: Improve messages from wclean, wrmdep and wmakeLnIncludeAll 2016-07-08 10:57:08 +01:00
d16324bf44 wmakeLnIncludeAll: When running parallel wait for the wmakeLnInclude jobs to complete
then synchronize the file system to ensure all links are flushed before
compilation starts
2016-07-08 08:22:28 +01:00
ff7a216a58 AllwmakeParseArguments: Filter-out '-q' option to avoid recusion 2016-07-07 16:22:08 +01:00
553abf615b wmakeLnIncludeAll: Now a bash script
Uses the 'wait -n' builtin to avoid the use of non-POSIX 'sleep' commands
2016-07-07 12:09:49 +01:00
922785d9cf wmakePrintBuild -check: exit 0 if not a git repository 2016-07-05 21:50:34 +01:00
98d5ee3b33 wmakeCollect: Name the object makefiles based on the object path
Ensures the order of compilation relates to the location of the source files
2016-07-05 14:53:26 +01:00
e20c1ac61f wmakeCollect: Support simultaneous builds of different target architectures or compilers 2016-07-05 10:24:08 +01:00
0bc8286845 wmake: execute wmakeLnIncludeAll once with options 'queue' and 'update' 2016-07-05 07:54:45 +01:00
276eb1a31b AllwmakeParseArguments: Moved all parallel processing options into wmake
and added support for queue scheduling option '-q', '-queue'

Now the 'Allwmake' scripts execute 'wmake -all' to handle parallel
processing in a general way, avoiding code duplication.
2016-07-04 22:30:20 +01:00
23877413f3 wmakeLnIncludeAll: Corrected type 2016-07-04 10:27:43 +01:00
911e424515 wmakeLnIncludeAll: Use 'wait -n' rather than and arbitrary 'sleep' when limiting the number of jobs 2016-07-04 09:39:28 +01:00
d88db62106 wmake: use the new parallel wmakeLnIncludeAll option if WM_NCOMPPROCS is set 2016-07-03 23:11:16 +01:00
f23b2581e9 wmakeCollect: Experimental scheduler for wmake to speed-up parallel compilations
wmakeCollect collects the compilation commands for the all of the object
files to be compiled into a single makefile which is passed to make to
schedule the compilations in parallel efficiently.

Before wmakeCollect can be called the lnInclude directories must be
up-to-date and after wmakeCollect the linkage stage of the compilation
must executed using wmake.

This entire process is now handled by wmake using the new '-queue' or
'-q' option to compile sections of the OpenFOAM source tree or the
entire tree efficiently.  The number of cores the compilation executes
on may be specified either using the WM_NCOMPPROCS variable or the '-j'
option.

To efficiently compile OpenFOAM after a 'git pull' the '-update' option
is provided which updates lnInclude directories, dep files and removes
deprecated files and directories.  This option may be used with '-q':

    wmake -q -update
2016-07-03 22:55:16 +01:00
7433ce8f7f wmakeLnIncludeAll: Added -j option for parallel operation 2016-07-03 22:22:00 +01:00
f29bc66073 wmake/rules/General: Add support for WM_SCHEDULER to the compilation of lex, yacc and moc files 2016-07-03 22:21:02 +01:00
2cb97ec2ef wmake/Allwmake: Completed support for targetType 'objects'
Patch contributed by Mattijs Janssens
2016-06-24 15:25:11 +01:00
35e6c03eab foamyMesh: Simplify support for system CGAL installation 2016-06-21 19:47:46 +01:00
9321273c26 wclean all: if an Allclean script exists in sub-directories execute otherwise execute wclean
Resolves bug-report http://bugs.openfoam.org/view.php?id=2125
2016-06-20 10:05:23 +01:00
3ff44bc2d1 wmake/scripts/wmakeFunctions: Add support for $WM_PROJECT_DIR being a link 2016-06-15 14:22:33 +01:00
07e5f2831b Allwmake -update: Further improvements to handle source-tree/dep file inconsistencies after git pull
Patch contributed by Bruno Santos
Resolves bug-report http://bugs.openfoam.org/view.php?id=2091
2016-06-11 16:28:40 +01:00
95b0f41c0f wmake/rules/General/CGAL: lib -> lib64 on 64bit OSs
Patch contributed by Bruno Santos
Resolves patch request http://bugs.openfoam.org/view.php?id=2114
2016-06-09 14:34:26 +01:00
6316230df7 wmake/rules/linux64GccKNL: Optimized compilation options for the Knights Landing MIC processor 2016-06-04 10:13:22 +01:00
b68873d570 wmake/rules/linux64KNLIcc: Optimized compilation options the for Knights Landing MIC processor
Patch contributed by Paul Edwards, Intel
2016-06-03 15:29:14 +01:00
57f3ac2773 wrmdep: Now prints the full path of the .dep files removed 2016-05-21 17:19:07 +01:00
151631c5e4 Allwmake: improved '-update' option to handle out-of-date '.dep' files
Patch contributed by Bruno Santos
Resolves bug-report http://bugs.openfoam.org/view.php?id=2091
2016-05-16 12:21:57 +01:00
5510c7e62a wmake/rules/linux.*Icc: Remove -xHost option which causes surfaceFeatureExtract to fail for some cases 2016-04-25 22:29:22 +01:00
94e9b05edd applications/.*/Allwmake: Updated to support "stop on 1st error"
Patch contributed by Bruno Santos
Resolved bug-report http://www.openfoam.org/mantisbt/view.php?id=2042
2016-04-04 09:03:40 +01:00
fec34404a8 wmake/rules/linux64Clang/c++Opt: Removed temporary line 2016-04-03 14:46:45 +01:00
3ae3d04bb3 wmake/rules/linux64Icc: avoid uninteresting warning messages and change to -O3 2016-04-01 14:53:43 +01:00
6cc3b057ec wmake/src/Makefile: Override WM_COMPILE_OPTION with Opt for optimized compilation of the wmake utilities
Resolves bug-report http://openfoam.org/mantisbt/view.php?id=2021
2016-03-08 14:24:11 +00:00
f8056d28cb Update "wrmdep -update" to remove dead symbolic links
Patch provided by Bruno Santos
Resolved bug-report http://www.openfoam.org/mantisbt/view.php?id=2016
2016-03-06 19:13:45 +00:00
99c000fc94 Rationalized the indentation of C-preprocessor directives 2016-02-29 15:42:03 +00:00
fa0656c358 scripts: Reformat with consistent section separators 2016-02-15 18:30:24 +00:00
8446f25f1f wmake: Update comments 2016-01-24 14:37:39 +00:00
d138d0b949 wmake: Add support for compiler type default rules
which may be optionally overridden by version-specific rules.

For example the default rules for gcc on GNU/Linux x86_64 are in the
wmake/rules/linux64Gcc directory.  If there is a need to change any of
the rules for a specific version of gcc, e.g. gcc-4.8.4 the directory
wmake/rules/linux64Gcc48 may be created into which any of the language
files may be provided containing the rules to override the defaults.
2016-01-24 14:10:07 +00:00
fba6cd961a wmake/rules: Add -std=c++0x to formally enable support for of C++11 features
The c++0x is used rather than c++11 to support gcc-4.5.?
2016-01-10 19:17:31 +00:00
5defb3b751 wmake: General cleanup to improve consistency and maintainability
The Makefiles are now in the makefiles sub-directory

The "-f | -force" option in wmakeLnInclude is now "-u | -update" for
consistency with the other scripts.

The "Usage" entry in the headers is now consistently formatted in all
scripts.
2015-12-16 18:31:02 +00:00
947632531c Updated header 2015-12-15 15:40:06 +00:00
098e90de88 wmakeLnIncludeAll: Start messages with capital 2015-12-15 15:39:26 +00:00
01840651d4 Updated header 2015-12-15 15:39:19 +00:00
88e523aad6 wmakeLnInclude: Use xargs with find 2015-12-15 15:38:59 +00:00