2
我想在創建輸出(/ bin)目錄的根目錄中創建一個Makefile,然後遞歸地進入子目錄,尋找一個Makefile,用它的文件該目錄,並輸出/ bin中的所有內容。創建一個遞歸調用子目錄中的makefile的生成文件
Makefile文件在根如下:
DIR=bin
OUT_DIR=/bin
MAKE=make
CURRENT_DIR=./Server
ROOT=.
all: compile
compile: dir
export ROOT;
export OUT_DIR;
export CURRENT_DIR;
export;
$(MAKE) -C $(CURRENT_DIR)
dir:
mkdir -p $(DIR);
clean:
rm -rf $(OUT_DIR)/*
bin目錄被創建,好像Makefile文件服務器目錄中也被調用(我沒有一個循環進入子目錄)。
在我的Makefile文件服務器,其中兩個.java文件是,我有以下幾點:
JC=javac
all: server
server:
echo $(OUT_DIR);
echo $(CURRENT_DIR);
$(JC) -d $(OUT_DIR) $(CURRENT_DIR)/*.java
正在發生的事情是,當我打電話在最初的Makefile「出口」,變量我想出口不出口,我不明白爲什麼。
我真的很感激,如果有人可以請指點我的問題,也指向我一個優雅的解決方案,以解決我的整體問題,請。
在這一點上,Makefiles對我來說有點棘手:似乎有多種方法可以實現類似的解決方案,而且我不確定哪個更合適和更優雅。
非常感謝!你解決了我的問題,謝謝! – Jary
「使用非遞歸makefile甚至更優雅」,還有什麼選擇?每個文件夾的目標不同? – ffledgling