diff options
Diffstat (limited to 'runner/gnumake')
| -rw-r--r-- | runner/gnumake/make.go | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/runner/gnumake/make.go b/runner/gnumake/make.go index 91f48de..9332773 100644 --- a/runner/gnumake/make.go +++ b/runner/gnumake/make.go @@ -60,13 +60,16 @@ func (m *gnumake) Index(path string, f fs.FS, _ []model.Runner) ([]model.Target, return ParseOutput(makefile), nil } -var makeRegex = regexp.MustCompile("(?m)^([a-zA-Z]*):(([ \t]*?)#(.*))?") +var makeRegex = regexp.MustCompile(`(?m)^(\S+?):[^=].*$`) func ParseOutput(input string) []model.Target { var targets []string - match := makeRegex.FindAllString(input, strings.Count(input, "\n")) + match := makeRegex.FindAllStringSubmatch(input, strings.Count(input, "\n")) for _, m := range match { - targets = append(targets, m) + if len(m) < 2 { + continue + } + targets = append(targets, m[1]) } var result []model.Target @@ -78,6 +81,7 @@ func ParseOutput(input string) []model.Target { tgt := &Target{ BaseTarget: runner.BaseTarget{ Identity: identity.New(name), + MySub: makeSub, MyTags: nil, }, Name: name, |
