Описание тега gnu-make

Этот тег предназначен для вопросов о `gmake`, версии GNU утилиты`make` для обслуживания и обновления программ.
1 ответ

Принудительно заставить команды выполнять команды в одной среде

У меня есть make-файл для компиляции кроссплатформенного приложения. Для Windows я решил использовать MSVC. Для настройки цепочки инструментов компилятора (переменные среды для легкого доступа к компилятору для конкретной целевой архитектуры) MSVC п…
11 мар '18 в 06:55
4 ответа

Добавить в GNU make переменные через командную строку

Я использую GNU-make Makefile для сборки проекта C с несколькими целями (all, cleanи несколько конкретных целей проекта). В процессе отладки я хотел бы добавить некоторые флаги в одну сборку без постоянного редактирования файла Makefile (например, д…
24 янв '10 в 23:33
1 ответ

Как сгенерировать список файлов, скомпилированных из GNU, сделать инкрементную сборку?

Вот чего я пытаюсь достичь: Каждый раз, когда вызывается make, внутри моего Makefile у меня есть вызов скрипта, который запускает инструмент lint. Однако я не хочу, чтобы lint снова осуществлял поиск по всей базе кода, вместо этого он должен работат…
12 мар '17 в 02:04
1 ответ

Можно ли использовать шаблоны в Makefile для отображения середины имени файла от источника к цели?

У меня есть набор файлов, которые все выглядят так: meta_UNIQID_set.xml.gz и хотел бы использовать Makefile сделать цели, которые выглядят как UNIQID.json.gz, Обоснование заключается в том, чтобы вписаться в существующий многошаговый конвейер (где и…
08 ноя '18 в 12:24
1 ответ

patsubst и компиляция исходных файлов

Как я понимаю, приведенные ниже строки в моем make-файле должны компилировать все исходные файлы в текущем каталоге SRC=Connection.cpp Request.cpp SessionHandler.cpp OBJS=$(patsubst %.cpp,obj/%.o,$(SRC)) $(OBJS) : | obj obj: @mkdir -p $@ obj/%.o : %…
19 янв '16 в 17:39
2 ответа

Makefile дает разные результаты при запуске во второй раз

У меня есть такое правило в make-файле: target : dependencies rm -rd somedirectory runcodecoverage.exe # this generates somefile $(eval COVERAGE=$(shell grep "blah" somefile)) @echo $(COVERAGE) Когда я запускаю этот файл в первый раз (после очистки)…
07 дек '15 в 15:26
1 ответ

Что такое IAR-эквивалент __attribute__(раздел)

Могу ли я напрямую использовать __attribute__((section)) непосредственно, как я сделал в arm gcc или есть какой-то эквивалент для того же.. Мой код имеет функции, использующие вышеупомянутую конструкцию (которая определяется через макрос).. #define …
12 ноя '15 в 03:57
4 ответа

Где программа make хранит информацию?

Как именно make знает, был ли файл изменен или нет, для запуска определенных правил? Эта информация должна быть в каком-то месте, поэтому где-то хранится файл с метками времени из файлов? Существует множество программ make, поэтому я не уверен, что …
05 ноя '11 в 01:23
0 ответов

Процесс продолжает работать после получения необработанного SIGINT (Ctrl-C от терминала)

Я пытаюсь прервать некоторые запущенные процессы с Ctrl-C из терминала; некоторые делают, некоторые нет. Один из проблемных процессов (Process-A) - это сборочный файл GNU, в котором нет ничего сложного; просто обычная система создания файлов. Другое…
09 авг '18 в 07:20
1 ответ

GNU Make: Как экспортировать переменную SHELL в подмодели?

Из GNU Make инструкция: Значение переменной make SHELL не экспортируется. Вместо этого значение переменной SHELL из вызывающей среды передается вспомогательному производителю. Вы можете заставить make экспортировать его значение для SHELL, используя…
12 июл '10 в 08:15
0 ответов

Как определить псевдоним для включаемого каталога в моем MakeFile?

Мой репозиторий проекта имеет следующую структуру: include ---- world src В моем MakeFile я включаю заголовки так: INCLUDES = -I include Однако по причинам, выходящим за рамки этого вопроса, я хотел бы сослаться на мой каталог include с псевдонимом.…
25 ноя '15 в 23:45
1 ответ

Путь в make-файле не работает

Я управляю следующим makefile который должен измениться dir к конкретной цели и бежать туда npm install Проблема в том, что я смог увидеть в выводе, что он распечатывает каталог (project/app) в нужный каталог, но установка (npm install) запускается …
25 июн '18 в 11:39
1 ответ

Несколько правил для одной цели - не работает, как ожидалось

Вот сокращенная версия Makefile, с которым я борюсь в системе Linux: VPATH=altsrc:src:obj OBJECTS=\ nondepcode1.o \ nondepcode2.o \ nondepcode3.o \ depcode1.o \ depcode2.o \ depcode3.o DEP_OBJS= depcode1.o depcode2.o depcode3.o # Targets execute: $(…
12 июл '12 в 18:18
1 ответ

Экранирование переменных make-файла (для внутреннего использования в make-файле)

Можно ли "безопасно" развернуть переменную в make-файле, избегая всех символов, которые make-файл считает специальными? В качестве примера предположим, что переменная используется в качестве цели: ${external_chaos}: dd if=/dev/zero of=${external_cha…
25 фев '15 в 20:14
1 ответ

makefile, чтобы сжать все папки в текущем каталоге

Я пытаюсь написать make-файл, который будет сжимать (zip) все папки в моем текущем рабочем каталоге. Что я получил так далеко, это: SUBDIRS := $(wildcard */) ZIPS := $(addsuffix .zip,$(subst /,,$(SUBDIRS))) $(ZIPS) : %.zip : | % zip $@ $*/* dist: $(…
12 апр '18 в 22:09
1 ответ

make: *** Нет целей. Стоп

Это то, что у меня есть для создания *.o файлов, я не хочу создавать двоичный файл. Этот GNUmake находится в /obj. Излишне говорить, что это не работает. Вы случайно не знаете, что я делаю не так?
28 окт '12 в 03:18
1 ответ

Переопределение неявного правила определенных целей без вмешательства в -MMD

Скажи, у меня есть простой Makefile вот так: CXXFLAGS+=-O3 -Wall -pednatic -MMD -Isrc SRCS=$(shell find src -name '*.cpp') OBJS=${SRCS:.cpp=.o} TEST_SRCS=$(shell find test -name '*.cpp') TEST_OBJS=${TEST_SRCS:.cpp=.o} all: bin/product bin/product: $…
12 июл '18 в 02:32
1 ответ

Makefile, анонимная команда rm выполнена наконец

Необходимая полоса Makefile выглядит следующим образом PCS=$(wildcard $(PC)/*.pc) SRCS=$(PCS:$(PC)/%.pc=$(SRC)/%.cpp) OBJS=$(SRCS:$(SRC)/%.cpp=$(OBJ)/%.o) f2db : $(OBJS) $(CC) $(INCS) $(LIBS) $(FLAGS) $(OBJS) f2db.cpp -o $@ $(OBJ)/%.o : $(SRC)/%.cpp…
29 апр '14 в 07:24
1 ответ

Сделать цель перед использованием в вызове $(shell)

У меня есть проект, который можно настроить через scenario.xml файл. Проект содержит небольшой инструмент для извлечения информации из этого XML-файла (tools/xmlq), который скомпилирован из исходного файла переменного тока. Make-файлы используют это…
29 июн '17 в 09:51
3 ответа

Почему "сделать все" работает, как ожидалось, без добавления "всех" к цели.PHONY?

Я знаю, что делает .PHONY. Если в папке, где находится мой Makefile, я добавлю пустой файл с именем clean, и после запуска make clean все чистые цели не будут выполнены, так как в файле не было никаких изменений, поэтому цель не будет работать, и эт…
07 июл '18 в 18:15