make中是否有一種機制可以允許默認的全局隱式規則在任何地方都可用,類似于內置規則?Make提供了一些內置的隱式規則來編譯C / C ++ / Fortran文件,甚至不需要Makefile簡單的情況。但是,在編譯其他語言(例如Go編程語言文件)時,Makefile始終需要a。我想擴展我的Makeenvironment,使默認情況下可以使用隱式規則。
3 回答
慕村225694
TA貢獻1880條經驗 獲得超4個贊
通常這是不可取的,因為這會導致Makefile的可移植性降低。如果其他人的機器沒有這樣設置,它將無法在其他人的機器上運行。
但是,如果要執行此操作,請使用Go文件的默認規則在某個地方創建一個“全局” Makefile,然后將其路徑添加到MAKEFILES環境變量中。運行“ make”時,將在所有Makefile之前先處理此全局Makefile,就像在文件頂部包含其源代碼一樣。
呼啦一陣風
TA貢獻1802條經驗 獲得超6個贊
雖然我同意dmazzoni的用法,但即使我為Go添加了制作方法Makefile:
# Include default Golang Make magic
include $(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-不為零?。?/p>
盡管我尚未在所有可用的機器上進行過測試,但我認為它應該移植得很好。
- 3 回答
- 0 關注
- 330 瀏覽
添加回答
舉報
0/150
提交
取消
