Czy ktoś może wyjaśnić, jak naprawdę działa przypisanie zmiennych w Makefiles. Jaka jest różnica pomiędzy : VARIABLE = value VARIABLE ?= value VARIABLE := value VARIABLE += value Przeczytałem ten rozdział w instrukcji GNU Make, ale nadal nie ma to dla mnie sensu.
Korzystam z CMake z GNU Make i chciałbym zobaczyć wszystkie polecenia dokładnie (na przykład jak kompilator jest wykonywany, wszystkie flagi itp.). GNU make ma --debug, ale nie wydaje się pomocne, czy są jakieś inne opcje? Czy CMake zapewnia dodatkowe flagi w wygenerowanym pliku Makefile w celu debugowania?
W moim makefile mam zmienną „NDK_PROJECT_PATH”, moje pytanie brzmi: jak mogę go wydrukować podczas kompilacji? Przeczytałem polecenie Utwórz echo pliku zawierające ciąg „$ PATH” i próbowałem: @echo $(NDK_PROJECT_PATH) @echo $(value NDK_PROJECT_PATH) Oba dają mi "build-local.mk:102: *** missing separator. Stop." Czy ktoś wie, dlaczego to dla mnie nie działa?
W moim pliku GNUmakefile chciałbym mieć regułę, która korzysta z katalogu tymczasowego. Na przykład: out.tar: TMP := $(shell mktemp -d) echo hi $(TMP)/hi.txt tar -C $(TMP) cf $@ . rm -rf $(TMP) Jak napisano, powyższa reguła tworzy katalog tymczasowy w momencie analizowania reguły . Oznacza to, że nawet ja nie …
Mam kilka plików Makefiles w katalogach specyficznych dla aplikacji, takich jak to: /project1/apps/app_typeA/Makefile /project1/apps/app_typeB/Makefile /project1/apps/app_typeC/Makefile Każdy plik Makefile zawiera plik .inc w tej ścieżce o jeden poziom wyżej: /project1/apps/app_rules.inc Wewnątrz app_rules.inc Ustawiam miejsce docelowe, w którym chcę umieścić pliki binarne po zbudowaniu. Chcę, aby wszystkie pliki binarne były na odpowiedniej …
Użyłem trochę prowizji (program do tworzenia Ruby) i ma opcję uzyskania listy wszystkich dostępnych celów, np. > rake --tasks rake db:charset # retrieve the charset for your data... rake db:collation # retrieve the collation for your da... rake db:create # Creates the databases defined in y... rake db:drop # Drops …
Mam następujący plik makefile dla mojego projektu i chciałbym go skonfigurować do wydania i debugowania kompilacji. W moim kodzie mam wiele #ifdef DEBUGmakr, więc wystarczy ustawić to makro i dodać -g3 -gdwarf2flagi do kompilatorów. W jaki sposób mogę to zrobić? $(CC) = g++ -g3 -gdwarf2 $(cc) = gcc -g3 -gdwarf2 …
W podręczniku GNU Makefile wspomina o tych przedrostkach. Jeśli podano .ONESHELL, tylko pierwsza linia receptury zostanie sprawdzona pod kątem specjalnych prefiksów („@”, „-” i „+”). Co robią te przedrostki i gdzie są wymienione?
Próbuję zrozumieć różnicę między „gmake” a „make”? Na moim Linuksie są identyczne: % gmake --version GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. % …
Postępuję zgodnie z instrukcjami osoby, której repozytorium sklonowałem na mój komputer. To, czego chcę, jest proste: móc użyć makepolecenia w ramach konfigurowania środowiska kodu. Ale używam systemu Windows i szukałem w Internecie tylko po to, aby znaleźć plik make.exe do pobrania, make-4.1.tar.gzplik do pobrania (nie wiem, co z nim dalej …
Otrzymuję nieoczekiwane wyniki podczas wywoływania jednego pliku makefile z innego. Mam dwa pliki makefile, jeden o nazwie /path/to/project/makefilei jeden o nazwie /path/to/project/gtest-1.4.0/make/Makefile. Staram się, aby ten pierwszy zadzwonił do drugiego. W / path / to / project / makefile mam dev: $(OBJ_FILES) $(CPPC) $(LIBS) $(FLAGS_DEV) $(OBJ_FILES) -o $(BIN_DIR)/$(PROJECT) $(MAKE) -f …
Jak mogę sprawdzić, czy program można wywołać z pliku Makefile? (Oznacza to, że program powinien istnieć w ścieżce lub być w inny sposób wywoływalny). Można go użyć na przykład do sprawdzenia, dla którego kompilatora jest zainstalowany. Np. Coś w rodzaju tego pytania , ale bez zakładania, że podstawowa powłoka jest …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.