makefile相关内容
我正在尝试在ubuntu 16.04中运行我的项目团队的一些旧的Fortran代码。我没有对现有代码进行任何修改。我所做的就是安装gfortran,打开一个终端,然后使用cd命令转到文件位置。这里我有很多文件,但只考虑这两个:脚本文件compile.sh和Makefileremail.make。 在compile.sh中: make -f remail.make 在remail.m
..
我正在尝试为我正在处理的一组程序创建一个Makefile。这些程序都是用Fortran编写的,源文件位于不同的目录中。我似乎想不出怎么才能让事情运转起来。我当前的Sumfile是 #Compiler and compiler flag variables FCOMP=/usr/local/bin/gfortran F_FLAGS=-O2 -fbounds-check -Wall F_FLA
..
我有一个这样的项目结构 -Project --Common ---types.f90 ---global.f90 ---common_routines.f90 --Program 1 ---program1.f90 ---module1.f90 ---module2.f90 ---etc... --Program 2 --etc...
..
我手头有一个任务,我的源文件在下面: apps/$(APP_NAME)/$(APP_ENV)/$(APP_NAME).yml 然后我需要将这些文件处理为: .output/$(APP_NAME)/$(APP_ENV).yml 我无法整理此类生成文件的规则,其中我的app_name是动态的并且来自 APP_NAMES=$(shell ls -1 $(APP_DIRS))
..
我有一个存储项目资产的目录,比如: +-- assets | +-- styles | | +-- child | | | +-- child.css | | +-- main.css | +-- font.ttf | +-- image.png 如您所见,它们是几种文件类型(这只是一个示例,可能还有更多类型),树深度可能会有所不同。 如何将所有
..
我试图通过写入 来抑制rm命令中的错误 生成文件: ... clean: $(wildcard *.mod) -rm $^ 2>/dev/null ... 我跑了: $ make clean rm 2>/dev/null make: [clean] Error 64 (ignored) 我仍然收到错误。 不管怎样,当我尝试 $ rm [some non
..
我正在尝试创建一个简单的make文件,我现在使用的命令是: $ nasm -f elf64 main.asm $ ld -s -o test1 main.o 就是这样。我如何从它们创建一个Makefile?我已经阅读了手册,但我还没有接近解决方案。 推荐答案 您可以使用最简单的规则构建一个: :
..
我通常使用选项将宏定义从“make命令行”传递到“Makefile”: -DNAME=值。可在生成文件内访问该定义。 我还使用类似的编译器选项将宏定义从“Makefile”传递到“源代码”: -DNAME=VALUE(许多编译器都支持)。此定义可在源代码中访问。 我现在需要的是允许Makefile的用户能够立即将任意宏定义从“Make.exe命令行”传递到“源代码”,而不必更改Makefi
..
我正在尝试使用these instructions(我下载了这个source code)为WebP构建libwebp.dll) 但是,我收到错误: Makefile.vc(18):致命错误U1050:无法自动检测工具链体系结构!如果cl.exe在您的路径中,请使用ARCH=重新运行nmake。停止。` 在Visual Studio 2017(社区版)的开发人员命令提示符中的命令n
..
手头的任务如下:在食谱中调用的外部工具生成一个Makefile,它应该立即被make包括在内。然后,另一个规则使用包含的数据生成进一步的包含文件。Make应该再次重新启动,然后才能处理进一步的规则。请考虑以下示例: $(info ------- Restart $(MAKE_RESTARTS)) all : include a include b a : p touch a
..
以下示例直接来自GNU制作手册: program: $(OBJECTS) $(file >$@.in,$^) $(CMD) $(CMDFLAGS) @$@.in @rm $@.in 这非常有效。但是,如果我颠倒$(FILE)和外部工具的顺序,行为仍然是相同的:首先执行$(FILE),然后才执行外部工具。 是否可以在配方中调用外部工具,
..
我对此Makefile结构有问题。 make commit.install应创建foo.txt,然后将其放入某个文件夹。但是,make不会调用创建foo.text的目标。这意味着我必须调用make foo.txt来创建文件本身,然后调用make commit.install来复制它。我认为Make Not Expansion变量依赖项有问题。 ./Common.mk src.in
..
我收到以下错误 make: *** No rule to make target `stretchy_buffer.o', needed by `tsh'. Stop 正在尝试创建此生成文件 SRCS = stretchy_buffer.c def.c tsh_builtin_commands.c tsh_jobs.c tsh_main.c tsh_routines.c tsh_
..
此问题与Convert Cygwin path to Windows path in a makefile 相关,但不同。 我需要转换Windows路径,如: C:srcin 放入Unix路径,如: /c/src/bin 在Makefile中,我可以使用以下代码来转换这样的路径: slashedpath = $(subst \,/,$(windowspath))
..
我正在尝试构建Linux内核模块: KBUILD_EXTRA_SYMBOLS := ../../Module.symvers KBUILD_EXTRA_SYMBOLS := ../../dir0/Module.symvers KDIR = ../../../../kernel/linux-4.9 INCLUDES = -I../dir1/dir2/dir3 -I.
..
我有一个包含多个Docker文件的项目,每个文件都位于我用作Docker镜像标签的命名目录中。我需要为每个Dockerfile构建、测试和推送一个docker映像。我需要做什么才能使用GNU Make进行如下工作? # BUILDS needs to be a list of directories, not a list of Dockerfiles BUILDS := $(wildca
..
我有一个这样的Makefile: setup: setenv var1 "$(var1)"; setenv var2 "$(var2)"; task1: setup source task1.csh task2: setup source task2.csh 我使用以下命令调用生成文件: make var1=value1 var2=value2 task1
..
我在Windows中使用以下Makefile处理器尝试使用curl、rm、start等命令:http://gnuwin32.sourceforge.net/packages/make.htm 这似乎是不可能的,相反,我似乎对命令的使用非常有限。有哪些方法可以扩展我的命令集? 如有任何帮助,我将不胜感激。谢谢 推荐答案 如果您对仅用于Windows的解决方案感到满意,您可以将
..
我想向一个(GNU)生成文件添加一个快速检查,它可以提醒用户-j/--jobs(并行生成)的可用性。也就是说,类似于 $ make TIP: this will build faster if you use use "make -j" Building .. $ make -j Building in parallel .. 如何确定执行Makefile时的并行作业数?
..
4.13 of the GNU Make manual一节介绍了所谓的双冒号规则: 双冒号规则是在目标名称后使用‘::’而不是‘:’编写的规则。当同一目标出现在多个规则中时,它们的处理方式与普通规则不同。 当一个目标出现在多个规则中时,所有规则必须是同一类型:全部为普通规则,或全部为双冒号。如果它们是双冒号,则它们中的每一个都是独立的。如果目标早于双冒号规则的任何先决条件,则执行该规则
..