2010-02-01 3 views
1

Ce que je veux réaliser: Je suis en train de porter une application sur iPhone et j'ai besoin d'exécuter des scripts sur l'assemblage généré par le compilateur (notre truc d'optimisation) et de le compiler en exécutable. J'ai toujours utilisé un fichier standard de marque et fait quelque chose comme çaXcode et makefile

gcc -S -c my_source.C# compile and generate ASM 
optimize.sh my_source.s # optimizations 
gcc CCFLAGS my_source.s # compile 

Malheureusement, il n'y a pas moyen de générer makefile des projets Xcode (j'ai essayé quelques outils, mais aucun d'entre eux fonctionne réellement). Je me demandais si l'un d'entre vous avait une solution à mon problème. Je sais que je peux écrire un makefile à partir de zéro, mais ce n'est pas une bonne idée. Toutes les autres solutions sont les bienvenues aussi.

Merci

Répondre

0

Vous pouvez le faire en changeant les règles par défaut de votre cible dans Xcode afin que les fichiers .c sont traités différemment. Vous utiliseriez ensuite un script personnalisé pour compiler les fichiers .c plutôt que le comportement par défaut.

Sélectionnez votre cible, Lire les informations, puis cliquez sur l'onglet Règles.

+0

Cela pourrait aider, mais je ne suis pas vraiment sûr de comment. J'ai essayé d'ajouter une règle simple pour traiter les fichiers * .s (les fichiers d'assemblage créés lors de la compilation), mais cela n'a pas fonctionné. Si j'essaie de changer la règle par défaut pour les fichiers C, cela me dit que je ne peux pas parce que c'est une règle du système. Google montre principalement l'exemple pour les fichiers personnalisés, mais aucun pour les fichiers C/*. S. Vous avez un exemple? – DreamMaker

+0

Il existe plusieurs façons de procéder. Dans mon cas, j'ai des fichiers .pl qui génèrent des fichiers .c, donc c'est un peu différent de votre cas. La solution la plus simple serait probablement d'utiliser un suffixe différent pour vos fichiers .c. Une autre approche consiste à définir un nouveau type de source qui a toujours un suffixe .c avec son propre script de génération, puis pour vos fichiers source .c que vous voulez pré-traiter, vous changez leur type de 'sourcecode.c.c' en votre type personnalisé. –