gnu-make相关内容
我需要在Makefile中创建一个查找表/字典/映射,以查找键值信息. 我一直在尝试使用ifeq语句执行相同的操作,但是我的语句似乎失败了: # this gets the account id from the current user's ARN, you must have the AWS CLI and jq installed AWS_ACCOUNT_ID:=$(shell
..
我正在尝试调试复杂的Makefile.您如何获得GNU make来打印它运行的所有命令?我无法在man页中找到答案(使用-d标志似乎无法打印出来). (这不是回答我的问题的必要信息,但是如果您想知道:我在编译基于NVIDIA CUDA库构建的项目时遇到了麻烦.我可以自己编译它,但是使用它们的Makefile结果会讨厌的编译器错误.我想使用它们提供的Makefile来简化打包,并包含它们已经链
..
假定目录输入中包含1000个扩展名为.xhtml的文件,并且这些文件的某些子集(例如,输出路径位于$(FILES)中)需要通过xslt转换为目录输出中具有相同名称的文件.一个简单的制造规则是: $(FILES): output/%.xhtml : input/%.xhtml saxon s:$
..
我有一个gnu Makefile,它通过环境变量收集版本信息.现在,我想在使用gnumake语法构建任何目标之前全局执行“操作".作为伪代码,这意味着: 存在指定文件时,将其删除 遍历字符串数组并将其值放入指定的文件 我尝试过: $(shell if exist $(subst /,\,$(products)filenames.h) del /F/Q $(subst /,\,$
..
假定以下文件与makefile位于同一目录中: 01.1.dot 01.2.dot 02.1.dot 03.1.dot 03.2.dot 03.3.dot 这意味着我们拥有格式为[0-9] [0-9].[0-9] .dot 的文件 此外,makefile包含以下目标: %.dot.tex: %.dot dot2tex 现在,我想创建一个目标,该目标依赖于
..
我正在尝试使用模式规则编写一个makefile以为多个源中的每个源生成多个输出文件. 我有以下Makefile(GNU Make 3.8.1): all : foo.all bar.all %.all : %.pdf %.svg @echo Made $* %.pdf : touch $@ %.svg : touch $@ .PHONY: foo.all
..
我需要调试旧的php版本: PHP 5.6.22 (cli) (built: Jun 29 2016 14:26:09) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies 在Ubuntu上:Ubuntu 16.04 LTS
..
我有一个makefile,它将生成的构建文件包装在一个递归调用中,以便在构建文件的周围获取和释放许可证,而不管构建是否成功.示例: .PHONY main_target main_target: @license_grab & @sleep 2 -@$(MAKE) real_target @license_release 这很好用,直到我要并行运行make
..
在makefile中,我想定义一个变量,该变量指定当前的redhat-release是否大于5.3. (此变量将作为#define传递给gcc) 到目前为止,我已经提出了: # Find out which version of Red-Hat we're running RH_VER_NUM = $(shell /bin/grep -o [0-9].[0-9] /etc/redhat
..
自从我了解-j以来,我就很乐意使用-j8.前几天,我正在编译地图集安装,但制作失败.最终,我将其归结为乱序的东西-一旦我回到单线程make上,它就可以很好地工作.这让我感到紧张.编写我自己的make文件时需要注意哪些条件,以避免使用make -j做意外的事情? 解决方案 我认为make -j将尊重您在Makefile中指定的依赖项;也就是说,如果您指定objA取决于objB和objC,那么
..
我不知道为什么Make每次都会重新编译所有文件,包括未更改的文件,这会花费很长时间.我搜索了堆栈溢出并找到了一些解决方案,但仍然无法解决我的问题. 我应该如何更改此Makefile,以使其不会编译包括未更改文件在内的所有文件? 这是我的制作文件: CXX = g++ CXXFLAGS = -g -Wall -O2 -std=c++11 BIN = bin SRC = src OB
..
在使用GNU-make时,我的Makefile具有以下模式规则: %.o:%.c gcc $
..
我希望看到下面的makefile创建的文件 foo1 和 foo3 .但是,仅创建文件 foo3 .在我看来,罐头食谱 make-foo 只是被make忽略了.目标 foo1 和 foo2 (空配方)的调试结果是相同的. # why canned recipe doesn't work ? # http://www.gnu.org/software/make/manual/make.html
..
我已经搜索了一个小时,而该信息似乎无处不在... 我希望能够提取(并可能使用)通过-j选项传递的请求的make“作业"的数量,或者在子文件的Make中通过Make本身传递的数量. 到目前为止,我看到的最有希望的事情是$(MAKEFLAGS)变量,但是在我的系统上(如果我这样做,例如,使-j2),该变量的内容仅是"--jobserver-fds = 3,4 -j".有什么方法可以获取通过
..
我想要一个这样的文件: cudaLib : # Create shared library with nvcc ocelotLib : # Create shared library for gpuocelot build-cuda : cudaLib make build build-ocelot : ocelotLib make build bui
..
我是GCC的新手,我想知道如何告诉编译器需要将几个包含目录指定为搜索.h文件的默认目录.我读到 -I dir 是完成此操作的关键,但是在生成文件时,我遇到了一些问题.例如: include_dir = C:/Users/rmrd001/Documents/Make/GCC/first/mydir/ FLAGS = -I "$(include_dir)" func2.o: func2.c f
..
我使用gcc(以g++运行)和GNU make. 我使用gcc预编译头文件precompiled.h,创建precompiled.h.gch; Makefile中的以下行可以做到这一点: # MYCCFLAGS is a list of command-line parameters, e.g. -g -O2 -DNDEBUG precompiled.h.gch: precompiled.h
..
我正在使用GCC和Make在Windows中编译一个库. 运行make时,出现以下错误: unrecognized command line option '-mno-cygwin' 我看到了这在SO上发布,但不一定看起来像是同一问题,而且我不了解如何将系统降级到支持我需要按顺序使用的标志的GCC(或Make)版本进行编译. 有人可以尝试向我指出正确的方向吗,或者如果您遇到此问题
..
在FreeBSD上,需要使用GNU make(gmake)而不是标准系统make来编译应用程序.如果Makefile不是使用gmake编译的,是否可以对Makefile发出指令以停止执行它并显示错误? 解决方案 调用您的Makefile GNUmakefile . GNU Make会找到它,但其他品牌找不到. 对于大多数makefile文件,建议不要使用选中的名字GNUmakefil
..
我想使用GNUMake运行基于规则的Makefile,该文件在目录结构中(在Windows文件系统上)构建一组C文件. 根目录,一些子目录和一些文件包含空格. 示例文件:"C:\Documents and Settings\\My Documents\Test Dir\Build Me.c" 当文件路径包含空格时,GNUMake不会真正起作用.我已经读过解决此
..