3.3. 从源构建软件
在软件构建过程中,源代码被转换为可以使用 RPM 打包的软件工件。
3.3.1. 从原生编译的代码构建软件 复制链接链接已复制到粘贴板!
您可以使用以下方法之一将用编译语言编写的软件构建成可执行文件:
- 手动构建
- 自动化构建
3.3.1.1. 手动构建一个 C 程序示例 复制链接链接已复制到粘贴板!
您可以使用手动构建来构建使用编译语言编写的软件。
使用 C 编写的 Hello World 程序示例(cello.c)包含以下内容:
#include <stdio.h>
int main(void) {
printf("Hello World\n");
return 0;
}
步骤
从 GNU Compiler Collection 调用 C 编译器,将源代码编译到二进制中:
$ gcc -g -o cello cello.c运行生成的二进制文件
cello:$ ./cello Hello World
3.3.1.2. 为 C 程序示例设置自动构建 复制链接链接已复制到粘贴板!
大规模软件通常使用自动化构建。您可以通过创建 Makefile 文件,然后运行 GNU make 实用程序来设置自动构建。
步骤
在与
cello.c相同的目录中,创建包含以下内容的Makefile文件:cello: gcc -g -o cello cello.c clean: rm cello install: mkdir -p $(DESTDIR)/usr/bin install -m 0755 cello $(DESTDIR)/usr/bin/cello请注意,
cello:下的行,清理:和install:必须以 tabulation 字符(tab)开头。构建软件:
$ make make: 'cello' is up to date.因为构建已在当前目录中可用,所以请输入
make clean命令,然后再次输入make命令:$ make clean rm cello $ make gcc -g -o cello cello.c请注意,此时尝试再次构建程序无效,因为 GNU
make系统检测到现有的二进制文件:$ make make: 'cello' is up to date.运行程序:
$ ./cello Hello World