Запитання з тегом «makefile»

Makefile - це вхідний файл для керування мовою / інструментом збирання. Він визначає цілі та залежності разом із пов'язаними командами для виконання (він же рецептів) для оновлення цілей.

12
Перевірте, чи існує програма з Makefile
Як я можу перевірити, чи можна програму викликати з Makefile? (Тобто програма повинна існувати на шляху або іншим чином може бути викликана.) Він може використовуватися, наприклад, для перевірки встановлення компілятора. Наприклад, щось подібне до цього питання , але не припускаючи, що основна оболонка сумісна з POSIX.
115 makefile  gnu-make 

10
Чи можете ви зробити дійсні Makefiles без символів табуляції?
target: dependencies command1 command2 У моїй системі (Mac OS X), makeсхоже, потрібно, щоб у Makefiles був символ вкладки, що передує вмісту кожного commandрядка, або він видає синтаксичну помилку. Це викликає роздратування під час створення чи редагування Makefiles, оскільки в мене редактор налаштований на всі простори. Чи можете ви зробити дійсні …



12
як запобігти "директорії вже існує помилка" в makefile при використанні mkdir
Мені потрібно генерувати каталог у своєму makefile, і я хотів би не отримувати "каталог вже існує помилка" знову і знову, хоча я легко ігнорую її. Я в основному використовую mingw / msys, але хотів би те, що працює і в інших оболонках / системах. Я спробував це, але нічого не …


6
Як передати визначення макросу з аргументів командного рядка «make» (-D) до вихідного коду C?
Зазвичай я передаю визначення макросу з "make command line" в "makefile", використовуючи параметр: -Dname = значення. Визначення доступне всередині makefile. Я також передаю визначення макросу з "makefile" до "вихідного коду", використовуючи аналогічний варіант компілятора: -Dname = значення (підтримується у багатьох компіляторах). Це визначення доступне у вихідному коді. Що мені зараз …
107 c  macros  makefile 

8
Правило Makefile GNU, що генерує кілька цілей з одного вихідного файлу
Я намагаюся зробити наступне. Існує програма, назвіть її foo-bin, яка містить один вхідний файл і генерує два вихідних файли. Тупим правилом Makefile для цього буде: file-a.out file-b.out: input.in foo-bin input.in file-a.out file-b.out Однак це жодним чином не говорить про makeте, що обидві цілі будуть генеруватися одночасно. Це добре, коли ви …
106 makefile 

4
Що означає "все" у файлі?
Я прочитав кілька навчальних посібників щодо Makefiles, але для мене все ще незрозуміло, на що позначається ціль "усе" і що вона робить. Якісь ідеї?
105 makefile 

4
CFLAGS проти CPPFLAGS
Я розумію, що CFLAGS (або CXXFLAGS для C ++) призначений для компілятора, тоді як CPPFLAGS використовується препроцесором. Але я все ще не розумію різниці. Мені потрібно вказати шлях включення для файлу заголовка, який входить до #include - оскільки #include є директивою препроцесора, чи є єдиним, що мене хвилює для препроцесора …


9
Створіть каталоги за допомогою файлу make
Я дуже новачок в makefiles і хочу створити каталоги за допомогою makefile. Мій каталог проектів такий +--Project +--output +--source +Testfile.cpp +Makefile Я хочу помістити всі об'єкти та вивести у відповідну папку виводу. Я хочу створити структуру папок, яка була б такою після компілювання. +--Project +--output +--debug (or release) +--objs +Testfile.o …


16
Перерахуйте цілі / цілі в GNU, які містять змінні у своєму визначенні
У мене досить великий makefile, який створює ряд цілей на льоту, обчислюючи імена зі змінних. (наприклад, foo $ (VAR): $ (PREREQS)). Чи є якийсь спосіб переконати gnu, щоб виплюнути список цілей після того, як розширив ці змінні? Я хотів би мати можливість отримати цілі для атрибутивного makefile. Я намагаюся написати …
100 makefile  gnu-make 

2
Як використовувати команди оболонки у Makefile
Я намагаюся використовувати результат lsв інших командах (наприклад, echo, rsync): all: <Building, creating some .tgz files - removed for clarity> FILES = $(shell ls) echo $(FILES) Але я отримую: make FILES = Makefile file1.tgz file2.tgz file3.tgz make: FILES: No such file or directory make: *** [all] Error 1 Я пробував …
99 bash  makefile  echo 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.