Свързани въпроси 'gnu-make'

Специфична за целта променлива на Makefile и множество извиквания към основна цел, нищо не трябва да се прави
Това, което бих искал да направя с GNU Make, е да имам единична основна цел, която може да бъде извикана с леки вариации в зависимост от действителната извикана цел. За да постигна това, опитах да използвам специфични за целта променливи, както е...
239 изгледи
schedule 18.09.2022

nmake хвърля грешка, ако променливата не е дефинирана
Имам makefile, който изпълнявам през nmake, за разлика от gnumake. Имам някакъв код, взет от makefile, предназначен за gnumake... # out_repo = ifndef out_repo $(error out_repo is not set) endif Това не работи с nmake. Има ли начин в...
61 изгледи
schedule 16.09.2022

Make: синтактична грешка близо до неочакван токен `--initialization'
Опитвам се да напиша 'if' check in define директива в един от нашите make файлове. Всъщност се опитвам да проверя платформата и да продължа с настройката на средата. define templ_32 mkdir -p $(@D) if [ "$(PLAT)" = "x86_64" ]; then env...
1313 изгледи
schedule 28.09.2022

Направете чувствителност на файла към дефинициите на предпроцесора
Написах make файл. В make файла използвах променлива, да кажем EXTRAFLAGS, която изглежда така. EXTRAFLAGS += -D _MSC_VER EXTRAFLAGS += -D BINARYINPUT EXTRAFLAGS += -D ENABLEVERSION2D2 Освен това използвам флагове на компилатора CFLAGS...
465 изгледи
schedule 24.11.2023

Обяснете Makefile, генериран от mkmakefile (Linux ядро, buildroot, busybox)
Скриптът mkmakefile генерира следния Makefile в builddir. Ако бъдат извикани, всички цели се предават на srcdir Makefile. Може ли някой да обясни защо? Къде е магията? lastword = $(word $(words $(1)),$(1)) makedir := $(dir $(call...
663 изгледи

$$‹ във вторичното разширяване на неявни правила изглежда грешно - какво пропускам?
Изглежда, че $$< във второстепенно разширение на предпоставка за имплицитни правила, оценява към целта, а не, както бих очаквал от ръководството, първата вече присвоена предпоставка. какво ми липсва > cat Makefile .SECONDEXPANSION:...
67 изгледи
schedule 23.10.2022

Makefile понякога игнорира променливата в рецептата
Имам следния Makefile CXX = g++ CXXFLAGS = -g -Wall COMPILE = ${CXX} ${CXXFLAGS} -c LINK = ${CXX} -lpthread LIB_INC = -Ilib -Iwrappers -Iprocesses src := $(wildcard lib/*.cpp) $(wildcard wrappers/*.cpp) obj = $(src:.cpp=.o) src_1 :=...
367 изгледи
schedule 30.11.2023

Вземете предупредителен изход за make makefile, за да включите нови редове за печат
Как да накарам make да отпечата нови редове с върнати данни от shell? Научавам make, като модифицирам makefile. Би било хубаво да излиза нов ред като нов ред. # simple trial makefile $(warning Making where CURDIR is $(CURDIR)) $(warning $(shell...
447 изгледи
schedule 30.10.2023

Как мога да разбера дали makefile се изпълнява от интерактивна обвивка?
Имам makefile, който изпълнява команди, което може да отнеме известно време. Бих искал тези команди да са разговорливи, ако изграждането е инициирано от интерактивна обвивка, но по-тихи, ако не (по-специално от cron). Нещо от рода на (псевдокод):...
3396 изгледи
schedule 23.12.2023

Makefile и имена на изчислени променливи
Получих следния Makefile с няколко компилатора и бих искал да ги извикам в цикъл чрез променливата cc: cc_x64=x86_64-linux-gnu-gcc cc_mips=mips-linux-gnu-gcc all: for arch in "x64" "mips" ; do\ cc="cc_$$arch";\ $($(cc)) some_file -o...
570 изгледи
schedule 24.11.2022

Makefile игнорира segfault
Опитвам се да използвам GNU Make за автоматично конвертиране на набор от .mmpz файлове в .ogg файлове с помощта на lmms . В момента има бъг в lmms , който го кара да се отклонява от грешка след създаване на изходния файл, което кара make да...
965 изгледи
schedule 16.11.2023

как да напишете makefile, за да се погрижите за промените в заглавния файл
Всъщност имам библиотека "cryptopp" и това, което искам е, когато направя някаква промяна във файл и издам командата make , тя да се погрижи за промените, направени във всеки файл в изходната директория. добре, GNUMakefile на cryptoopp се грижи за...
231 изгледи
schedule 08.01.2024

Грешка в Makefile C++11
Научавам за makefiles. Това, което се опитах е да напиша моя собствена след малко четене. Проблемът е, че винаги получавам грешки, свързани със стандарта c++11, въпреки че поставям необходимия флаг на компилатора в makefile. Ето грешката:...
2200 изгледи
schedule 16.01.2024

Предимство на празно изрично правило и имплицитно правило
Моето разбиране за имплицитното правило е, че имплицитното правило ще се използва само ако няма изрично правило, което съответства на цел. Ако има както изрично правило, така и неявно правило, които съответстват на цел, че ще се използва изричното...
775 изгледи
schedule 04.02.2024

Условни променливи (ifeq) във foreach за изрични правила за създаване
Не мога да разбера правилния синтаксис за използване на условно дефинирана променлива с цикъл foreach в GNU Make 3.81. Прост makefile SET := A B C define da_loop ifeq ($(S), A) T := equals_A else T := not_equals_A endif out_$(S):...
1251 изгледи
schedule 11.11.2023

Make не успява да анализира съвместни цели (множество цели) в makefile
Co-targets (т.е. списък с думи, разделени с интервали за target ), е добре позната функция на Make, която по същество позволява makefile да сглобява "подобни" цели (т.е. те споделят същата рецепта и предварителни условия) в едно правило. И...
24 изгледи
schedule 29.12.2023

Преминете през директории, започващи с конкретна буква, и изпълнете пакетен скрипт
Имам много директории, които започват с UT_ (UT_abc, UT_def, UT_ghi, ...). Бих искал да отида във всяка от тези директории и да изпълня команда (makefile). Опитах това: FOR /f %%p IN ("UT_*") DO make "%%p" /s /q Но не става. Освен това във...
43 изгледи
schedule 01.12.2022

Добавяне към просто разширена променлива
Работя с някакъв MPI код, който трябва да стартирам с mpirun . Използвам вече съществуващ shell скрипт и искам да добавя към вече съществуващ ред. Така че мечтата е: app=mpirun $(app) Знам, че е възможно да се добавя към променлива с...
4075 изгледи
schedule 06.03.2024

makefile: имплицитни правила: същата цел различни предпоставки
Имам следния makefile: all: DIR/0/a.txt DIR/1/b.txt DIR/2/c.txt DIR/3/abc.txt DIR/%/abc.txt: DIR/%/def.xtx # rule #1 mkdir -p $(@D) touch $@ DIR/%.txt: # rule #2 mkdir -p $(@D) touch $@ DIR/%.xtx: touch $@ Искам да...
4515 изгледи
schedule 06.03.2024

Как да генерирам правило за Makefile
Искам да генерирам правила в Makefile по следния начин: # $(call cc-defs, ccfiles) define cc-defs $1.files = $(patsubst %.cc,%.proto,$1) $1: $1.files endef $(foreach ccfile,$(ccfiles), $(eval $(call cc-defs, $(ccfile)))) но не успя...
3676 изгледи
schedule 11.05.2024