makefile.am_make与makefile的区别_makefile编写

Makefile.am用于指定工程的源文件、目标及安装路径,它是Automake工具的输入。主要内容包括定义程序、库的源文件,安装位置以及编译选项。例如,foo_SOURCES表示foo程序的源文件,libfoo_a_SOURCES表示libfoo.a库的源文件。可以通过noinst_前缀创建不安装的库或程序。Automake会自动生成Makefile.in,配置过程中可通过AM_CONDITIONAL宏实现条件编译。在编写时,建议使用相对路径。
摘要由CSDN通过智能技术生成

Makefile.am将指明工程需要哪些源文件,建造的是什么,如何安装它们。

具体语法如下:

option_where_PRIMARY = targets …

targets是要建造的目标

PRIMARY可以是下面的一个:

可能值 解释

where 表示目标被安装那里,可以是下面的值:

可能项 解释

详细的文件结构看以前的文章。

[Autotools 使用一,文件结构]

()

在where前面还可以有一个可选项option

dist_ 分发目标(默认)。

nodist_ 不分发。

举例:Makefile.am

 

bin_PROGRAMS = foo run-me
foo_SOURCES = foo.c foo.h print.c print.h
run_me_SOURCES = run.c run.h print.c

 

首先第一句表示产生两个程序foo,run-me,并且将它们安装到bin中。

foo_SOURCES 表示foo需要的源文件。

run_me_SOURCES 表示run-me需要的源文件。

注意:不能转换的符号用’_’代替。

头文件不参加编译,列出来用于分发。automake将自动计算列表对象并编译链接它们。

第二个例子:Makefile.am

 

lib_LIBRARIES = libfoo.a libbar.a
libfoo_a_SOURCES = foo.c privfoo.h
libbar_a_SOURCES = bar.c privbar.h
include_HEADERS =
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值