2012-02-14 15 views
6

Próbuję zrozumieć prosty ciąg wiersza polecenia, który wykonuje Javac i przekazuje mu kilka prostych argumentów. Kompletna linia poleceń jest:

javac -d $(OUTPATH) -sourcepath $(SOURCEPATH) $< 

Wszystko w tej linii jest proste i zrozumiałe dla mnie z wyjątkiem końcowych tokeny: $<.

Co oznaczają te żetony?

ADDENDUM: Rzeczywiście, komentatorzy są poprawni. Ta linia występuje w pliku Makefile. Teraz jest dla mnie oczywiste, ale nie kiedy napisałem to pytanie, że plik Makefile jest przekazywany do make i nie jest skryptem powłoki.

Uwaga: What do $< and [email protected] represent in a Makefile? również omawia to (nie widziałem, kiedy szukałem poprzednich pytań na ten temat).

+2

Czy to jest plik Makefile? –

+0

Nie sądzę, że jest to poprawna składnia bash. – asf107

+0

Zgaduję, że to dlatego, że $ jordanm

Odpowiedz

7

Wygląda to jak coś z pliku Makefile, a nie z wiersza poleceń. W takim przypadku $< rozwija się do pierwszego warunku bieżącego bieżącego celu. Oznacza to, że plik .java, od którego zależy cel .class.