W moim Makefile, muszę sprawdzić, czy bieżący katalog jest repozytorium SVN, czy nie, a jeśli nie, chcę wskazać błąd za pomocą dyrektywy $ (błąd) w Makefile .Jak sprawdzić zwracaną wartość z dyrektywy powłoki
Tak więc planuję użyć zwracanej wartości $ (shell svn info.), Ale nie jestem pewien jak uzyskać tę wartość z pliku Makefile.
Uwaga: Nie próbuję uzyskać wartości zwracanej w recepturze, ale raczej w środku pliku Makefile.
Teraz robię coś takiego, który działa tylko dlatego, stdout jest puste, gdy jest błąd:
SVN_INFO := $(shell svn info . 2> /dev/null)
ifeq ($(SVN_INFO),)
$(error "Not an SVN repo...")
endif
Chciałbym jeszcze się dowiedzieć, czy jest możliwe, aby uzyskać zwrot wartość zamiast w pliku Makefile.
dziwne, nigdy nie był w stanie uzyskać GNU make-tych [ '.SHELLSTATUS' variable] (https://www.gnu.org/software/make/manual/html_node/Shell-Function.html), aby działał zgodnie z oczekiwaniami. Zawsze było puste. Musiałem użyć poniższych metod. – jww