J'ai un grand projet qui est plutôt hétérogène - différents langages et compilateurs sont impliqués, produisant un build avec l'aide de GNU make.Structure du dossier du projet: le code source du makefile est-il également?
La structure du dossier de projet comprend:
project
src
haxe --Haxe source code
graphics --Embeddable graphic resources
locale --Locale-specific resources
chinese --Chinese language resources
english --Generic English resources
build
china --Chinese market
debug --Debugging/Testing for developer(s)
release --Release
europe --European market
debug -- ...
release -- ...
Tous construit sont produits par la mise en place et en cours d'exécution « faire ». Ce que je ne peux pas décider, c'est si ces makefiles devraient aussi être mis dans le répertoire 'src'? Je considère généralement que le matériel original que j'écris à la main est un code source (puisque par ma ligne de pensée il provient de moi et n'est produit par aucun programme d'une autre entrée) et j'écris mes makefiles à la main. Une autre raison pour laquelle je considère cela est parce que SEUL 'src' répertoire est un dépôt Git - je n'ai pas vraiment besoin de suivre la version autre chose. Est-ce que je mets tous les Makefiles dans 'src'?
Le répertoire 'build' contient le contenu généré par la machine qui est généré à partir du code source - ce seront des binaires, des bibliothèques, des actifs d'exécution - tout ce qui finit chez un client. En effet, 'src' contient le code source du programme, et' build' contient aussi Makefiles que 'make' utilise pour générer le contenu de ce répertoire. 'src' est lié au système de contrôle de la source (git), rien d'autre n'est. Cependant, je me demandais si Makefiles serait aussi un code source car une grande partie de mes Makefiles est écrite à la main et contient beaucoup d'informations qui sont essentielles pour une compilation réussie. – amn
@amn: vos makefiles ne sont pas actuellement sous contrôle de source? –
@Tom non, ils ne le sont pas. Ce qui fait partie de la raison pour laquelle j'envisage de les déplacer. Je ne pense pas que le code source ait besoin de contrôle de version non plus. Et mes makefiles deviennent de plus en plus complexes à mesure que le projet se développe et contient des informations précieuses. Par exemple je construis un fichier SWF Adobe Flash à partir d'un répertoire entier de code source. Cependant, les dimensions SWF (largeur, hauteur, framerate) sont spécifiées comme des options de ligne de commande pour le compilateur, et ne font donc pas partie du code source, alors que sans doute elles constituent aussi le projet, n'est-ce pas? – amn