SCons: как поместить несколько выходных файлов в кеш - PullRequest
0 голосов
/ 03 сентября 2010

Наш компилятор создает файл отладки в дополнение к объектному файлу.Этот файл отладки необходим для конечной цели отладки.Я уже добавил этот файл в качестве дополнительной зависимости для цели.Но при использовании CacheDir () этот файл должен храниться вместе с объектным файлом.

Я уже пытался добавить файл отладки как SideEffect () и Depends () объектного файла, а также Depends () конечной цели.Но мне не повезло с этим.SCons только сохраняет объектный файл в CacheDir () и не знает, как создать файл отладки.

Можно ли сохранить оба файла в каталоге кэша, чтобы они оба были получены при построении цели

1 Ответ

0 голосов
/ 20 мая 2011

Чтобы получить два варианта сборки в одном прогоне, вы должны использовать разные имена для сгенерированных файлов.В случае проекта C / C ++ это может быть достигнуто с помощью переменной окружения OBJSUFFIX .Приведенный ниже код заставит все файлы выходных объектов отладки отображаться с суффиксом .dbg.o вместо .o.

dbg_env = env.Clone(...)
dbg_env.Append(...) # add debug flags
dbg_env.Prepend(OBJSUFFIX = '.dbg')
...