2010-11-04 6 views
1

J'utilise le scons pour compiler 2 binaires. La compilation se fait en 2 étapes. La compilation et l'exécution du premier binaire génère les fichiers nécessaires à la compilation du second binaire.Exécuter le binaire après la compilation en utilisant scons

Chaque compilation est effectuée via un environnement séparé(). La partie pertinente du fichier SConstruct ressemble à ceci:

env_gen.Program('#gen', gen_src) 
env_gen.Command(ker_src + generated_src, "./gen") 
env_ker.Program('#ker', ker_src + generated_src) 

Le problème que j'ai est que même si la compilation de la compilation « ker » se produit après l'exécution de la « gen », « ker » se plaint fichiers générés manquants. Est-ce parce que la liste des dépendances de 'ker' est générée avant l'exécution de './gen'? Est-ce que quelqu'un sait comment surmonter cela ??

TIA

Répondre

0

En supposant « ker » dépend des fichiers générés par « gen », je pense que cela pourrait être ce que vous voulez:

GENERATED_FILES = env_gen.Command(ker_src + generated_src, "./gen") 
env_ker.Depends(GENERATED_FILES) 
env_ker.Program('#ker', ker_src + generated_src) 

Vérifiez la Scons manual pour plus de détails sur la définition explicite des dépendances à l'aide env .Depends()

Questions connexes