c++ - GNU make - accelerate non-parallel makefile without modification -


i have project consisting of set of makefiles cannot run make --jobs=n because dependencies not specified tightly enough make correctly execute recipes in correct order (ie race conditions).

i using huddle, electric-cloud.com, , need: parses makefile , executes jobs in parallel , accounts unspecified dependencies.

question: there free or free-er thing this?

yes know re-write makefiles project management says "no way".

update #1

i understand i'll have some work functionality similar electric-cloud's functionality.

i know electric-cloud parses makefile(s) find dependencies wouldn't same thing accomplished using makedepend?

i'm thinking:

  1. run makedepend on existing makefiles
  2. feed in output using include <makedepend.output>
  3. make --jobs=64

update 2

turns out makedepend specific c/c++: merely runs pre-processor on source files , parses #include statements; not need.

i need guy asking for: build makefile dependency / inheritance tree

update 3

the makefile "dependency graph generator" exists

http://plindenbaum.blogspot.com/2012/11/visualizing-dependencies-of-makefile.html?m=1

but that's not going me.

many of recipes create directories used other targets' recipes, making them implicit prerequisites.

the graph dependency tool @ above url works parsing build log's statements statements don't indicate implicit dependencies.

even if try run makefile --dry-run, build fails because of recipes aren't executed - cause it's dry run - create directories other invocations of make need 'pretend execute' recipe.

update 4

electric-cloud has made huddle - 4 local cores, non-clustered - free forever. furthermore, output .xml file lists each job's dependencies can use fix makefiles compatible they're compatible --jobs option.

i using huddle, electric-cloud.com, , need: parses makefile , executes jobs in parallel , accounts unspecified dependencies.

i don't know these tools, can't provide them super makefile under control, clarifies inner dependencies of various targets?

you have add indirection level these (imported?) projects directory structure , makefile.


Popular posts from this blog

php - How should I create my API for mobile applications (Needs Authentication) -

5 Reasons to Blog Anonymously (and 5 Reasons Not To)

Google AdWords and AdSense - A Dynamic Small Business Marketing Duo