2008-08-13 8 views

답변

34

다른 제안을 고려 :

  • Scons는 크로스 플랫폼, 크로스 컴파일러 빌드 라이브러리, 파이썬가 scruipting 사용 빌드 시스템. 다양한 대형 프로젝트에서 사용되며 성능이 뛰어납니다.

  • Qt를 사용하는 경우 QMake도 멋진 빌드 시스템입니다.

  • CMake도 꽤 좋습니다. 마지막으로

  • , If all else fails...

8

Automatic Makefile Generator을 사용해 보셨습니까?

그것은 다음과 같은 컴파일러에 대한 지원

: 당신이 할 수 있습니다

Borland 3.1 
Borland 5.0 
Borland 5.0, 16 bit 
Borland 5.5 
Borland 5.6 
Borland 5.8 
CC 
Gnu g++ 
Gnu g++, dynamic library 
Intel 5, 6, 7 for Linux 
Intel 5, 6, 7 for Linux, dynamic library 
Intel 5, 6, 7 for windows 
Intel 8,9,10 for Linux 
Intel 8,9,10 for Linux, dynamic library 
Intel 8,9 for windows 
Intel 10 for windows 
Visual C++ 5 
Visual C++ 6, 7, 7.1 
Visual C++ 8 
Open Watcom 
Watcom 10A 
Watcom 10A, 16 bit 
1

또한 두 번째 CMake는 것이다. 나는 멀티 플랫폼 프로젝트에서 이것을 꽤 오랫동안 사용 해왔고 매우 만족합니다.

0

고려해야 할 한 가지 문제는 "makefile"작성자 또는 대체 빌드 시스템을 원하십니까? 대체 빌드 시스템의 문제점은 일반적으로 사용자가 기대하는 플랫폼 (Visual C++)에 대해 좋은 IDE 통합을 얻지 못한다는 것입니다. 대체 빌드 시스템 대신 makefile 작성자가 필요하면 MPC을 살펴보십시오. 그것은 무료이며 오픈 소스입니다.

4

전에 성공적으로 Bakefile을 사용했습니다. 그것은 매우 간단하고 잘 작동하는 것 같습니다.

2

(M | m) akefiles의 자동 생성은 내가 당신이 여기서하려고하는 것에 대해 걱정하게 만듭니다.

make를 입력 할 때 무엇이 ​​계속되는지 이해하고 있습니까? 또는 gmake? 나는 새로운 코드 변경이 빌드에 통합되지 않는 등 일이 깨지는 경우에 발생하지 않은 작업을 시도하는 데 어려움을 겪을 것이기 때문에 단지 묻는 것입니다.

make를 이해하기 시작하려면 Robert Mecklenberg가 "Managing Projects with GNU Make"이라는 단어를 읽도록 제안 할 수 있습니까? 초기 장에서는 make가 작동하는 방법에 대해 설명합니다. make가 backward chaining이라는 사실을 들었을 때 당신이 할 수있는 가장 큰 일 중 하나입니다.

만약 당신이하지 않으면 시스템이 작동하는 것처럼 보일 것이며, Pragmatic Programmers의 용어 인 "programming by coincidence"을 사용하게 될 것입니다. (- :!.. 자신의 사이트에서

BTW 위대한 기사 사용할 수 그리고 그들과 함께 참여하고 있지 않다 YMMV 야다 - 궁시렁은 ...

4

CMake 실제로 진짜 비주얼 스튜디오 프로젝트를 생성 할 수있는 유일한 도구 (이다 즉, "Makefile"- 외부 도구를 불러내는 프로젝트가 아니며) 빌드 입력 파일 (CMakeLists.txt)이 변경 될 때 프로젝트를 자동으로 다시 생성하는 기능을 제공합니다. SCons 메일 링리스트에.

3

나는 OMake에 투표 할 것입니다. GNU make와 관련하여 불만을 고쳤습니다.

  • 완전한 언어입니다.
  • 은 타임 스탬프 대신 MD5를 사용합니다.
  • 은 find, sed, awk 등 모든 플랫폼에서 가장 유용한 유닉스 명령을 구현하는 최소 쉘을 제공합니다 ...
  • 은 유닉스 또는 DOS 스타일 경로 이름과 함께 작동합니다.
  • 이 광범위하게 문서화되어 있습니다.
  • 은 병렬 빌드를 지원합니다.
  • 빨리.
0

최근에 make 교체 목록에 추가 된 것은 waf입니다. 개인적인 경험에서 SCONS는 그 일을 꽤 잘합니다.

0

더 이상이 질문에 관심이 있는지 모르겠습니다. Ruby를 사용하여 개발 한 CodeMate과 비슷한 Makefile 자동 생성기 프로젝션에 대해 연구 중입니다. 어쩌면 지금은 큰 응용 프로그램을위한 성숙 아니지만, 나는 그것을 더 잘 만들기 위해 노력하고 있습니다. 사용자는 소프트웨어를 빌드하기 위해 구성 파일을 편집 할 필요가 없으며 적어도 그렇게되어 있어야합니다. 학습 곡선을 최소화해야합니다.

+1

또 다른 죽은 SO 링크! 필자는 수동으로 GitHub 페이지로 갔고, CodeMate는 Fortran 전용 빌드입니다. 같은 이름의 다른 프로젝트를 만들었습니까? [This] (https://github.com/shepherddog/CodeMate)는 그것이 의미하는 것처럼 보입니다. – refi64