是否有任何本機makefile(GNU make等)方式來獲取目標先決條件的先決條件?這些問題是不是關於通過編譯器從源文件進行依賴性檢查(例如,g ++ -MM)。Makefile:獲取目標先決條件的先決條件
在主題上找不到任何東西。正如我所看到的,這種情況沒有特別的變數。
爲了說明問題,下面是我從C++源代碼編譯配方的定義,對象,非常標準雖然:
##### UNIVERSAL COMPILE #####
%.o: %.cpp %.hpp
${CC} ${CFLAGS} -c $< -o [email protected]
然後我需要建立的依賴非常大的連鎖店:
a: a.o
b: b.o a.o
c: c.o b.o a.o
d: d.o c.o b.o a.o
etc, up to N times...
這是必要的,因爲這種鏈接配方:
##### UNIVERSAL LINK #####
%: %.o
${LN} ${LNFLAGS} $^ -o [email protected]
正如你ç一看,配方需要所有供應依賴的,但需要得到所有供應依賴的依賴關係。
沒有與總體規劃的連接沒有問題,因爲它是食譜:
##### PROGRAM LINK ######
${BIN}: ${OBJ}
${LN} ${LNFLAGS} ${OBJ} -o ${BINDIR}/[email protected]
但我需要做單元測試,和單位取決於一個每個人的依賴性和測試的層次結構子系統是非常累人寫作硬編碼的依賴鏈。
也許我這樣做的方式不對?也許有這個鏈接配方的替代品?謝謝!
你是什麼意思「...的目標先決條件」?我得到了「目標的先決條件」的意思,但不是「獲取目標先決條件的先決條件」。 – Adrian