This is a created article in which the information may have evolved or changed.
The Go program can be compiled with some Makefile scripts to simplify writing Makefile. The official documentation is too brief to mention the need to specify a method that depends on the location of the package. After flipping through the script code, it turns out that ldimports and gcimports can be specified.
Like what:
Include $ (goroot)/src/make.inc ldimports=-l./pkg/_obj gcimports=-i./pkg/_obj targ=tool gofiles=\ tool.go\
GCIMPORTS Specifies the parameters for the compile phase, which are valid for make.cmd,make.pkg. LDIMPORTS Specifies the parameters of the link stage, which is useless for make.pkg.
In addition, you can use similar cleanfiles+= pkg/_obj to clean up more things when make.
And
All:pkg/_obj Tool
Such a method automatically compiles a dependent package when the dependent package is not compiled.