2009-05-06 14 views
5

Sto usando una versione Microsoft (un po 'obsoleta) di nmake, che di solito è confezionata con Visual Studio 6.0. (Se c'è una risposta rilevante per i nuovi nmake - fammelo sapere, potrei prendere in considerazione l'aggiornamento).

Desidero modificare il makefile esistente, in modo che non includa l'elenco delle dipendenze se viene eseguito con l'obiettivo nmake dpndfull, che dovrebbe creare l'elenco delle dipendenze.

Con GNU make testerei se dpndfull è in MAKECMDGOALS e, in caso affermativo, non includerei l'elenco di dipendenze (forse inesistente).

Qualche idea su come trovare l'attuale obiettivo con nmake?

+0

Si prega di chiarire se si sta utilizzando Lucent nmake o Microsoft NMAKE. La pagina che hai collegato descrive Lucent nmake, ma hai taggato questa domanda con "visualstudio", che implica Microsoft NMAKE. –

+0

Mio male, non ho notato che il collegamento riguardava il nmake di Lucent. Stavo parlando di Microsoft. Risolto ora. –

risposta

1

Questa domanda è in sospeso da cinque anni e nessuno l'ha toccata. Quindi pensava che sarebbe stata una risposta appropriata.

La risposta è semplice. No. Non esiste un equivalente ovvio di MAKECMDGOALS in Microsoft NMAKE. Non c'è modo, durante l'esecuzione del makefile, di scoprire cosa è stato fornito sulla linea di comando invocandolo. C'è la macro $(MAKEFLAGS) ma che mostra solo i flag e non i target.

L'unico metodo per ottenere ciò che viene richiesto è creare una regola di destinazione per dpndfull e quindi in quel punto utilizzare i metodi per la costruzione delle dipendenze. Una discussione su come costruire questi per NMAKE può essere trovata nella domanda makedepend equivalent for use with nmake?.

+0

L'OP non parla russo, quindi probabilmente non l'ha scritto lì, né altrove. Penso che sarebbe più piacevole per tutti se potessi modificare la risposta senza discutere dell'OP. –

+0

@ ElazarLeibovich - Sì; felice di obbligare. –