2012-01-27 5 views
2

서로 의존하는 많은 라이브러리를 빌드하기위한 메이크 파일이 있습니다. 내가 만드는 방법은 항상 동일합니다. 같은Makefile : 와일드 카드 및 다른 종속성

그것은 수 :

#Makefile 

    all: commonprefix_lib1 commonprefix_lib2 commonprefix_lib3 

    commonprefix_lib1 : commonprefix_lib2 commonprefix_lib3 
     cd [email protected] && autoreconf -if && ./configure && make && sudo make install 

    commonprefix_lib2 : commonprefix_lib3 
     cd [email protected] && autoreconf -if && ./configure && make && sudo make install 

    commonprefix_lib3 : 
     cd [email protected] && autoreconf -if && ./configure && make && sudo make install 

내가 CD/구성을 반복하지 않도록 와일드 카드 규칙을 사용이 가능/물건 그들은 모두 서로 다른 종속성을 가지고 knowning하게?

#Makefile 

    commonprefix_% : ??? 
     cd [email protected] && autoreconf -if && ./configure && make && sudo make install 
+0

% 스타일의 구문을 만들 GNU에 따라 다릅니다. 또한 ./configure에 매개 변수를 추가 할 수 있도록해야합니다. 아마도 당신이 찾고있는 것은 AC_CONFIG_SUBDIR입니다. –

+0

Hello Jorgensen, GNU make를 사용하고 싶습니다. –

답변

3

나는 당신이 패턴 규칙에서 별도로 종속성을 진술 할 수 있다고 생각 :

#Makefile 

all: commonprefix_lib1 commonprefix_lib2 commonprefix_lib3 

commonprefix_lib1 : commonprefix_lib2 commonprefix_lib3 
commonprefix_lib2 : commonprefix_lib3 

commonprefix_% : 
    cd [email protected] && autoreconf -if && ./configure && make && sudo make install