extract run from linkMainPkg, add flash scaffold

This commit is contained in:
Li Jie
2025-09-05 18:39:47 +08:00
parent 5e5d5c2a83
commit 1033452e8f
8 changed files with 137 additions and 51 deletions

View File

@@ -20,6 +20,7 @@ var BuildEnv string
var Tags string
var Target string
var Emulator bool
var Port string
var AbiMode int
var CheckLinkArgs bool
var CheckLLFiles bool
@@ -40,10 +41,14 @@ func AddBuildFlags(fs *flag.FlagSet) {
var Gen bool
func AddRunFlags(fs *flag.FlagSet) {
func AddEmulatorFlags(fs *flag.FlagSet) {
fs.BoolVar(&Emulator, "emulator", false, "Run in emulator mode")
}
func AddEmbeddedFlags(fs *flag.FlagSet) {
fs.StringVar(&Port, "port", "", "Target port for flashing")
}
func AddCmpTestFlags(fs *flag.FlagSet) {
fs.BoolVar(&Gen, "gen", false, "Generate llgo.expect file")
}
@@ -56,9 +61,14 @@ func UpdateConfig(conf *build.Config) {
case build.ModeBuild:
conf.OutFile = OutputFile
conf.FileFormat = FileFormat
case build.ModeRun:
case build.ModeRun, build.ModeTest:
conf.Emulator = Emulator
conf.Port = Port
case build.ModeInstall:
conf.Port = Port
case build.ModeCmpTest:
conf.Emulator = Emulator
conf.Port = Port
conf.GenExpect = Gen
}
if buildenv.Dev {

View File

@@ -36,6 +36,7 @@ var Cmd = &base.Command{
func init() {
Cmd.Run = runCmd
flags.AddBuildFlags(&Cmd.Flag)
flags.AddEmbeddedFlags(&Cmd.Flag)
}
func runCmd(cmd *base.Command, args []string) {

View File

@@ -49,8 +49,13 @@ func init() {
CmpTestCmd.Run = runCmpTest
base.PassBuildFlags(Cmd)
flags.AddBuildFlags(&Cmd.Flag)
flags.AddEmulatorFlags(&Cmd.Flag)
flags.AddEmbeddedFlags(&Cmd.Flag) // for -target support
base.PassBuildFlags(CmpTestCmd)
flags.AddBuildFlags(&CmpTestCmd.Flag)
flags.AddRunFlags(&Cmd.Flag)
flags.AddEmulatorFlags(&CmpTestCmd.Flag)
flags.AddEmbeddedFlags(&CmpTestCmd.Flag) // for -target support
flags.AddCmpTestFlags(&CmpTestCmd.Flag)
}

View File

@@ -18,6 +18,8 @@ var Cmd = &base.Command{
func init() {
Cmd.Run = runCmd
flags.AddBuildFlags(&Cmd.Flag)
flags.AddEmulatorFlags(&Cmd.Flag)
flags.AddEmbeddedFlags(&Cmd.Flag)
}
func runCmd(cmd *base.Command, args []string) {