첫째,이 같은 SConstruct 파일을 가지고 :SConstruct 파일을 변경할 때 scons가 다시 빌드를 트리거하지 않습니까?
내가 SCons는 실행Object('a.s')
Program('mya','a.o')
, 그것은 'MYA'를 생성한다. 승인. 그런 다음 내 구조를 다음과 같이 변경합니다.
Object('a.s',CCFLAGS='-DHello')
Program('mya','a.o')
다시 실행하십시오. 아무 것도 수행되지 않습니다.
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
scons: `.' is up to date.
scons: done building targets.
이것은 매우 이상합니다. make 또는 msbuild 시스템을 사용할 때마다 프로젝트 구성 파일에서 argumenet 변경이있을 때마다 다시 빌드가 수행됩니다. 이것이 기본 규칙입니다.
그러나 scons의 규칙이 다르게 보인다고 디자인에 의한 것입니까? 소스 파일을 변경하면 다시 빌드가 트리거됩니까? 이것이 디자인이라면 컴파일/링커 옵션이 변경 될 때 대상 파일이 달라야하므로 재 구축을 트리거해야한다는 결함이 있다고 생각합니다.
내 이해가 잘못되었거나 여전히 알아야 할 몇 가지 특별한 사실이 있습니까? 고마워요.
옆 : 내가 본 적이없는 'make'는이 기능이 없습니다. 사실이 기능은 SCons의 장점 중 하나입니다. –