Funkcja sprawdzająca, czy plik istnieje w GNU Make

Pliki Make Make GNU pozwalają twojemu małemu biznesowi wydać kod źródłowy, który może dostosować jego kompilację do maszyny określonego klienta i uprzednio wykryć problemy lub niespełnione zależności oprogramowania. Sprawdzenie, czy pewne pliki istnieją, ma kluczowe znaczenie dla funkcji tworzenia GNU, i możesz wybrać jedną z kilku metod, aby to zrobić.

Reguły

Jednym ze sposobów sprawdzenia, czy plik istnieje w pliku Make Make GNU, jest wbudowany system reguł. Kod poniżej składni "cel: normal-prerequisites | order-only-prerequisites" zostanie wykonany, jeśli plik lub pliki określone jako "target" nie są nowsze niż te określone w "normal-prerequisites" i jeśli pliki, które określić w "wymagania-tylko-wymagania wstępne" istnieją. Jeśli używasz składni "cel: | tylko zamówienie-wymagania wstępne" i nie określaj żadnych plików po lewej stronie "|" symbol, wówczas poniższy kod zostanie wykonany tylko wtedy, gdy istnieje plik lub pliki określone jako "wymagania wstępne dotyczące zamówienia".

Funkcja testu

Polecenie "test -f" może również sprawdzić, czy dany plik istnieje. To polecenie przyjmuje nazwę pliku jako argument, a następnie zwraca wartość logiczną "true", jeśli ścieżka pliku, którą przekazałeś, istnieje, i "false", jeśli jej tam nie ma. Możesz zintegrować tę komendę z instrukcjami "if" i innymi funkcjami kontrolnymi umieszczonymi w pliku makefile, aby uzyskać szczegółową kontrolę nad obsługą dowolnego z wyników.

Sprawdzanie katalogu

Metoda rules lub polecenie "test -d" działa dokładnie tak samo jak polecenie "test -f", tylko zwraca true, jeśli ścieżka podana jako argument jest istniejącym katalogiem, zamiast sprawdzać, czy argument jest plikiem . Jeśli sprawdzasz istnienie katalogu, w którym twój plik Makefile będzie kompilował lub tworzył pliki, polecenie "mkdir -p directory-name" spróbuje utworzyć katalog o nazwie określonej jako "directory-name", chyba że już istnieje. Argument "-p" zapobiega wysyłaniu przez mkdir komunikatu o błędzie, który sprawia, że ​​użytkownik końcowy myśli, że coś poszło nie tak. Następnie możesz użyć katalogu w kodzie makefile, wiedząc, że plik istnieje - ponieważ już tam był lub dlatego, że został utworzony przez mkdir.

Solidna Makefile

Różne systemy klienckie przechowują pakiety, od których zależy twoje oprogramowanie w nieco innych ścieżkach katalogów. Jeśli jednak przyjmiesz jedną lokalizację, twoi klienci mogą otrzymać pliki makefile, które powiedzą im, że potrzebują pakietu oprogramowania, który już posiadają. Możesz zminimalizować ten problem, badając różne systemy używane przez bazę klientów docelowych i upewnij się, że twój plik Makefile sprawdza wiele możliwych lokalizacji zależnych pakietów oprogramowania.

Popularne Wiadomości