2009-05-06 4 views
5

Estoy usando una versión de Microsoft (algo desactualizada) de nmake, que generalmente se empaqueta con visual studio 6.0. (Si hay una respuesta relevante para nmake más reciente, avíseme, podría considerar la actualización).

Deseo modificar el archivo MAKE existente, para que no incluya la lista de dependencias si se ejecuta con el objetivo nmake dpndfull, que debe construir la lista de dependencias.

Con GNU make probaría si dpndfull está en , y si lo hace no incluiría la lista de dependencia (tal vez no existe).

¿Alguna idea de cómo encontrar el objetivo actual con nmake?

+0

Aclare si está utilizando Lucent nmake o Microsoft NMAKE. La página a la que vinculó describe a Lucent nmake, pero ha etiquetado esta pregunta con "visualstudio", lo que implica Microsoft NMAKE. –

+0

Malo, no noté que el enlace era sobre nmake de Lucent. Estaba hablando de Microsoft. Corregido ahora. –

Respuesta

1

Esta pregunta ya lleva cinco años sin que nadie la haya tocado. Entonces pensó que una respuesta sería apropiada.

La respuesta es simple. No. No existe un equivalente obvio de MAKECMDGOALS en Microsoft NMAKE. No es posible, durante la ejecución del archivo MAKE, descubrir qué se suministró en la línea de comandos invocando. Está el macro $(MAKEFLAGS) pero eso solo muestra banderas y no los objetivos.

El único método para lograr lo que se pide es hacer una regla de destino para dpndfull y luego en ese lugar usar los métodos para construir dependencias. Puede encontrar una discusión sobre cómo construir estos para NMAKE en la pregunta makedepend equivalent for use with nmake?.

+0

El OP no habla ruso, por lo que probablemente no lo escribió allí ni en ningún otro lado. Creo que sería más agradable para todos si pudieras editar la respuesta sin discutir el PO. –

+0

@ElazarLeibovich - Sí; feliz de complacer –