Make中的默认规则

make中是否有一种机制可以允许默认的全局隐式规则在任何地方都可用,类似于内置规则?

Make提供了一些内置的隐式规则来编译C / C ++ / Fortran文件,甚至不需要Makefile简单的情况。但是,在编译其他语言(例如Go编程语言文件)时,Makefile始终需要a。我想扩展我的Makeenvironment,使默认情况下可以使用隐式规则。


当年话下
浏览 288回答 3
3回答

慕村225694

通常这是不可取的,因为这会导致Makefile的可移植性降低。如果其他人的机器没有这样设置,它将无法在其他人的机器上运行。但是,如果要执行此操作,请使用Go文件的默认规则在某个地方创建一个“全局” Makefile,然后将其路径添加到MAKEFILES环境变量中。运行“ make”时,将在所有Makefile之前先处理此全局Makefile,就像在文件顶部包含其源代码一样。

呼啦一阵风

虽然我同意dmazzoni的用法,但即使我为Go添加了制作方法Makefile:# Include default Golang Make magicinclude $(GOROOT)/src/Make.$(GOARCH)# Hack the following line    your_program: your_program.$O    $(LD) -o $@ $^# Compiles .go-files into architecture-specific binaries%.$O: %.go    $(GC) -o $@ $^clean:    rm your_program *.$O(注意:$ODOLLAR + UPPERCASE -o-不为零!)尽管我尚未在所有可用的机器上进行过测试,但我认为它应该移植得很好。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go