2009-05-06 8 views
5

J'utilise une version Microsoft (un peu obsolète) de nmake, qui est généralement fournie avec Visual Studio 6.0. (S'il y a une réponse pertinente pour nmake plus récent - faites le moi savoir, je pourrais envisager de mettre à jour).

Je souhaite modifier le fichier Make existant, afin qu'il n'inclue pas la liste de dépendances s'il est exécuté avec l'objectif nmake dpndfull, qui doit générer la liste des dépendances. Avec GNU make, je testerais si dpndfull est dans MAKECMDGOALS, et si c'est le cas je n'inclurais pas la liste des dépendances (peut-être non existantes).

Des idées pour trouver l'objectif actuel avec nmake?

+0

Veuillez préciser si vous utilisez Lucent nmake ou Microsoft NMAKE. La page que vous avez consulté décrit Lucent nmake, mais vous avez tagué cette question avec "visualstudio", ce qui implique Microsoft NMAKE. –

+0

Mon diable, je n'ai pas remarqué que le lien était sur nmake de Lucent. Je parlais de Microsoft. Fixé maintenant –

Répondre

1

Cette question est là depuis cinq ans maintenant et personne ne l'a touchée. Donc, il pensait qu'une réponse serait appropriée.

La réponse est simple. n °. Il n'y a aucun équivalent évident de MAKECMDGOALS dans Microsoft NMAKE. Il n'y a aucun moyen, lors de l'exécution du fichier makefile, de découvrir ce qui a été fourni sur la ligne de commande en l'invoquant. Il y a la macro $(MAKEFLAGS) mais qui ne montre que les drapeaux et non les cibles.

La seule méthode permettant d'obtenir ce qui est demandé est de créer une règle cible pour dpndfull, puis d'utiliser les méthodes de construction des dépendances à cet endroit. Une discussion sur la façon de les construire pour NMAKE peut être trouvée dans la question makedepend equivalent for use with nmake?.

+0

L'OP ne parle pas russe, donc il ne l'a probablement pas écrit là-bas, ou partout ailleurs. Je pense que ce serait plus agréable pour tout le monde si vous pouviez éditer la réponse sans discuter du PO. –

+0

@ElazarLeibovich - Oui; heureux d'obliger. –