Вопросы с тегом «makefile»

Makefile - это входной файл для языка управления сборкой / инструмента make. Он определяет цели и зависимости, а также соответствующие команды для выполнения (например, рецепты) для обновления целей.

12
Проверьте, существует ли программа из Makefile
Как я могу проверить, можно ли вызвать программу из Makefile? (То есть программа должна существовать в пути или иным образом быть вызываемой.) Его можно использовать, например, для проверки того, какой компилятор установлен. Например, что-то вроде этого вопроса , но без предположения, что базовая оболочка совместима с POSIX.
115 makefile  gnu-make 

10
Можете ли вы сделать действительные файлы Makefile без символов табуляции?
target: dependencies command1 command2 В моей системе (Mac OS X), makeпохоже, требуется, чтобы в Makefiles был символ табуляции, предшествующий содержимому каждой commandстроки, или это вызывает синтаксическую ошибку. Это неприятно при создании или редактировании файлов Makefile, потому что мой редактор настроен на постоянное использование всех пространств. Можете ли вы сделать действительные …



12
как предотвратить ошибку «каталог уже существует» в make-файле при использовании mkdir
Мне нужно создать каталог в моем make-файле, и я бы не хотел, чтобы снова и снова появлялась ошибка «каталог уже существует», даже если я легко могу ее игнорировать. Я в основном использую mingw / msys, но хотел бы, чтобы что-то работало и в других оболочках / системах. Я пробовал это, …

4
Как передать аргумент Makefile из командной строки?
Как передать аргумент Makefile из командной строки? Я понимаю, что могу $ make action VAR="value" $ value с участием Makefile VAR = "default" action: @echo $(VAR) Как добиться следующего поведения? $ make action value value ? Как насчет $make action value1 value2 value1 value2

6
Как передать определение макроса из аргументов командной строки «make» (-D) в исходный код C?
Я обычно передаю определения макросов из «make command line» в «makefile», используя параметр: -Dname = value. Определение доступно внутри make-файла. Я также передаю определения макросов из «makefile» в «исходный код», используя аналогичный параметр компилятора: -Dname = value (поддерживается во многих компиляторах). Это определение доступно в исходном коде. Что мне сейчас …
107 c  macros  makefile 

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



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

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


16
Список целей / задач в GNU make, которые содержат переменные в своем определении
У меня есть довольно большой make-файл, который на лету создает несколько целей, вычисляя имена из переменных. (например, foo $ (VAR): $ (PREREQS)). Есть ли способ убедить gnu make выдать список целей после расширения этих переменных? Я хотел бы иметь возможность получать цели для произвольного make-файла. Я пытаюсь написать функцию завершения …
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.