[wiki:../ 상위 섹션으로 가기] SCons - A Software Construction Tool -- [김도집] [[DateTime(2005-11-02T00:50:50)]] [[TableOfContents]] = SCons = == 간단한 빌드 == === 간단한 C/C++ 실행파일 빌드 === {{{hello.c}}}라는 파일명으로 다음 소스 코드를 작성한다. {{{ int main(void) { printf("hello world\n"); return 0; } }}} {{{SConstruct}}}라는 파일명으로 다음 내용을 작성한다. {{{ Program('hello.c') }}} 이제 쉘에서 {{{scons}}}를 실행하면 다음과 같은 결과 메시지가 출력될 것이다. {{{ greendrm@devil:~/imsi/scons/simple_ex_01$ scons scons: Reading SConscript files ... scons: done reading SConscript files. scons: Building targets ... gcc -c -o hello.o hello.c gcc -o hello hello.o scons: done building targets. }}} 아주 간단하게 {{{hello}}}라는 실행파일을 빌드 하는데 성공했다. ^^ === 간단한 오브젝트 빌드 === {{{SConstruct}}} 파일 내용에 {{{Program}}} 대신 {{{Object}}}를 사용한다. === 빌드 후 클린 업 === {{{scons -c}}}를 실행한다. === Verbose를 적게... === {{{scons -Q}}}를 실행한다. === scons의 특징들 === * {{{SConstruct}}} 는 Python 스크립트이다. * scons는 순차적으로 실행되지 않는다. == Construction Environments == 빌드 시 사용할 환경 값을 변경할 수 있다. {{{SConstruct}}} 파일의 내용이다. {{{ env = Environment(CC = 'gcc', CCFLAGS = '-O2 -g') env.Program('hello.c') }}} 다음은 실행 결과이다. {{{ greendrm@devil:~/imsi/scons/scons_env_ex_01$ scons -Q gcc -O2 -g -c -o hello.o hello.c gcc -o hello hello.o }}} /!\ 주의할 점은 make에서 사용하는 CFLAGS가 아니라 '''{{{CCFLAGS}}}'''이다. = Trackback = [[comment]]