有没有办法在不运行./configure的情况下创建Makefile?

时间:2008-11-21 04:26:08

标签: makefile configure

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

3 个答案:

答案 0 :(得分:2)

当然你可以手工编写一个makefile。快速的谷歌搜索显示了大量的教程。 This one看起来很有希望。

对于悬崖笔记版本,这个例子归结为:

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) $< -o $@

答案 1 :(得分:1)

为什么你想再次猜测作者的努力程度?人们不会为了好玩而生成配置脚本 - 它们会生成配置脚本,因为确定在 系统上编译程序的正确方法很困难,并且运行./configure比所有备选方案更容易。< / p>

答案 2 :(得分:0)

如果您碰巧使用Perl,那么总是很好'

use ExtUtils::MakeMaker;

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

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