Plik makefile jest plikiem wejściowym dla języka / narzędzia kontroli kompilacji. Określa cele i zależności wraz z powiązanymi poleceniami do wykonania (inaczej recepturami), aby zaktualizować cele.
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 …
target: dependencies command1 command2 W moim systemie (Mac OS X) makewydaje się wymagać, aby pliki Makefiles miały znak tabulacji poprzedzający zawartość każdego commandwiersza lub generuje błąd składni. Jest to irytujące podczas tworzenia lub edytowania plików Makefile, ponieważ mój edytor jest ustawiony na cały czas. Czy możesz tworzyć poprawne pliki Makefile …
Muszę wygenerować katalog w moim pliku makefile i nie chciałbym, aby komunikat „katalog już istnieje” w kółko, mimo że mogę go łatwo zignorować. Używam głównie mingw / msys, ale chciałbym czegoś, co działa również w innych powłokach / systemach. Próbowałem tego, ale nie zadziałało, jakieś pomysły? ifeq (,$(findstring $(OBJDIR),$(wildcard $(OBJDIR) …
Jak przekazać argument do Makefile z linii poleceń? Rozumiem, że mogę to zrobić $ make action VAR="value" $ value z Makefile VAR = "default" action: @echo $(VAR) Jak uzyskać następujące zachowanie? $ make action value value ? Co powiesz na $make action value1 value2 value1 value2
Zazwyczaj przekazuję definicje makr z "make command line" do "makefile" używając opcji: -Dname = wartość. Definicja jest dostępna w pliku makefile. Przekazuję również definicje makr z „makefile” do „kodu źródłowego” przy użyciu podobnej opcji kompilatora: -Dname = wartość (obsługiwana w wielu kompilatorach). Ta definicja jest dostępna w kodzie źródłowym. To, …
Próbuję wykonać następujące czynności. Istnieje program, nazwij go foo-bin, który pobiera pojedynczy plik wejściowy i generuje dwa pliki wyjściowe. Głupia reguła Makefile byłaby następująca: file-a.out file-b.out: input.in foo-bin input.in file-a.out file-b.out Nie oznacza to jednak makew żaden sposób, że oba cele zostaną wygenerowane jednocześnie. Jest to dobre, gdy działa makew …
Rozumiem, że CFLAGS (lub CXXFLAGS dla C ++) są dla kompilatora, podczas gdy CPPFLAGS jest używany przez preprocesor. Ale nadal nie rozumiem różnicy. Muszę określić ścieżkę dołączania do pliku nagłówkowego, który jest zawarty w #include - ponieważ #include jest dyrektywą preprocesora, czy preprocesor (CPPFLAGS) jest jedyną rzeczą, na której mi …
Jestem bardzo nowy w makefile i chcę tworzyć katalogi za pomocą makefile. Mój katalog projektu wygląda tak +--Project +--output +--source +Testfile.cpp +Makefile Chcę umieścić wszystkie obiekty i dane wyjściowe w odpowiednim folderze wyjściowym. Chcę stworzyć strukturę folderów, która będzie taka po kompilacji. +--Project +--output +--debug (or release) +--objs +Testfile.o +Testfile …
Mam dość duży plik makefile, który tworzy wiele celów w locie, obliczając nazwy ze zmiennych. (np. foo $ (VAR): $ (PREREQS)). Czy istnieje sposób, w jaki można przekonać gnu make do wyplucia listy celów po rozwinięciu tych zmiennych? Chciałbym móc znaleźć cele dla aribitrary makefile. Próbuję napisać funkcję uzupełniającą dla …
Próbuję wykorzystać wynik lsw innych poleceniach (np. Echo, rsync): all: <Building, creating some .tgz files - removed for clarity> FILES = $(shell ls) echo $(FILES) Ale dostaję: make FILES = Makefile file1.tgz file2.tgz file3.tgz make: FILES: No such file or directory make: *** [all] Error 1 Próbowałem za pomocą echo …
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.