Difference between revisions of "Make Comparison"

From Biowiki
Jump to: navigation, search
m (Move page script moved page MakeComparison to Make Comparison: Rename from TWiki to MediaWiki style)
(Quick comparison of automated build tools & related frameworks)
 
Line 11: Line 11:
 
| [[GNUMake|GNU make]] || C   || [[File:TWikiDocGraphics.choice-yes.gif]] || no   || no   || no || (threads) || no || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]]   || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]]  
 
| [[GNUMake|GNU make]] || C   || [[File:TWikiDocGraphics.choice-yes.gif]] || no   || no   || no || (threads) || no || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]]   || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]]  
 
|-
 
|-
| [omake program omake] || C   || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || no   || no || ? || no || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]]   || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || no    
+
| [[OmakeProgram|omake]] || C   || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || no   || no || ? || no || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]]   || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || no    
 
|-
 
|-
| [distmake program distmake] ||  C   || [[File:TWikiDocGraphics.choice-yes.gif]] || no   || no   || no || [[File:TWikiDocGraphics.choice-yes.gif]] || sort of   || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]]   || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]]  
+
| [[DistmakeProgram|distmake]] ||  C   || [[File:TWikiDocGraphics.choice-yes.gif]] || no   || no   || no || [[File:TWikiDocGraphics.choice-yes.gif]] || sort of   || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]]   || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]]  
 
|-
 
|-
| [qmake program qmake] || C   || [[File:TWikiDocGraphics.choice-yes.gif]] || no   || no   || no || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]]   || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || not working yet  
+
| [[qmake program|qmake]] || C   || [[File:TWikiDocGraphics.choice-yes.gif]] || no   || no   || no || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]]   || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || not working yet  
 
|-
 
|-
 
| [http://makepp.sourceforge.net/ makepp] || Perl   || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || no   || [[File:TWikiDocGraphics.choice-yes.gif]]   || (threads) || no || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]]   || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]]  
 
| [http://makepp.sourceforge.net/ makepp] || Perl   || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || no   || [[File:TWikiDocGraphics.choice-yes.gif]]   || (threads) || no || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]]   || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]] || [[File:TWikiDocGraphics.choice-yes.gif]]  

Latest revision as of 13:13, 1 April 2017

Quick comparison of automated build tools & related frameworks

Changelog:

Tool Language Declarative MD5 triggers SQL hooks Extensible Parallelism SGE compatible Implemented Thriving Concise Practical GNU-compatible Tried it?
GNU make C TWikiDocGraphics.choice-yes.gif no no no (threads) no TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif
omake C TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif no no  ? no TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif no
distmake C TWikiDocGraphics.choice-yes.gif no no no TWikiDocGraphics.choice-yes.gif sort of TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif
qmake C TWikiDocGraphics.choice-yes.gif no no no TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif not working yet
makepp Perl TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif no TWikiDocGraphics.choice-yes.gif (threads) no TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif
Saps Modules Perl no no TWikiDocGraphics.choice-yes.gif no TWikiDocGraphics.choice-yes.gif no (PBS) TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif no (Perl) TWikiDocGraphics.choice-yes.gif no no
Post Make SQL/C TWikiDocGraphics.choice-yes.gif no TWikiDocGraphics.choice-yes.gif via Postgres  ? no TWikiDocGraphics.choice-yes.gif  ?  ?  ? no no
Apache Ant XML/Java TWikiDocGraphics.choice-yes.gif  ? no TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif no TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif no (XML) TWikiDocGraphics.choice-yes.gif no TWikiDocGraphics.choice-yes.gif
SCons Python TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif no TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif no TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif no TWikiDocGraphics.choice-yes.gif no TWikiDocGraphics.choice-yes.gif
Jam script/C TWikiDocGraphics.choice-yes.gif no no  ? TWikiDocGraphics.choice-yes.gif no TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif  ? TWikiDocGraphics.choice-yes.gif no no
Cook script/C TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif no  ? TWikiDocGraphics.choice-yes.gif no TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif  ? TWikiDocGraphics.choice-yes.gif no no
Ruby Make Ruby TWikiDocGraphics.choice-yes.gif no no TWikiDocGraphics.choice-yes.gif (threads) no TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif no TWikiDocGraphics.choice-yes.gif
Map Reduce C n/a n/a n/a n/a TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif no Google (+others?) TWikiDocGraphics.choice-yes.gif n/a not yet no no
Bio Make Prolog TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif no in theory TWikiDocGraphics.choice-yes.gif no no TWikiDocGraphics.choice-yes.gif no no no
Erlang make Erlang TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif no no no TWikiDocGraphics.choice-yes.gif no no, hypothetical (make.erl?) TWikiDocGraphics.choice-yes.gif n/a no no TWikiDocGraphics.choice-yes.gif
Termite Scheme make Scheme TWikiDocGraphics.choice-yes.gif TWikiDocGraphics.choice-yes.gif no no no TWikiDocGraphics.choice-yes.gif no no, hypothetical one guy n/a no no no
Taverna Java yes (GUI) no no no TWikiDocGraphics.choice-yes.gif  ? partially  ? no (XML) no no TWikiDocGraphics.choice-yes.gif
Ruffus Python TWikiDocGraphics.choice-yes.gif  ?  ? probably TWikiDocGraphics.choice-yes.gif early TWikiDocGraphics.choice-yes.gif ... TWikiDocGraphics.choice-yes.gif think so no hope to

Obviously some of the columns are very subjective. Here is an explanation of the meaning of some of them:

  • "Declarative" means that it uses concepts of Wikipedia:Declarative_programming
  • "SQL hooks" means that entries in relational database tables can be both targets and dependencies
  • "Parallelism" means built-in support for distributed processing (as opposed to being able to run multiple threads)
  • "MD5 triggers", "SQL hooks" and "Parallel" imply that the tool has such features built-in
    • as opposed to "Extensible" which means that it's possible to add such things
  • "Implemented" means that a "make"-type system is up & running in this framework
  • "Thriving" means that the framework itself is well-supported (so it can be true even if "Implemented" is false)
  • "Concise" is an unashamedly subjective call (let's just say that GNU make is, and XML isn't)
  • "Practical" means "practical for our purposes"

Miscellaneous notes

George Hartzell recommends Rose-DB as a Perl database interface.