[英]How to extend pattern rule in makefile?
可以說$TESTOBJDIR
是我新創建的目錄,用於放置要創建的二進制文件。
$TESTDIR
是一個包含file1.cpp
和file2.cpp
的目錄。
要編譯*.cpp
我需要另一個位於不同目錄中的cpp文件,將其$SRCDIR
為$SRCDIR
。 因此,根據以下規則,我只能
$(TESTOBJDIR)% : $(TESTDIR)%.cpp
$(CC) $< -o $@
這給了我:
g++ file1.cpp -o file1
g++ file2.cpp -o file2
但是我想要的是
g++ dir/need1.cpp file1.cpp -o file1
g++ dir/need2.cpp file2.cpp -o file2
模式規則中是否有辦法允許我以上述方式包含dir的.cpp文件。
我在您的目標中看到的模式是file<x>
取決於dir/need<x>
.cpp和file<x>.cpp
。
以下模式規則應起作用。
(TESTOBJDIR)file% : (TESTDIR)file%.cpp dir/need%.cpp
$(CC) $^ -o $@
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.