gnu-make相关内容

找不出具有复杂依赖关系的Makefile(&;t)

我手头有一个任务,我的源文件在下面: apps/$(APP_NAME)/$(APP_ENV)/$(APP_NAME).yml 然后我需要将这些文件处理为: .output/$(APP_NAME)/$(APP_ENV).yml 我无法整理此类生成文件的规则,其中我的app_name是动态的并且来自 APP_NAMES=$(shell ls -1 $(APP_DIRS)) ..
发布时间:2022-08-12 09:39:09 其他开发

使用GNU Make递归复制文件

我有一个存储项目资产的目录,比如: +-- assets | +-- styles | | +-- child | | | +-- child.css | | +-- main.css | +-- font.ttf | +-- image.png 如您所见,它们是几种文件类型(这只是一个示例,可能还有更多类型),树深度可能会有所不同。 如何将所有 ..
发布时间:2022-08-12 09:27:35 其他开发

GNU创建递归目录列表

有没有办法使用GNU make递归地获取目录路径和所有子目录的路径,而无需显式编写 dirpaths := dirpaths +=$(wlidcard L0dir/*) dirpaths +=$(wlidcard L0dir/*/*) 等等。 L0dir ├── L1subdir1 │ ├── L2subdir1 │ ..
发布时间:2022-08-12 09:15:56 其他开发

如何强制Make重启并重新加载生成的Make文件?

手头的任务如下:在食谱中调用的外部工具生成一个Makefile,它应该立即被make包括在内。然后,另一个规则使用包含的数据生成进一步的包含文件。Make应该再次重新启动,然后才能处理进一步的规则。请考虑以下示例: $(info ------- Restart $(MAKE_RESTARTS)) all : include a include b a : p touch a ..
发布时间:2022-04-11 23:48:32 其他开发

GNU make:将$(FILE)函数与外部工具混合使用

以下示例直接来自GNU制作手册: program: $(OBJECTS) $(file >$@.in,$^) $(CMD) $(CMDFLAGS) @$@.in @rm $@.in 这非常有效。但是,如果我颠倒$(FILE)和外部工具的顺序,行为仍然是相同的:首先执行$(FILE),然后才执行外部工具。 是否可以在配方中调用外部工具, ..
发布时间:2022-04-11 23:47:23 其他开发

Makefile:变量未正确展开

我对此Makefile结构有问题。 make commit.install应创建foo.txt,然后将其放入某个文件夹。但是,make不会调用创建foo.text的目标。这意味着我必须调用make foo.txt来创建文件本身,然后调用make commit.install来复制它。我认为Make Not Expansion变量依赖项有问题。 ./Common.mk src.in ..
发布时间:2022-04-11 23:45:00 其他开发

在GNU make中,环境变量和宏是如何交互的?

在GNU生成文件中,环境变量和参数/变量/宏之间经常存在交互。还有几种不同的赋值运算符,命令行上可以提供&覆盖&变量,还有override指令。 这些交互的优先规则是什么? 考虑这个生成文件: # Use := to avoid infinite recursion of macro expansion CFLAGS := -g -O2 $(CFLAGS) hello: src/ ..
发布时间:2022-04-11 23:40:25 其他开发

在生成文件中将Windows路径转换为Unix路径

此问题与Convert Cygwin path to Windows path in a makefile 相关,但不同。 我需要转换Windows路径,如: C:srcin 放入Unix路径,如: /c/src/bin 在Makefile中,我可以使用以下代码来转换这样的路径: slashedpath = $(subst \,/,$(windowspath)) ..
发布时间:2022-04-11 23:36:53 其他开发

是否可以将GNU制造环境传递到通过第三方(非制造)提供服务的子制造

使用-jNmake运行gnu-make规则时,会创建一个jobserver,用于管理跨子制造的作业计数。此外,您还可以通过为其添加前缀+-例如: 来将其“传递给一个Make配方” target : +./some/complex/call/to/another/make target 现在,我不是子make,而是一个(Python)脚本,它运行一些复杂的打包操作(对于mak ..
发布时间:2022-04-11 23:31:56 其他开发

Makefile-使用多个目标构建多个文件

我有一个包含多个Docker文件的项目,每个文件都位于我用作Docker镜像标签的命名目录中。我需要为每个Dockerfile构建、测试和推送一个docker映像。我需要做什么才能使用GNU Make进行如下工作? # BUILDS needs to be a list of directories, not a list of Dockerfiles BUILDS := $(wildca ..
发布时间:2022-04-11 23:30:09 其他开发

如何使用gnuwin32生成文件执行PowerShell/cmd命令?

我在Windows中使用以下Makefile处理器尝试使用curl、rm、start等命令:http://gnuwin32.sourceforge.net/packages/make.htm 这似乎是不可能的,相反,我似乎对命令的使用非常有限。有哪些方法可以扩展我的命令集? 如有任何帮助,我将不胜感激。谢谢 推荐答案 如果您对仅用于Windows的解决方案感到满意,您可以将 ..
发布时间:2022-04-11 23:25:39 其他开发

GNU Make:检查并行作业数

我想向一个(GNU)生成文件添加一个快速检查,它可以提醒用户-j/--jobs(并行生成)的可用性。也就是说,类似于 $ make TIP: this will build faster if you use use "make -j" Building .. $ make -j Building in parallel .. 如何确定执行Makefile时的并行作业数? ..
发布时间:2022-04-11 23:23:05 其他开发

Makefile中的双冒号规则有什么作用?

4.13 of the GNU Make manual一节介绍了所谓的双冒号规则: 双冒号规则是在目标名称后使用‘::’而不是‘:’编写的规则。当同一目标出现在多个规则中时,它们的处理方式与普通规则不同。 当一个目标出现在多个规则中时,所有规则必须是同一类型:全部为普通规则,或全部为双冒号。如果它们是双冒号,则它们中的每一个都是独立的。如果目标早于双冒号规则的任何先决条件,则执行该规则 ..
发布时间:2022-04-11 23:21:27 其他开发

尝试在Makefile目标中实现循环

这是我的目标,我想在其中为list变量中的每个元素运行一个循环。 问题是循环运行,但test变量值被作为空 传递 list = mlflow emr common=$(someDir)/common .PHONY:build build: for var in $(list); do cd ${common}; test=$(git diff --n ..
发布时间:2022-04-11 23:19:11 其他开发

自动生成子目录-对象已禁用

我在使用Automake时遇到以下错误。我知道您可以将AUTOMAKE_OPTIONS=subdir-Objects“放在Makefile.am的顶部。但我如何为所有文件设置此行为,这样我就不需要逐个执行此操作? Makefile.am:454: warning: source file 'libs/esl/src/esl_threadmutex.c' is in a subdirector ..
发布时间:2022-04-11 23:16:28 服务器开发