M'sieurs-dames, bonjour.
Ma première question porte sur GNU indent ; j'ai pu l'amener à indenter mon code C à peu près comme je voudrais... sauf pour l'accolade de début de corps de fonctions: je voudrais obtenir:
int main(void){
/* ... */
}
mais à mon grand dam je n'ai pas pu trouver l'option qui va bien. Quelqu'un pourrait-il me tirer d'affaire ?
Deuxième question, à propos des makefiles, ou plus généralement, de l'automatisation du processus de développement d'un projet en C. Pour des projets en java, impossible de se passer de scrips Ant aux petits oignons. Je recherche l'équivalent pour des projets en C, c'est-à-dire, des exemples de Makefiles pour GNU Make (ou d'autres scripts, y'a que le résultat qui compte) qui automatisent:
- la compilation des fichiers sources
- la génération de la documentation des sources via doxygen
- la génération de la documentation du projet écrite en RestructuredText ou docbook
- le lancement de tests unitaires CUnit ou check
- le profiling / détection de fuites de mémoire
- la compilation continue (récup du HEAD cvs -> compilation -> tests unitaires -> email des résultats des tests)
- la création d'une nouvelle version du projet (nouveau tag pour tous les fichiers du projet -> compilation, etc -> génération de paquets/d'archives pour cette nouvelle version)
Merci d'avance,
je vous embrasse pas mais le coeur y est ;)
# Makefile
Posté par mansuetus (site web personnel) . Évalué à 1.
usage : "make" ou "make all" pour faire list, doc, cafe
ou 'make cafe'...
"make clean"....
-------------------
hopes this helps
[^] # Re: Makefile
Posté par gaaaaaAab . Évalué à 1.
-------------------------------------------------------
functions.o : functions.c functions.h
--> gcc -Wall -c functions.c -o functions.o
parser.o : parser.c parser.h
--> gcc -Wall -c parser.c -o parser.o
-------------------------------------------------------
on peut aussi définir des règles pour make comme par exemple la règle suivante qui définit comment obtenir un .o à partir d'un .c
-------------------------------------------------------
.c.o:
--> gcc $(CFLAGS) -c $*.c
-------------------------------------------------------
$* est une variable automatique (point 10.5.3 de la doc de make http://www.gnu.org/software/make/manual/html_mono/make.html#SEC111(...) ). Le manuel de make, c'est du bonheur tellement y'a de trucs dedans :)
gaffe à pas oublier les tabulations (-->) en début de ligne
# Dur.
Posté par tuan kuranes (site web personnel) . Évalué à 2.
lint, splint : syntaxe, securite
pcmd : Analyse poussee de code (notemment de copier-coller abusifs)
doc : doxygen
tags : ctags, etags
Syntaxe de projet : indent
tu google "makefile" et le nom d'un des outils et t'aura un exemple de makefile.
comme la : http://www.control.auc.dk/~03gr838/cd/Net-snmp/Net-snmp-5.0.1/Makef(...)
sinon Les equivalents make :
CMake, MakeNG, Bakefile, Jam, BJam, premk, premake, le CDT 2.0 d'eclipse.
premake est bien pour generer pour plusieurs plate-forme (VS, makefile, etc)
Cela dit Ant + java est connu pour etre bien plus avance car avec beaucoup plus d'integration...
Si on pouvait avoir l'equivalent... a la place des configure.in et autres horreurs...
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.