diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2025-04-02 05:12:30 -0700 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2025-04-02 15:19:47 +0000 |
| commit | 671f31019d4018554d672c78ff08172d2a3ad71e (patch) | |
| tree | 44e188122c5b9c3259b98ef64269ee6d27f61b28 | |
| parent | d539c2ec8ff6d9dae25b81fb1408b67877303827 (diff) | |
Makefile: simplify Go generation
Make fidlgen non special and run go generate for all packages.
This will avoid stale go:generate commands, and missed packages
(like we had for pkg/ifuzz/{x86,arm64} for years).
| -rw-r--r-- | Makefile | 14 | ||||
| -rw-r--r-- | sys/fuchsia/fidlgen/main.go | 15 | ||||
| -rw-r--r-- | sys/fuchsia/init.go | 3 |
3 files changed, 12 insertions, 20 deletions
@@ -217,11 +217,6 @@ verifier: descriptions # `extract` extracts const files from various kernel sources, and may only # re-generate parts of files. extract: bin/syz-extract -ifeq ($(TARGETOS),fuchsia) - $(MAKE) generate_fidl TARGETARCH=amd64 - $(MAKE) generate_fidl TARGETARCH=arm64 -else -endif bin/syz-extract -build -os=$(TARGETOS) -sourcedir=$(SOURCEDIR) $(FILES) bin/syz-extract: @@ -236,7 +231,7 @@ generate: $(MAKE) format generate_go: format_cpp - $(GO) generate ./executor ./pkg/ifuzz/x86 ./pkg/ifuzz/arm64 ./pkg/build ./pkg/rpcserver + $(GO) generate ./... $(GO) run github.com/vektra/mockery/v2@v2.52.1 --log-level="error" generate_rpc: @@ -244,13 +239,6 @@ generate_rpc: flatc -o pkg/flatrpc --warnings-as-errors --gen-object-api --filename-suffix "" --cpp --scoped-enums pkg/flatrpc/flatrpc.fbs $(GO) fmt ./pkg/flatrpc/flatrpc.go -generate_fidl: -ifeq ($(TARGETOS),fuchsia) - $(HOSTGO) generate ./sys/fuchsia - $(MAKE) format_sys -else -endif - generate_trace2syz: (cd tools/syz-trace2syz/parser; ragel -Z -G2 -o lex.go straceLex.rl) (cd tools/syz-trace2syz/parser; goyacc -o strace.go -p Strace -v="" strace.y) diff --git a/sys/fuchsia/fidlgen/main.go b/sys/fuchsia/fidlgen/main.go index 937ef62d1..ab2bcf0cd 100644 --- a/sys/fuchsia/fidlgen/main.go +++ b/sys/fuchsia/fidlgen/main.go @@ -19,17 +19,20 @@ import ( ) func main() { + targetOS := os.Getenv("TARGETOS") targetArch := os.Getenv("TARGETARCH") - target := targets.Get(targets.Fuchsia, targetArch) - if target == nil { - tool.Failf("unknown TARGETARCH %s", targetArch) - } - arch := target.KernelHeaderArch - sourceDir := os.Getenv("SOURCEDIR") + if targetOS != targets.Fuchsia || sourceDir == "" { + return + } if !osutil.IsExist(sourceDir) { tool.Failf("cannot find SOURCEDIR %s", sourceDir) } + target := targets.Get(targetOS, targetArch) + if target == nil { + tool.Failf("unknown TARGETARCH %s", targetArch) + } + arch := target.KernelHeaderArch fidlgenPath := filepath.Join( sourceDir, diff --git a/sys/fuchsia/init.go b/sys/fuchsia/init.go index 2fbbd4bdf..c3ca8ca9b 100644 --- a/sys/fuchsia/init.go +++ b/sys/fuchsia/init.go @@ -1,7 +1,8 @@ // Copyright 2017 syzkaller project authors. All rights reserved. // Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. -//go:generate go run fidlgen/main.go +//go:generate bash -c "TARGETARCH=amd64 go run fidlgen/main.go" +//go:generate bash -c "TARGETARCH=arm64 go run fidlgen/main.go" package fuchsia |
