Вы пытаетесь установить специальные флаги компилятора для текущей среды сборки .Это делается путем добавления новых флагов к правильной переменной среды .В зависимости от того, какой процесс сборки (= Builder ) вы хотите использовать, соответствующие отдельные действия сборки (= Actions ) могут использовать разные переменные. Руководство пользователя содержит Приложение A «Строительные переменные», в котором перечислены переменные по умолчанию и их краткий обзор.
В вашем случае CCFLAGS
имеет значение и может использоваться следующим образом:
env = Environment()
env.Append(CCFLAGS=['-MJ','AAB.o.json','-m64','-g','-O3'])
env.Program(...)
Таким же образом вы можете заставить SCons использовать компилятор clang
, соответственно установив переменную CXX
:
env = Environment()
env['CXX']='clang'
env.Append(CCFLAGS=['-MJ','AAB.o.json','-m64','-g','-O3'])
env.Program(...)
Я надеюсь, что это позволяетвы получите общее представление о настройке Builder / Action в SCons : базовая структура выполняемой команды всегда одинакова для каждого Builder , но вы можете повлиять на конечный результат, установив и переписав те переменные среды , которые будут расширены.