在Makefile中定义了一个print函数,它以打印文本为参数,然后打印它。我的问题是,如何将逗号字符作为文本部分打印出来?例如,下面是相关的makefile部分,其中逗号不可打印。
print = echo '$(1)'
help:
@$(call print, He lives in Paris, does not he?)
现在,如果运行makefile,如:
$ make help
印出来
$ He lives in Paris
而不是
$ He lives in Paris, does not he?
我知道在makefile逗号中使用的参数
这是继之后。
我有Makefile.real (来自prev 的Makefile):
all: a b
a:
echo a
exit 1
b:
echo b start
sleep 1
echo b end
现在我想创建Makefile,它是Makefile.real的简单包装
它用相同的args调用) ,它使用与相同的arg调用make,它应该打印错误消息id Makefile.real fails ,这是我的目标--在并行make的末尾打印错误消息(参见)。
因此,以下命令应以错误消息终止:
make -
我有一个makefile,在其中我添加了源文件和头文件并链接它们。我百分之百肯定这个makefile是正确的,因为我问了我的教授和助教。但是,我不知道如何执行makefile。我有一个main.c文件,其中有一堆打印语句。
在我的makefile里我有:
all: main
我试图通过以下命令来运行它:
make clean
make main
然而,没有什么是打印出来的,它只是符合和它,但我想要一个方法运行这个程序,我怎么做呢?
我有一个makefile,它是这样的:
install:
@somecommand
#some explanation for next command
@lastcommand
当我执行make install时,会打印注释#some explanation for next command。如何在未打印的makefile中进行注释?也许我正在寻找windowsy echo off的unix版本。
(实际上,与相反。)
我一直在使用makefile,为了让一些东西保持独立,我决定包含一个新的通用Makefile。我面临的问题是我的第一个makefile看起来像这样:
文件名Makefile.test
include ./Makefile.a
all: a b c
b:
@echo "b"
c:
@echo "c"
文件名Makefile.a
a:
@echo "a"
当我执行makefile: make -f Makefile.test时,我只打印出"a“,然后它就结束了。
使其工作的唯一方法是将include放在下面(anywh
文件名: Makefile.mk
%: foo
@echo %: $@ with foo
foo:
@echo foo
跑
$ make -f Makefile.mk test
输出:
foo
%: Makefile.mk with foo
%: test with foo
我是在GNU Make 3.81版本中运行这个版本的。我不明白为什么文件名也会被打印出来(%:Makefile.mk和foo)。有人能给我解释一下吗?
我目前正在学习C。我试着制作一个makefile,但由于某些原因,它不起作用。当我在控制台中键入"make“时,控制台中将打印以下警告:
makefile.c:1:1: warning: type specifier missing, defaults to 'int'
[-Wimplicit-int]
CFLAGS=-Wall -g
^~~~~~
makefile.c:1:9: error: use of undeclared identifier 'Wall'
CFLAGS=-Wall -g
^
makefile.c:1:15: erro
我有这样的Makefile:
b:
@echo "b"
a:
@echo "a"
@make b
我希望这个Makefile在我执行'make a‘之后打印"a\nb“。它做的事情,但它也打印“进入目录”和“离开目录”:
$ make a
a
make[1]: Entering directory `/home/bessarabov'
b
make[1]: Leaving directory `/home/bessarabov'
实际上,这些行并不会让我感到
在我的makefile里我有:
all:
for i in {20..50000..10} ; do \
echo "Computing $$i" ;\
done
应该把数字20,30,40,.,50000分别打印在一条单独的线上。
这在Debian oldstable (GNU Make 4.0,GNU Bash 4.3)下工作,但在Debian稳定(GNU Make 4.1和GNU Bash 4.4.12)下不起作用。
Debian稳定只打印字符串“{20.50000.10}”。为什么会这样呢?在makefile中编写这个循环的可移植方式是什么?
寻找一个小Makefile糖果;没有关键任务。我有这个Makefile输出:
$ make
all The Whole Enchilada
target01 Descript1
target02 Descript2
target03 Descript3
target04 Descript4
由于某些原因,我似乎不能让它在输出中打印出一条水平线;查找以下内容:
$ make
all The Whole Enchilada
target01 Descript1
tar