2009-05-06 8 views
5

Używam (nieco przestarzałej) wersji nmake firmy Microsoft, która zazwyczaj jest pakowana w Visual Studio 6.0. (Jeśli jest odpowiednia odpowiedź na nowsze nmake - daj mi znać, mogę rozważyć upgrade).

Chcę zmienić istniejący plik Makefile, aby nie zawierał listy zależności, jeśli jest uruchomiony z celem nmake dpndfull, który powinien utworzyć listę zależności.

Z GNU make testowałbym, czy dpndfull jest w MAKECMDGOALS, a jeśli tak, to nie dołączę (może nieistniejącej) listy zależności.

Jakieś pomysły na znalezienie obecnego celu make z nmake?

+0

Proszę wyjaśnić, czy używasz Lucenta nmake, czy Microsoft NMAKE. Strona którą łączyłeś opisuje Lucenta nmake, ale oznaczyłeś to pytanie przez "visualstudio", co implikuje Microsoft NMAKE. –

+0

Mój zły, nie zauważyłem, że link dotyczy nmake'a Lucenta. Mówiłem o Microsoft's. Naprawiono teraz. –

Odpowiedz

1

To pytanie leży już od pięciu lat i nikt go nie dotknął. Pomyślał więc, że odpowiednia będzie odpowiednia odpowiedź.

Odpowiedź jest prosta. nr. Nie ma oczywistego odpowiednika MAKECMDGOALS w Microsoft NMAKE. Podczas wykonywania pliku Makefile nie ma możliwości znalezienia tego, co zostało dostarczone w linii komend wywołującej go. Jest makro $(MAKEFLAGS), ale pokazuje tylko flagi, a nie cele.

Jedyną metodą osiągnięcia tego, co jest wymagane, jest utworzenie reguły docelowej dla dpndfull, a następnie w tym miejscu użyj metod do budowania zależności. Omówienie tego, jak je zbudować dla NMAKE można znaleźć w pytaniu: makedepend equivalent for use with nmake?.

+0

PO nie mówi po rosyjsku, więc prawdopodobnie nie napisał tego ani tam, ani gdzie indziej. Myślę, że byłoby przyjemniej dla wszystkich, gdyby można było edytować odpowiedź bez omawiania OP. –

+0

@ElazarLeibovich - Tak; z przyjemnością. –