簡體   English   中英

如何在makefile中擴展模式規則?

[英]How to extend pattern rule in makefile?

可以說$TESTOBJDIR是我新創建的目錄,用於放置要創建的二進制文件。

$TESTDIR是一個包含file1.cppfile2.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM