Czy istnieje sposób na wyjście z warunkiem błędu, jeśli plik nie istnieje? Jestem obecnie robi coś takiego:Testowanie, czy plik istnieje w pliku docelowym pliku Makefile i zakończenie, jeśli nie jest dostępny
all: foo
foo:
test -s /opt/local/bin/gsort || echo "GNU sort does not exist! Exiting..." && exit
Running make
biegnie Docelowa all
, która biegnie foo
.
Oczekiwane jest, że jeśli warunkowe test -s
nie powiedzie się, zostaną wykonane instrukcje .
Jednak nawet jeśli istnieje /usr/bin/gsort
, otrzymuję wynik instrukcji echo
, ale polecenie exit
nie działa. Jest to przeciwieństwo tego, co mam nadzieję osiągnąć.
Jaki jest prawidłowy sposób na wykonanie czegoś podobnego?
Gdy próbuję to w wierszu poleceń, mając właściwej strony '' || w nawiasie, aby uzyskać powłokę sub, sprawia, że działa zgodnie z oczekiwaniami. Nie mam pojęcia, czy to jest to samo w pliku Makefile. Bez nawiasu "wyjście" zostanie wykonane, nawet jeśli test będzie pozytywny. – HonkyTonk