J'ai eu des problèmes pour faire fonctionner mes fichiers makefile comme je le souhaite. Tout d'abord, je voudrais dire que c'est POSIX faire, comme dans http://www.opengroup.org/onlinepubs/009695399/utilities/make.html J'ai besoin de mon système de construction pour travailler avec les deux BSD et GNU (Linux).Séparation d'objets et de sources avec un fichier makefile
Ce que je veux, c'est un fichier makefile sans maintenance. Je veux juste compiler tous les fichiers .c et .asm dans src/et placer les fichiers objets dans objs/et ensuite relier tout dans objs/vers un fichier binaire.
Je peux faire beaucoup, mais je ne peux pas l'obtenir pour séparer les fichiers source et obj.
Je suis d'accord si cela nécessite un peu de script shell intégré (en utilisant POSIX défini/bin/sh), mais je ne peux tout simplement pas obtenir les dépendances à travailler correctement. Je veux qu'il ne construise le fichier d'objet que si le fichier source est plus récent.
Mon plus proche est la suivante:
${C_OBJS}: ${HDRS} ${*:objs/%=src/%}.c ${CC} ${CFLAGS} -c ${*:objs/%=src/%}.c -o $*.o
Cela a le problème que je dois préciser encore C_OBJS = obj/foo.o et tel et aussi il est à peine et donc pas Posix, compile avec make BSD mais pas GNU make.
Est-ce que c'est sarcastique? Je suppose que je peux aller juste pour supporter BSD et GNU make, ce qui semble fonctionner sur GNU make, et je pense que c'est "proche" de travailler sur BSD. – Earlz
Ok, attendez, en fait cela ne marche pas du tout pour BSD faire – Earlz