Pytania otagowane jako makefile

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.

12
Sprawdź, czy istnieje program z pliku Makefile
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 …
115 makefile  gnu-make 

10
Czy możesz tworzyć poprawne pliki Makefile bez znaków tabulacji?
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 …



12
jak uniknąć błędu „katalog już istnieje” w pliku makefile podczas korzystania z mkdir
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) …


6
Jak przekazać definicję makra z argumentów wiersza poleceń „make” (-D) do kodu źródłowego C?
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, …
107 c  macros  makefile 

8
Reguła GNU Makefile generująca kilka celów z jednego pliku źródłowego
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 …
106 makefile 



4
CFLAGS vs CPPFLAGS
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 …

9
Utwórz katalogi za pomocą make file
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 …


16
Wypisz cele / cele w marce GNU, które zawierają zmienne w swojej definicji
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 …
100 makefile  gnu-make 

2
Jak używać poleceń powłoki w Makefile
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 …
99 bash  makefile  echo 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.