Sur ce principe, tu as le projet cjdns qui utilise un script nodejs pour compiler. le principe est le suivant:
tu spécifie le main.c principal
le script va compiler main.c, et va voir que main.c va inclure class1.h et class2.h
le script va déduire que main.o dépend de class1.o et class2.o, il les compile
ainsi de suite pour toutes les dépendances
Ensuite, comment le script sait que les interfaces de class1.h sont fournies par class1.c, c'est une macro spécifique qui est utilisée (et qui est ensuite enlevée du code source pour ne pas poser problème au compilateur C.
Le script node mentionné au dessus va aussi faire d'autres choses sympa. Comme générer automatiquement avec du code javascript des constantes dans le code C. Comme la date de build, le numéro de version, des valeurs aléatoires...
J'ai tenté une version plus simple de ce système en utilisant les Makefiles, mais ça ne marche pas si bien: linkopts
mais sinon, ceci n'a rien a voir avec un gestionnaire de dépendances.
[^] # Re: Naïveté
Posté par Mildred (site web personnel) . En réponse au journal biicode, c'est fini. Évalué à 1.
Sur ce principe, tu as le projet cjdns qui utilise un script nodejs pour compiler. le principe est le suivant:
main.cprincipalmain.c, et va voir que main.c va inclureclass1.hetclass2.hmain.odépend declass1.oetclass2.o, il les compileEnsuite, comment le script sait que les interfaces de
class1.hsont fournies parclass1.c, c'est une macro spécifique qui est utilisée (et qui est ensuite enlevée du code source pour ne pas poser problème au compilateur C.Le script node mentionné au dessus va aussi faire d'autres choses sympa. Comme générer automatiquement avec du code javascript des constantes dans le code C. Comme la date de build, le numéro de version, des valeurs aléatoires...
J'ai tenté une version plus simple de ce système en utilisant les Makefiles, mais ça ne marche pas si bien: linkopts
mais sinon, ceci n'a rien a voir avec un gestionnaire de dépendances.