第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

GNU 制作簡(jiǎn)單擴(kuò)展變量和自動(dòng)變量

GNU 制作簡(jiǎn)單擴(kuò)展變量和自動(dòng)變量

Go
慕哥9229398 2021-06-19 15:05:00
我有一個(gè)用于 Go 項(xiàng)目的相當(dāng)簡(jiǎn)單的 makefile,我希望能夠運(yùn)行類似于:make release-all為了為幾個(gè)不同的平臺(tái)(例如 windows、linux、darwin)構(gòu)建版本。我的 make 文件目前看起來像這樣:GOOSES = darwin windows linuxGOARCHS = amd64 386.PHONY: release-all $(GOOSES) $(GOARCHS)release: $(GOOSES)$(GOOSES): GOOS := app $@$(GOOSES): $(GOARCHS)$(GOARCHS): GOARCH := $@$(GOARCHS): buildbuild:GOOS=$(GOOS) GOARCH=$(GOARCH) go install ...當(dāng)我真正嘗試構(gòu)建時(shí),我得到:GOOS= GOARCH= go install ...因此,據(jù)我所知,:=這不會(huì)導(dǎo)致$@在分配時(shí)對(duì)其進(jìn)行評(píng)估。這有可能以某種方式實(shí)現(xiàn)嗎?如果沒有,我基本上想要做的就是遍歷操作系統(tǒng)列表中的每個(gè)項(xiàng)目,然后遍歷每個(gè)體系結(jié)構(gòu),直到我構(gòu)建了所有選項(xiàng)。如果不明確指定每個(gè)架構(gòu)/操作系統(tǒng)組合,這至少是可能的嗎?
查看完整描述

1 回答

?
猛跑小豬

TA貢獻(xiàn)1858條經(jīng)驗(yàn) 獲得超8個(gè)贊

假設(shè)您的命令有效,這將處理迭代:


GOOSES = darwin windows linux

GOARCHS = amd64 386


build:


define template

build: build_$(1)_$(2)

.PHONY: build_$(1)_$(2)

build_$(1)_$(2):

    GOOS=$(1) GOARCH=$(2) go install ...

endef


$(foreach GOARCH,$(GOARCHS),$(foreach GOOS,$(GOOSES),$(eval $(call template,$(GOOS),$(GOARCH)))))



查看完整回答
反對(duì) 回復(fù) 2021-06-28
  • 1 回答
  • 0 關(guān)注
  • 209 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)