我想運行一個foreach函數,只有當條件滿足時才能運行。Makefile foreach裏面如果
當我刪除周圍if時,foreach函數可以正常工作。當我像下面這樣編寫我的makefile時,在執行第一個命令之前foreach循環停止工作,並且構建過程永遠不會結束(我不認爲我構建了一個無限循環,因爲沒有執行任何內部命令)。
if [ $(BUILD_SPEC) = mySpec ]; \
then (\
if [ ! -d $(PRJ_ROOT_DIR)/TARGET ]; then mkdir $(PRJ_ROOT_DIR)/TARGET; fi; \
$(foreach target,$(basename $(PROJECT_TARGETS)), \
if [ -e $(PRJ_ROOT_DIR)/$(BUILD_SPEC)/$(target).crc ]; \
then (\
echo Deleting $(PRJ_ROOT_DIR)/$(BUILD_SPEC)/$(target).crc; \
rm -f $(PRJ_ROOT_DIR)/$(BUILD_SPEC)/$(target).crc; \
) \
fi; \
) \
) \
fi;
你的shell是什麼? bash?因爲可能來自殼而不是從製造。也許添加標籤。 – kebs
玩具使用示例可以幫助您理解您的需求,有點不清楚。 – kebs
我在使用eclipse的windows下進行通訊 – yurishi