2013-04-11 3 views
1

Jam을 통해 DLL을 컴파일하고 연결하려고합니다. 이것은 리소스 전용 DLL이므로 Jam을 통해/noentry 플래그를 링커에 전달하는 방법을 알아야합니다.jam을 통해 cflags를 전달하는 방법

여기 내 Jamfile 지금의 모습입니다 :

// need to figure out how to specify the /noentry CFLAG somewhere here 

PackageDll foo 
    : NAME foo.dll 
    : DESC "Resource File" 
    : USE_C 
    ; 

Build foo 
    : system.pkg foo.rc 
    : . 
    ; 

사전에 감사!

답변

1

구문은 jam과 유사하지만 PackageDll 및 Build 규칙은 표준 (즉, PERFORCE) 잼 규칙이 아닙니다. 이러한 규칙이 최종적으로 표준 jam Link 액션을 호출하는 방식으로 구현되는 경우 타겟에있는 LINKFLAGS 변수에 플래그를 추가하면 트릭을 수행하게됩니다. 대상의 이름을 가정하면 foo.dll를가 (있는 경우 규칙 추가, 어떤 제분 추가), 즉는 다음과 같이 수행 할 수 있습니다

LINKFLAGS on foo.dll = [ on foo.dll return $(LINKFLAGS) ] /noentry ; 

이 규칙은, 최선을 다해 일을 모른 채 자신을 호출 한 후 그 .