1
나의 목표는 버전 정보를 포함하는 라이브러리를 만드는 것이다.bjam - 타겟을 빌드하기 전에 항상 쉘 스크립트를 실행하는 방법은 무엇입니까?
버전이 실제로 변경된 경우에만 ./version.cpp
을 업데이트하는 스크립트가 있습니다. 이것은 불필요한 재건을 막기 위해서입니다.
glob 타겟이 *.cpp
이고 version.cpp
입니다.
bjam
을 실행하면 스크립트가 실행되고 version.cpp
을 업데이트하지만 라이브러리가 다시 작성되지 않는 문제가 있습니다.
만 나는 다시는 version.cpp
가 변경된 것을보고, lib 디렉토리
내 잼 파일을 다시 않습니다 bjam
를 실행하면 (2 회) bjam을 실행
Echo [ SHELL "./write_version.sh" ] ;
lib foo
: [ glob *.cpp ]
;
출력 :에게
$ bjam
Updating version.cpp
...found 119 targets...
$ bjam
...found 121 targets...
...updating 3 targets...
gcc.compile.c++ ../foo/bin/gcc-4.8/debug/link-static/version.o
gcc.archive ../foo/bin/gcc-4.8/debug/link-static/libfoo.a
...updated 3 targets...
질문 : 어떻게 얻을 수 있습니까? 스크립트와 라이브러리 빌드가 함께 작동합니까? 예 Jamfile
에 :