12.6.3.4 Targets

12.6.3.4 Targets

Targets는 바이너리를 생성하거나 다른 targets를 그룹화하는 데 사용됩니다. 실행 파일이나 동적 라이브러리를 컴파일할 때 추가 링크 라이브러리를 제공합니다.

기본적으로 hxcppdefault target을 컴파일하려고 하므로, 이 target을 정의하는 것이 가장 쉽습니다 - 단순히 다른 target(들)에 의존성을 추가하는 것만으로도 가능합니다.

target은 toolid 속성으로 정의됩니다: exe, static_link 또는 dll. 이는 사용되는 링커를 정의하지만, 링커를 바꿔도 많은 target 항목이 동일합니다.

Targets는 다음 노드를 포함할 수 있습니다:

  • subTargetName - 이 target을 빌드하기 전에 다른 target을 빌드합니다.
<subTargetName id="subTargetName" />
  • merge - 다른 target에서 필드를 결합합니다. 이는 target이 단독으로 컴파일될 때 정적/동적 라이브러리로 기능하면서도, 다른 target이 객체 파일을 직접 링크하려면 객체 파일 목록으로도 사용될 수 있게 하려는 경우 유용합니다.
<merge id="otherTargetName" />
  • files - 컴파일된 파일의 명명된 그룹을 target에 추가합니다.
<files id="filesId"/>
  • section - 요소 블록을 그룹화합니다 - 보통 모두 같은 if/unless 조건을 존중하는 것들.
<section ...>...</section>
  • lib - 링크 줄에 라이브러리를 추가합니다.
    • name - 완전한 이름이 지정됩니다.
    • base - 컴파일러별 확장(.a/.lib) 없이 이름이 지정됩니다.
    • hxbase - 확장과 아키텍처(-v7/.iphonesim) 없이 이름이 지정됩니다.
<lib (name|hxbase|base)="libName" />
  • flag - 단일 링크 플래그를 추가합니다.
<flag value="flag"/>
  • vflag - 이름-값 쌍의 링크 인자를 추가합니다.
<vflag name="flag1" value="flag2"/>
  • depend - target이 주어진 파일 이름에 의존함을 선언합니다.
<depend name="filename" />
  • dir - target의 디렉토리 목록에 디렉토리를 추가합니다. 이 디렉토리는 target이 정리될 때 제거됩니다.
<dir name="tempPath" />
  • outdir - 빌드 결과의 디렉토리를 설정합니다 - "copyFile" targets를 포함합니다.
<outdir name="path"/>
  • ext - 생성된 파일의 확장자를 설정합니다.
    • ext - 확장자, "."을 포함해야 합니다.
<ext name=".ext"/>
  • builddir - target의 빌드 명령이 실행되는 디렉토리를 설정하며, 따라서 일부 파일 이름의 상대 기준과 일부 컴파일러 생성 임시 파일의 목적지가 됩니다.
<builddir name="path"/>
  • libpath - 빌드 명령에 라이브러리 검색 경로를 추가합니다.
    • name - 디렉토리. 링커가 필요한 플래그를 추가합니다.
<libpath name="directory"/>

출처: Targets

더 알아보기