有没有一种方法可以在不运行 ./configure 的情况下创建 Makefile?

发布于 2024-07-09 09:23:43 字数 31 浏览 2 评论 0原文

我想跳过测试并创建一个(默认)Makefile。

I'd like to skip the tests and create a (default) Makefile.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

因为看清所以看轻 2024-07-16 09:23:43

当然你可以手工编写makefile。 快速谷歌搜索显示了很多教程。 这个看起来很有前途。

对于悬崖笔记版本,该示例可归结为:

CC=g++
CFLAGS=-c -Wall
LDFLAGS=
SOURCES=main.cpp hello.cpp
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=hello

all: $(SOURCES) $(EXECUTABLE)

$(EXECUTABLE): $(OBJECTS) 
    $(CC) $(LDFLAGS) $(OBJECTS) -o $@

.cpp.o:
    $(CC) $(CFLAGS) 
lt; -o $@

Of course you can write a makefile by hand. A quick googling shows LOTS of tutorials. This one looks promising.

For the cliffs notes version, the example boils down this:

CC=g++
CFLAGS=-c -Wall
LDFLAGS=
SOURCES=main.cpp hello.cpp
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=hello

all: $(SOURCES) $(EXECUTABLE)

$(EXECUTABLE): $(OBJECTS) 
    $(CC) $(LDFLAGS) $(OBJECTS) -o $@

.cpp.o:
    $(CC) $(CFLAGS) 
lt; -o $@
草莓酥 2024-07-16 09:23:43

你为什么要再次猜测作者的努力呢? 人们生成配置脚本并不是为了好玩 - 他们生成配置脚本是因为确定在您的系统上编译程序的正确方法很困难,而运行 ./configure 比所有的选择。

Why would you want to second guess what the author laboured over? People don't generate configure scripts for fun - they generate configure scripts because determining the correct way to compile the program on your system is hard and running ./configure is easier than all the alternatives.

西瓜 2024-07-16 09:23:43

如果您碰巧使用 Perl,那么总是有好处的。

use ExtUtils::MakeMaker;

WriteMakefile(
    'NAME' => 'Foo::Bar',
    'DISTNAME' => 'Foo-Bar',
    'EXE_FILES' => ["foobar.sh"],
    'VERSION_FROM' => 'lib/Foo/Bar.pm',
    );

但是,您的问题有点短,如果您只是构建一个现有项目,您可能会发现不可能跳过配置。

If you happen to be using Perl, there's always good ol'

use ExtUtils::MakeMaker;

WriteMakefile(
    'NAME' => 'Foo::Bar',
    'DISTNAME' => 'Foo-Bar',
    'EXE_FILES' => ["foobar.sh"],
    'VERSION_FROM' => 'lib/Foo/Bar.pm',
    );

However, your question is a bit short, if you are merely building an existing project you may find it impossible to skip configure.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文