2012-10-30 10 views
3

Jamfile에서 파이썬 스크립트를 호출하여 필요한 소스 파일을 생성하고 싶습니다. 메이크에서Jamfile에서 파이썬 스크립트 호출하기

,이 같은 다소 보일 것이다

sourcefile.c: 
    python script.py 

Jamfile이 같은 것을 보관하는 가장 우아한 방법은 무엇입니까?

actions CallScript 
{ 
    python script.py 
} 

CallScript sourcefile.c ; 

응용 프로그램의 상황에 따라 조금 더 많은 일을해야 할 수도 있습니다

답변

1

용지 걸림 해당하는이입니다. 예 : 스크립트가 소스 파일을 생성하고 생성 된 소스 파일을 컴파일하려는 경우 솔루션은 아마도 다음과 같이 보일 것입니다.

rule GenerateSource 
{ 
    local source = [ FGristFiles $(1) ] ; 
    MakeLocate $(source) : $(LOCATE_SOURCE) ; 
    Clean clean : $(source) ; 
    GenerateSource1 $(source) ; 
} 

actions GenerateSource1 
{ 
    python script.py $(1) 
} 

GenerateSource sourcefile.c ; 

Main foo : sourcefile.c ; 
+0

생각해 보니 스크립트가 변경 될 때 원본 파일이 업데이트되기를 원할 것입니다. 따라서'Depends $ (source) : script.py; '가 규칙에 추가되어야합니다. 그런 다음 스크립트를 두 번째 매개 변수 ('GenerateSource1 $ (source) : script.py;)에 전달하고 거기에있는 이름을 하드 코딩하는 대신 해당 매개 변수를 사용합니다 ('python $ (2) $ (1)'). 오, 나는 스크립트가 소스 파일 이름을 매개 변수로 사용한다고 가정 해 왔습니다. 그 경우가 아니라면'$ (1)'을 생략하십시오. – user686249

관련 문제