程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> linux-makefile中以for循環實現多目標,(兩子目錄makefile)

linux-makefile中以for循環實現多目標,(兩子目錄makefile)

編輯:編程綜合問答
makefile中以for循環實現多目標,(兩子目錄makefile)
子目錄./test1/test9 ./test1/test6含有兩個正確的makefile
1   SUBDIRS:=./test1/test9 ./test1/test6
 2  subdirs:
 3  for dir in $(SUBDIRS);do\
 4          $(MAKE) -C $$dir;\
 5          done
make之後:
    for dir in ./test1/test9 ./test1/test6;do
/bin/sh: 1: Syntax error: end of file unexpected
makea:3: recipe for target 'subdirs' failed
make: *** [subdirs] Error 2

最佳回答:


SUBDIRS:=./test1/test9 ./test1/test6
當在for循環中取SUBDIRS變量時,會把“./test1/test9 ./test1/test6”當成一個完整的變量,
make -C $$dir -> make -C ./test1/test9 ./test1/test6

所以在for循環使用的時候需要將SUBDIRS變量拆分一下:
for dir in echo $(SUBDIRS) | cut -d'<空格>' -f 1-; \
do \
make -C $$dir; \
done \

圖片說明

qq123386926
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved