2016-10-19 3 views
1

하자. $TESTOBJDIR은 내가 만들 예정인 이진 파일을 저장하기 위해 새로 만든 디렉터리입니다.메이크 파일에서 패턴 규칙을 확장하는 방법은 무엇입니까?

$TESTDIRfile1.cppfile2.cpp을 포함하는 디렉토리입니다.

*.cpp 다른 디렉토리에있는 다른 cpp 파일이 필요합니다 ($SRCDIR). 그래서 아래의 규칙에 의해 난 단지 나에게주는

$(TESTOBJDIR)% : $(TESTDIR)%.cpp 
    $(CC) $< -o [email protected] 

을 할 수있는 :

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 파일을 포함시킵니다.

답변

2

귀하의 목표에서 볼 수있는 패턴은 file<x>dir/need<x> .cpp 및 file<x>.cpp에 따라 달라집니다.

다음 패턴 규칙이 적용됩니다. 나는 조리법은 지금 (g ++ ..이)도 호출되지 수행 할 때

(TESTOBJDIR)file% : (TESTDIR)file%.cpp dir/need%.cpp 
    $(CC) $^ -o [email protected] 
+0

는 :/ – pokche

+0

@pokche을, 당신의 컴퓨터에 문제를 진단 할 수 있습니다. 나는 그것을 내 방식으로 시험해 보았다. –

+0

@R Sahu dir/need1.cpp을 실행하여 하드 코드를 작성하면 작동하지만 패턴에 %를 배치하면 작업이 중지됩니다. 작동하는 위치를 가리킬 수있는 다른 온라인 리소스가 있습니까? 온라인으로 검색 한 결과이 – pokche

관련 문제