위키득계정 ↗
기술

Tup

분류
파일 기반 빌드 시스템
의존 표현
방향 비순환 그래프
플랫폼 예
Linux macOS Windows
규칙 파일
Tupfile
Tup는 파일 변경과 의존 관계 그래프를 이용해 필요한 작업을 실행하는 빌드 시스템이다. 변경에 영향을 받는 파일을 갱신하며 불필요한 재작업을 줄이는 데 초점을 둔다.

변경에서 작업으로

파일이 바뀌면 그 파일에 의존하는 출력 가운데 무엇을 갱신해야 하는지 결정한다. 이때 의존 관계를 나타내는 그래프가 핵심 자료다. 전체 작업을 매번 반복하기보다 변경과 연결된 작업을 실행하는 것이 증분 빌드의 목적이다.

규칙과 생성 파일

빌드에는 사람이 작성한 소스뿐 아니라 다른 작업이 만든 헤더와 중간 파일도 참여한다. 입력과 출력의 관계가 올바르게 표현되어야 필요한 순서로 작업할 수 있다. 규칙 구성과 실제 파일 의존성이 일치하는지 살펴야 한다.

환경과 비교 조건

여러 운영체제를 지원하지만 필요한 실행 환경은 플랫폼에 따라 다르다. macOS에서는 FUSE 구현이 요구된다. 빌드 성능을 비교할 때는 전체 빌드와 작은 변경 후의 빌드를 나누어 측정하며 정확한 출력이 생성되는지도 함께 확인한다.

관련 문서

Ninja / CMake / Meson / Xmake