本文以“hello world”程序为例,简单说明linux下源代码包(.tar.gz)的制作。
首先,确保你的系统装有以下GNU软件:
Automake
Autoconf
m4
perl
libtool
1.新建一目录,将你的源代码放在此目录下,以下的操作均在此目录里进行。
shell> mkdir hello
2.执行autoscan命令来扫描源代码。
shell>autoscan
执行该命令后会生成configure.scan 和configure.log文件。
3.修改configure.scan文件。
shell>vi configure.scan
添加,修改以下几行,其它的注释掉。
AC_INIT(hello.c) //括号内为你的源代码.
AC_PROG_CC
AM_INIT_AUTOMAKE(hello,1.0) //括号内hello为文件名,1.0为版本号.
AC_OUTPUT(makefile) //在括号内加入makefile.
保存文件,并修改此文件名为configure.in
shell>mv configure.scan configure.in
4.运行aclocal命令,之后会生成aclocal.m4文件。
shell>aclocal
5.运行autoconf命令,之后会生成autom4te.cache目录和configure可执行文件。
shell>autoconf
6.自己编写makefile.am文件。此文件格式为:
shell>vi makefile.am
AUTOMAKE_OPTIONS=foreign
bin_PROGRAMS=hello
hello_SOURCES=hello.c
当然,有兴趣你也可对makefile.am文件进行扩展。
7.用automake --add-missing加入一些生成标准的软件包所必需的文件。
shell>automake --add-missing
8.执行configure文件。 会生成make所需的makefile及其它文件。
shell>./configure
9.用make编译,后已生成可执行文件hello,但只能在当前目录下用./执行。要想在任何目录都能执行,还要进行make install.下述。
shell>make
10.make install,将可执行文件写入/usr/local/bin下。
shell>make install
11.最后一步,打包。会生成 .tar.gz的包,注意,这个包并非是用tar命令生成的。
shell>make dist
至此,一个简单的源代码包制作完毕。ls 看一下,会有一个hello-1.tar.gz的源代码包生成了。
分享到:
相关推荐
Go(又称Golang)是Google开发的一种静态强类型、编译型...Go于2009年11月正式宣布推出,成为开放源代码项目,支持Linux、macOS、Windows等操作系统。在2016年,Go被软件评价公司TIOBE 选为“TIOBE 2016 年最佳语言”。
linux程序设计源代码.tar.gz(第四版) 人名有点出版社出版的那本书的答案。
RTL8188FU Linux驱动源代码。模块厂商提供,可编译。我自己在i.mx6上编译通过。
linux屏幕截图源代码
由于github上下载powershell源代码很费劲,所以搬运了powershell的原装安装包过来,版本为6.1.0,解压缩,配置Path环境变量即可使用。
Go(又称Golang)是Google开发的一种静态强类型、编译型...Go于2009年11月正式宣布推出,成为开放源代码项目,支持Linux、macOS、Windows等操作系统。在2016年,Go被软件评价公司TIOBE 选为“TIOBE 2016 年最佳语言”。
Inotify是一种强大的、细粒度的、异步的文件系统事件监控机制, linux内核从 2.6.13起,加入了Inotify支持,通过Inotify可以监控文件系统中添加、删除,修改、移动等各种事件,利用这个内核接口,第三方软件就可以...
linphone源代码,在Linux环境下的源代码 linphone_3.3.2.orig.tar.gz
Visual Studio Code 1.63.2 (code-stable-x64-1639562789.tar.gz)适用于Linux系统。它是一个轻量级但功能强大的源代码编辑器,可在您的桌面上运行。它内置了对 JavaScript、TypeScript 和 Node.js 的支持,并为其他...
gcc升级时需要的安装包之一 GNUArm嵌入式工具链是一套易于使用的开源工具,用于C、...对于Linux、Mac和源代码包,readme.txt位于share/doc/gcc-arm none-eabi文件夹中。对于Windows软件包,readme.txt位于顶层文件夹中
qtopia-free-src-2.2.0.tar.gz 开源嵌入式qt的源代码
适合于linux的操作系统下部署php的环境 版本是5.4.7 已经成功安装过 必须要求写50个字。。。。
gzip-1.5.tar.gz linux 源代码
openssl-1.0.2p.tar.gz源代码,可在Windows和Linux环境下编译。
上传linux-jx2410的源代码,以供用户方便使用。有关linux操作系统的。
本资源为Linux内核源程序,可运行,适合作为底层开发学习。程序是《Linux内核完全剖析》第四章的多任务内核head.s。 《Linux内核完全剖析》对早期Linux操作系统内核全部代码文件进行了详细的剖析,旨在让读者在尽量...
可以编译源代码、制作程序库、产生适配器(wrapper)、还可以用任意的顺序建构执行档。CMake 支持 in-place 建构(二进档和源代码在同一个目录树中)和 out-of-place 建构(二进档在别的目录里),因此可以很容易从同一个源...
Linux 下编译R源代码所需要的安装包。必备。当然还有其他的安装包,大家可以参考博客:Linux 下编译R源代码并安装。
Go(又称Golang)是Google开发的一种静态强类型、编译型...Go于2009年11月正式宣布推出,成为开放源代码项目,支持Linux、macOS、Windows等操作系统。在2016年,Go被软件评价公司TIOBE 选为“TIOBE 2016 年最佳语言”。