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才能工作.....感谢您的帮助。 –