Makefile.am

    Makefile.am是一种比Makefile更高层次的规则。只需要指定要生成什么目标,由什么源文件生成,要安装到什么目录等构成。

可执行文件:

bin_PROGRAMS=foo

foo_SOURCES=

foo_LDADD=

foo_LDFLAGS=

foo_DEPENDECIES=

 

静态库:

lib_LIBRARIES=libfoo.a

foo_a_SOURCES=

foo_a_LDADD=

foo_a_LIBADD=

foo_a_LDFLAGS=

 

头文件:

include_HEADERS=

 

数据文件:

data_DATA=

 

只想编译,不想安装:

bin_PROGRAMS   --->   noinst_PROGRAMS

lib_LIBRARIES   --->   noinst_LIBRARIES

 

全局变量:

INCLUDES 头文件

LDADD 库文件

LDFLAGS 库文件选项标志

EXTRA_DIST .tar.gz包

SUBDIRS 在处理本目录前要递归处理的子目录

 

基本路径:

$(top_srcdir) 工程最顶层目录,用于引用源程序(project/)

$(top_builer) 定义了生成目标文件上最上层目录,用于引用.o等编译出来的目标文件

 

默认安装路径:

$(prefix)=/usr/local           通过./configure --prefix=修改

bindir=$(prefix)/bin

libdir=$(prefix)/lib

datadir=$(prefix)/data

sysconfir=$(prefix)/etc

 

定义新的安装路径:

testdir=$(prefix)/test

test_DATA=test1 test2

则test1,test2会作为数据文件安装到$(prefix)/test下

你可能感兴趣的:(Linux,makefile,include,file)