我想创build一个多行string的makefilevariables(例如,电子邮件发布公告的正文)。 就像是 ANNOUNCE_BODY=" Version $(VERSION) of $(PACKAGE_NAME) has been released It can be downloaded from $(DOWNLOAD_URL) etc, etc" 但我似乎无法find办法做到这一点。 可能吗?
我想了解'gmake'和'make'之间的区别? 在我的Linux机器上,它们是相同的: % gmake –version GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. % make –version GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free […]
每当你从源代码编译的东西,你经历了相同的3个步骤: $ ./configure $ make $ make install 我明白,把安装过程划分成不同的步骤是有道理的,但是我不明白,为什么这个星球上的每个编码人员都必须一次又一次地编写相同的三个命令才能完成一个单独的工作。 从我的angular度来看,使用包含以下文本的源代码自动提供./install.sh脚本是完全有意义的: #!/bin/sh ./configure make make install 为什么人们会分开做3个步骤?
我需要在我的生成文件中生成一个目录,我想不会得到“目录已经存在的错误”一遍又一遍,即使我可以很容易地忽略它。 我主要使用mingw / msys,但也希望能够在其他shell /系统上运行。 我试过这个,但它没有工作,有什么想法? ifeq (,$(findstring $(OBJDIR),$(wildcard $(OBJDIR) ))) -mkdir $(OBJDIR) endif
我有一个相当大的makefile,通过从variables中计算名称,即时创build大量目标。 (例如foo $(VAR):$(PREREQS))。 有没有什么办法可以使gnu make在扩展这些variables之后吐出一个目标列表? 我希望能够得到一个任意makefile的目标。 我正在尝试为我的shell编写一个完成函数。
在GNU Makefile手册中,它提到了这些前缀。 如果提供了.ONESHELL,那么只有配方的第一行将检查特殊的前缀字符('@',' – '和'+')。 这些前缀是做什么的,他们在哪里提到?
GNU Make中的CPPFLAGS和CXXFLAGS有什么区别?
我已经使用了一些rake(一个Ruby make程序),并且有一个选项来获得所有可用的目标列表,例如 > rake –tasks rake db:charset # retrieve the charset for your data… rake db:collation # retrieve the collation for your da… rake db:create # Creates the databases defined in y… rake db:drop # Drops the database for your curren… … 但在GNU make中似乎没有这样做的select。 显然,代码几乎就在这里,截至2007年 – http://www.mail-archive.com/help-make@gnu.org/msg06434.html 。 无论如何,我做了一些小技巧来从makefile中提取目标,你可以在makefile中包含目标。 list: @grep '^[^#[:space:]].*:' Makefile 它会给你一个定义的目标列表。 这只是一个开始 […]
我有一些演示,我下载,他们来了一个Makefile.win和一个Makefile.sgi。 我怎样才能运行这些在Windows中编译演示?
我有这样的应用程序特定的目录中的几个Makefiles: /project1/apps/app_typeA/Makefile /project1/apps/app_typeB/Makefile /project1/apps/app_typeC/Makefile 每个Makefile在这个path中包含一个.inc文件: /project1/apps/app_rules.inc 在app_rules.inc里面,我设置了目标位置,当我想要二进制文件被放置的时候。 我希望所有的二进制文件都在它们各自的app_typepath中: /project1/bin/app_typeA/ 我尝试使用$(CURDIR) ,像这样: OUTPUT_PATH = /project1/bin/$(CURDIR) 而是我把这些二进制文件埋在整个path名中,如下所示:( 注意冗余) /project1/bin/projects/users/bob/project1/apps/app_typeA 我能做些什么来获得执行的“当前目录”,以便我可以只知道app_typeX ,以便将二进制文件放在它们各自的types文件夹中?