unexport EvalCommand, DumpDepGraphCache
diff --git a/depgraph.go b/depgraph.go
index 043fa92..31006ba 100644
--- a/depgraph.go
+++ b/depgraph.go
@@ -36,11 +36,12 @@
func (g *DepGraph) IsCached() bool { return g.isCached }
type LoadReq struct {
- Makefile string
- Targets []string
- CommandLineVars []string
- EnvironmentVars []string
- UseCache bool
+ Makefile string
+ Targets []string
+ CommandLineVars []string
+ EnvironmentVars []string
+ UseCache bool
+ EagerEvalCommand bool
}
func FromCommandLine(cmdline []string) LoadReq {
@@ -82,7 +83,7 @@
}
if req.UseCache {
- g := loadDepGraphCache(req.Makefile, req.Targets)
+ g := loadCache(req.Makefile, req.Targets)
if g != nil {
return g, nil
}
@@ -141,12 +142,23 @@
State: fileExists,
})
accessedMks = append(accessedMks, er.accessedMks...)
- return &DepGraph{
+ gd := &DepGraph{
nodes: nodes,
vars: vars,
accessedMks: accessedMks,
exports: er.exports,
- }, nil
+ }
+ if req.EagerEvalCommand {
+ startTime := time.Now()
+ evalCommands(nodes, vars)
+ LogStats("eager eval command time: %q", time.Since(startTime))
+ }
+ if req.UseCache {
+ startTime := time.Now()
+ saveCache(gd, req.Targets)
+ LogStats("serialize time: %q", time.Since(startTime))
+ }
+ return gd, nil
}
type Loader interface {