gnu-make相关内容
我正在Windows 10下使用MinGW作为我的开发工具.我有一个带有约100个源文件的C项目.我创建了一个makefile来构建项目,并且每次都运行良好. 但是后来我尝试通过将-j4传递给mingw32-make并告诉它并行使用四个处理器来加快构建速度.确实确实加快了构建速度,但是只是一小段时间:经过看似随机的编译次数(每次更改次数),我得到了错误 gcc.exe:错误:Creat
..
我现在正在Mac上安装代码. 该代码来自此处.在此页面中查找“基准和边界检测代码". 在自述文件中显示为: (1)对于数据集中的图像和分段读取例程 目录工作,请确保您编辑Dataset/bsdsRoot.m以指向 您的BSDS数据集的本地副本. (2)从此目录运行"gmake install"以构建所有内容.你 然后应该将lib/matlab目录放在您的MATLAB路径中.
..
我有一个makefile文件,其中包含C,其中包含空格.我无法绕过必须在文件名中包含空格的问题.是否可以使用gnu make在文件名中包含空格? 解决方案 Make通过在文件名中转义空格来对此提供一些基本支持,因为以下Makefile将正确编译并重新编译C文件foo bar.c: foo\ bar: foo\ bar.c gcc -o "${@}" "${
..
我正在尝试在Ubuntu 14.04上编译Atmel的Bitcloud(WSNDemo). makefile( http://pastebin.com/4gGcGRvY )似乎未在我的计算机上执行规则 问题在于它不会仅启动链接器的编译器.当然,链接器也找不到对象. $(OBJ_PATH)/%.o: $(SRCS) 运行此命令时,永远不会调用 (makefile中的第187行
..
我正在尝试在编译.c和.cpp文件以在Ubuntu上创建应用程序方面做一些非常简单的事情.我创建了一个Makefile,但是它失败,并出现以下错误. ~/code/test$ make gcc -Wall -c test1.c -o test1.o g++ -c -Wall -D__STDC_LIMIT_MACROS main.cpp -o main.o g++ -c -Wall -D__S
..
来自文档: 为避免这种情况,可以使用--output-sync(-O)选项.这 选项指示make保存其调用的命令的输出 并在命令完成后将其全部打印出来.此外,如果 有多个并行运行的递归make调用, 他们将进行交流,以便其中只有一个会在 时间. 因此,给了一个makefile: # A "recipe" that will always fail. all:: @foo
..
为GNU make提供以下makefile: # TODOs so I don't forget: # - make debugging an option # - make 64 below an actual option # - figure out why make test seems to rebuild the DLL # - __declspec(dllimport) if
..
我有一个由GNU make驱动的数据转换过程.它使用人工生成的输入文件,并使用转换程序来创建输出文件.显然,这与makefile所能获得的一样简单: inputs=$(wildcard *.input) outputs=$(subst .input,.output, $(inputs)) .PHONY: all all: $(outputs) %.output: %.input
..
我在Makefile中有以下规则,可以分三个阶段构建可执行文件: all: build/myexe build/myexe: output/main_dats.o output/foo_dats.o | build/ gcc $^ -o $@ output/%.o: output/%.c patscc -c $
..
在(GNU)make中,我希望在特定目标的构建链开始时为变量分配一个值.对于分别取决于b.o的目标a.so和b.so,我可以像这样手动进行操作: # Rules all: a.so b.so a.so: b.o @echo Current .so is $(current) touch $@ b.so: b.o @echo Current .so is $(curre
..
我有一个虚假的debug和asm目标. debug通过更新变量CFLAGS进行工作,然后编译常规目标,该目标使用这些新的CFLAGS生成调试符号.这可以按预期工作. 类似地,我想定义asm目标并设置-S开关,并将输出名称从file更改为file.s.但是,最后一部分不起作用,我得到: $ make asm -B gcc -fmessage-length=0 -ansi -pedanti
..
我具有以下目录结构. Project/ ├── bin/ ├── src/ │ ├── main.c │ ├── util/ │ ├── util.c │ ├── util.h ├── obj/ ├── .depend/ 我所有的源代码都在src文件夹中.在src根目录中是我的ma
..
现在要继续进行,我需要更改现有Makefile的显示方式. 目前我正在使用: ~/Linuz/src: 1.c, 2.c, 3.c ... ~/Linuz/inc: abc.h, xyz.h 和makefile位于:~/Linuz/some_other_dir/ 但是需要更改结构. 想从(~/Linuz/src/和~/linuz/inc)创建一个库 库将用于获取可执
..
gcc main.c -o main -I include 我正在创建一个小型c应用程序,其中我的所有源文件都在src目录中,而所有头文件都在include目录中,所有公共文件也都在公共目录中.所有这三个目录与main.c一起位于一个名为"app"目录的目录下.现在,我正在尝试运行main.c,其中包含#include指令,包括来自include和函数调用的头文件,这些头文件包
..
我正在为一个FPGA团队开发一个makefile环境,而我目前在宏方面遇到了问题.我已经为TOOL_EXEC变量显示了它的定义,但是却出现了与双引号和括号相关的“意外令牌"错误.如果我在双引号中加上双引号,则变量会在没有任何引号的情况下膨胀,并且不会产生任何错误,但是我们的工具要求将它们括在括号中.我需要传递全引号的括号信息,但是宏定义给我带来了问题! “语法错误出现在意外标记`('" 附
..
我希望执行目标的规则,但是所有从属目标都应将该目标视为已满足. 我该如何实现? 示例: $(NETWORK_SHARE)/foo.log: @echo Warning: server offline, still continue ... @exit 0 foo.csv: $(NETWORK_SHARE)/foo.log @echo Long expor
..
我想做些类似的事情.我想要一个Makefile的变量参数列表. make VAR_ARG_LIST=src1,src2,src3,src4 我可以这样吗?如果可以,如何从Makefile中的变量VAR_ARG_LIST中提取src1,src2或src3? 谢谢 解决方案 您确实没有为解决方案提供足够的信息.为什么要提取这些值?您想和他们做什么? 但是,我可以回答您提出
..
此表达式中有许多文件: ui_files := $(wildcard $(SUBDIRS:%=%/*.ui)). 现在,我需要具有相同文件路径的列表,但是文件名中带有"ui_"前缀,并带有另一个扩展名(.h).我该怎么办? 解决方案 您可以使用h_files := $(foreach ui,$(ui_files),$(dir $(ui))ui_$(notdir $(ui:.ui=
..
我想做的所有事情... some_file.out : ..... ver_$(basename $@).ver: ..... $@不会按预期扩展,而只会在规则标题中扩展.在规则的内部,ver_$(basename $@).ver的所有用法均可根据需要扩展.我将如何修改它以使其按需工作? 解决方案 您将省略号省略了示例中的许多重要部分以提供完整的解决方案.但是,一种选择是使
..
我有一个makefile,可以从一个BibTex文件中为不同的作者创建HTML发布列表.导出是使用bibtex2html完成的,并且像超级按钮一样工作.但是我坚持规则命名.我希望makefile尽可能通用,以便仅在新同事开始或某人完成博士学位时改编结果列表. 工作流程如下: bib.bib已给出 将results中所有作者的出版物提取到单独的文件中:`bib2bib -c'autho
..