Makefile 文件 configure可执行文件 跟 CFLAGS 参数

在使用 configure 进行交叉编译的时候,要指定交叉编译工具链。同时可能要指定一些参数交叉编译的参数。
例如
常见的Makfile 文件

CC = arm-poky-linux-gnueabi-gcc

OTHER_HEADERS = ../../mjpg_streamer.h ../../utils.h ../output.h ../input.h

CFLAGS += -O1 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC
CFLAGS += -march=armv7ve -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/home/book/Downloads/sysroots/cortexa7hf-neon-poky-linux-gnueabi
#CFLAGS += -g
#CFLAGS += -DDEBUG

在文件中用 CFLAGS 指定参数

那么 ./configure 也是用 CFLAGS 进行指定的
例如:

./configure --host=arm-poky-linux-gnueabi  --prefix=/home/book/Music/1111  --enable-shared --enable-static  CFLAGS="-march=armv7ve -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/home/book/Downloads/sysroots/cortexa7hf-neon-poky-linux-gnueabi"
Makefile.am文件是GNU Automake工具使用的模板文件,它描述了软件包的编译规则和安装规则。Automake是一个从Makefile.in模板生成Makefile.in文件的工具,这些Makefile.in文件可以被GNU Autoconf生成的配置脚本用来生成最终的Makefile。 使用Makefile.am文件的步骤大致如下: 1. **创建Makefile.am文件**:在项目的相应目录中创建Makefile.am文件,该文件通常包含一些宏定义、源文件列表和编译安装规则等信息。 2. **编写Makefile.am内容**:Makefile.am文件中会定义一些宏,例如: - `bin_PROGRAMS`:定义可执行文件。 - `libRARIES`:定义库文件。 - `HEADERS`:定义头文件。 - `MAN`:定义手册页。 - `DATA`:定义数据文件。 在这些宏下面,会列出具体需要构建的文件,例如: ```makefile bin_PROGRAMS = myprog myprog_SOURCES = main.c utils.c myprog_CFLAGS = -Wall -g ``` 这个例子定义了一个名为myprog的可执行文件,其源文件为main.c和utils.c,并指定了编译时的额外标志为-Wall -g。 3. **生成Makefile.in文件**:运行Automake工具,并传入Makefile.am文件所在的目录,Automake会根据Makefile.am的内容生成Makefile.in文件。 4. **配置软件包**:使用Autoconf生成的`configure`脚本来配置软件包。运行`./configure`将会读取Makefile.in并生成最终的Makefile。 5. **编译和安装**:使用生成的Makefile进行编译(`make`命令)和安装(`make install`命令)。 Makefile.am文件的编写需要遵循Automake的语法规则和约定,从而确保最终生成的Makefile能够正确地构建和安装软件包。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值