Запустите команду в SCons без зависимостей - PullRequest
10 голосов
/ 17 августа 2011

Я хочу запустить команду в SCons, у которой нет файлов ввода / вывода (на самом деле вход и выход - один и тот же файл).В данный момент я просто запускаю его вручную с помощью subprocess.Popen, но есть ли более SConsy способ сделать это?

1 Ответ

15 голосов
/ 17 августа 2011

Вы можете использовать функцию Command для запуска любой внешней команды, которую вы запускаете через Popen, и вы можете использовать функцию AlwaysBuild , чтобы ваша команда всегда выполнялась, даже если целевой файлсуществует.Scons не любит циклы зависимостей, поэтому оставьте исходный список пустым.

myfile = env.Command('myfile.out', [], 'echo Hello world > $TARGETS')
env.AlwaysBuild(myfile)

В вики scons также есть рецепт PhonyTargets , который позволяет легко настроить множество простых команд.

...