1
我是gnu make的新手。gnu make substring
我四處搜尋,但我無法找到任何工作...
我有工具前綴suxh名單爲:
DEFTOOL= /usr/bin/i686-mingw32- /usr/bin/x86_64-w64-mingw32- /usr/bin/
我想改變的二進制文件的擴展名,如果字符串「MinGW的」
$(foreach c, $(DEFTOOL),$(call dist_make, $(c)))
...
define dist_make
result= ${shell echo $(1) | grep mingw }
echo x$(result)x
# $(if $(result),\
# $(1)gcc $(DIST_CFLAGS) -o cap2hccap$(WINEXT) ./cap2hccap.c; echo "windows";,
# $(1)gcc $(DIST_CFLAGS) -o cap2hccap$(LNXEXT) ./cap2hccap.c; echo "linux"; \
#)
endef
其中LNXEXT爲空且WINEXT爲「.exe」。
我不能得到這個工作....
我怎麼知道,如果該函數的參數包含「mingw」?
PS:
我知道64位和32位mingw輸出是相同的,但是當我理解如何檢查一個字符串是否在另一個字符串中時我會修復它。
如果你知道一個更好的方法來自動化交叉開發建設吐出:)
謝謝!來自[link](http://www.gnu.org/software/make/manual/html_node/Text-Functions.html):$(findstring a,abc) $(findstring a,bc) 產生值' a'和''(空字符串)。請參閱測試標誌,瞭解findtring的實際應用。 ...所以我認爲只有當字符串在字符串列表中時findtring才能工作.....感謝您的幫助。 –