문제

어떤 대안 linux/freebsd?

도움이 되었습니까?

해결책

좋아요 스콘. 모든 빌드 스크립트 (A SConstruct 파일)은 또한 구문 적으로 유효한 Python 프로그램입니다. 따라서 필요한 경우 빌드 스크립트에 임의의 파이썬 로직을 빌드 할 수 있습니다.

또한보다 훨씬 빠릅니다 make 많은 종류의 종속성을 자동으로 계산합니다.

다른 팁

내 첫 번째 질문은 청중이 무엇입니까? 팀만이 구축 할 사내 소프트웨어를 구축하기위한 것입니까? 그렇다면 이미 제시된 옵션 중 일부를 살펴보십시오. 이것이 다른 사람들이 건축 할 것이라면, Make를 고수하거나 Makefile을 생성하고 배송하는 도구를 사용하십시오. Linux 및 기타 UNIX 플랫폼에는 AutoConf 및 Automake를 사용합니다. 내 생각에, 당신은 구성 이외의 일을 할 아주 좋은 이유가 필요합니다. 만들다; 설치하십시오. Boost에는 자체 도구 (수정 된 버전의 JAM)가 있으며, 비정상적인 기계에서 컴파일해야 할 때마다 귀찮게합니다.

cmake 그리고 iMake Imake는 더 이상 유지 관리되지 않지만 둘 다 건축 유틸리티입니다. CMake는 또한 크로스 플랫폼이며 Windows에서도 사용할 수 있습니다.

당신이 자바에 있다면, 개미 Java (Make와 잘 어울리지 않음)에 맞춰진 빌드 도구입니다.

Troll Tech Qmake, QT를 구축하는 데 사용합니다. MakeFiles를 생성하여 작동합니다. Troll은 크로스 플랫폼 빌드를 지원하는 도구가 필요하므로 여전히 다른 메이크 유틸리티가 필요합니다.

Automake : P는 대부분의 Linux 앱 분포에서 일반적으로 사용되지만 Makefile보다 약간 더 많은 작업을 제공하지만 더 나은 결과를 제공합니다. http://www.gnu.org/software/automake/

http://www.openismus.com/documents/linux/automake/automake.shtml <- 자동차 및 오토 콘프 사용 방법에 대한 좋은 설명

완전히 다른 것을 찾고 있다면 개미. 나는 그것에 관심이 없지만, 그것은 몇 가지 이식성 이점을 제공합니다 (유닉스 쉘에 의존하지 않음 등).

나는 좋은 소식을 들었다 .

오케 자동 종속성 분석을 통해 C/C ++, OCAML 및 라텍스를위한 빌드 도구입니다. 여러 디렉토리를 통해 프로젝트를 쉽게 구축 할 수 있으며 타임 스탬프 대신 MD5 합계를 기준으로 변경 사항을 찾습니다. 또한 백그라운드에서 실행할 수있는 모드가 있으며 파일이 수정 될 때마다 프로젝트를 구축합니다. 일반적으로 일반적인 종류의 프로젝트 (C/C ++ 또는 OCAML 프로그램 및 라이브러리)를 작성하려면 코드가 적습니다. 나는 더 큰 프로젝트를 위해 그것을 시도하지 않았습니다.

OCAML에서 프로그래밍하려면 OCAML 링커가 종속성 순서로 명령 줄에 컴파일 된 모듈이 표시되기 때문에이 도구가 실제로 유용하며, 변경되지 않을 때 마다이 순서를 파악하는 것이 불쾌하지 않습니다.

Autotools 기반의 일부 프로젝트를 포함하여 더 많은 프로젝트에 CMAKE를 사용했으며 그것이 매우 잘 작동한다고 말할 수 있습니다. 대부분 C/C ++ 크로스 플랫폼 프로젝트에 적합합니다.

프로젝트에서 일하고 있어요 상속된 일부를 사용하는 코드 ConsMake (지 않을과 혼동 SCons 에서 그렉 Hewgill 의 답변).

Cons 에 기록된 Perl,많 SCons 는 파이썬으로 만들어졌습니다.그것을 관리하는 종속성으로 사용할 수 있는 모든 펄 안에 있는 코드를 구축하를 처리하는 스크립트 복잡한 구축 시퀀스입니다.

주요 단점이(및 주는 나의 프로젝트가 사용)는 Cons 를 하지 않는 병렬 구축의 스타일에 make -j.만약 당신이 컴파일하는 파일의 개수에 의존하지 않는 각각 다른 Cons 컴파일하고 그들을 한번에 하나는 동안, make -j 컴파일에서 그들을 병행,좋은 여러 개 있는 경우는 코어 및 스레드에서는 기계입니다.

크로스 플랫폼 빌드의 또 다른 제작은입니다 kmake (의 일부 kbuild, 그 자체로 : Kbuild는 복잡한 작업을위한 간단한 makefiles를 작성하기위한 Makefile 프레임 워크입니다.). GNU의 향상된 버전입니다 make. VirtualBox 사람들이 개발했습니다. 이를 사용하여 Windows, Linux, MacOS 및 Solaris 용 VirtualBox 제품을 구축합니다. 꽤 휴대용!

보다 http://svn.netlabs.org/kbuild 자세한 내용은.

waf 흥미로운 대안입니다. Python으로 작성하면 빌드 로직을 일반 파이썬으로 쓸 수 있습니다. 병렬 빌드 + 반자동 마그 틱 서명 기반 종속성 추적은 합리적으로 잘 작동합니다. 아마도 크로스 플랫폼 (즉, Windows에서 빌드를 수행하는 방법을 알고 있음)이지만 시도하지 않았습니다.

상당히 가파른 학습 곡선이 있지만 "Waf Book" 과정을 돕기 위해.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top