本文以“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的源代码包生成了。
分享到:
相关推荐
标题中的"Go1.11.1.linux-amd64.tar.gz"是一个针对Linux AMD64架构的Go编程语言的版本1.11.1的安装包。Go,也称为Golang,是由Google开发的一种静态类型、编译型、并发型且具有垃圾回收功能的编程语言。它设计的目标...
标题中的"jdk-8u311-linux-aarch64.tar.gz"是一个针对Linux操作系统,基于AArch64(也称为ARM64)架构的Java Development Kit(JDK)的版本8更新311的压缩文件。这个文件是Java开发者在64位ARM设备上进行Java应用...
`jdk-8u341-linux-x64.tar.gz` 是Oracle公司发布的针对Linux 64位操作系统的JDK 8的更新版本341的压缩包文件。这个文件主要包含以下重要组成部分和知识点: 1. **Java运行时环境(JRE)**: JRE是执行Java程序的基础...
【标题】"jdk-8u121-linux-x64.tar.gz" 是Oracle JDK 8更新版本121的Linux 64位安装包。这个文件是为在基于Linux的操作系统上部署Java开发环境而设计的,特别是针对x86_64架构的机器。 【描述】"jdk-8u121-linux-x...
标题中的"jdk-8u212-linux-x64.tar.gz"是一个针对Linux操作系统的64位Java Development Kit (JDK)的版本号为8u212的压缩包文件。JDK是Java编程语言的核心组件,包含了Java运行环境(JRE)、编译器、调试工具和其他...
标题 "jdk-8u191-linux-x64.tar.gz" 指的是Java Development Kit (JDK) 的一个特定版本,适用于64位的Linux操作系统。这个版本是8u191,其中"8"代表JDK的第8个主要版本,"u191"则表示该版本是第191次更新。JDK是Java...
描述 "go1.21.0.linux-amd64.tar.gz" 没有提供额外的信息,但通常这样的压缩包解压后会包含一个名为 "go" 的目录,该目录下会有 bin、pkg、src 等子目录,分别对应可执行文件、编译后的库以及源代码的位置。...
1. **下载压缩包**:从Oracle官网或其他可信源下载`jdk-8u11-linux-x64.tar.gz` 文件到Linux机器上。 2. **解压文件**:使用`tar`命令解压缩文件,例如:`tar -zxvf jdk-8u11-linux-x64.tar.gz`。 3. **移动到安装...
总的来说,`jdk-8u91-linux-x64.tar.gz`是一个重要的Java开发工具包,适用于64位Linux操作系统。安装并配置好这个JDK版本,开发者可以利用其强大的工具集进行Java编程,同时享受到Oracle持续改进的性能和安全性。
总结来说,"helm-v3.2.1-linux-amd64.tar.gz" 是 Helm v3.2.1 版本的 Linux 平台 x86_64 架构的二进制包,适用于 Kubernetes 的应用部署和管理。通过解压和安装,用户可以方便地在 Linux 环境中利用 Helm 的功能。
在解压并安装JDK之后,开发者可以使用`javac`命令来编译Java源代码,生成字节码文件(.class)。然后,通过`java`命令执行这些字节码,运行Java应用程序。此外,JDK还提供了`jar`工具,用于创建、管理和提取Java归档...
开发者可以使用`javac`来编译Java源代码,`java`来运行编译后的类文件,`jar`命令创建和管理Java归档文件,以及其他工具如`javadoc`生成API文档。 7. **安全性**:由于标签提到"无病毒",用户可以放心下载和使用这...
1. **Java编译器(javac)**:它是将源代码(.java文件)转换为字节码(.class文件)的工具,这个字节码可以在任何支持Java的平台上运行,实现了“一次编写,到处运行”的理念。 2. **Java解释器(java)**:用于...
标题“go1.13.4.linux-amd64.tar.gz”指的是Go编程语言的1.13.4版本的Linux AMD64架构的二进制发行版,被压缩成一个tar.gz文件。这个文件通常包含Go语言的完整编译器、解释器和其他必要的工具,供在64位Linux系统上...
标题中的"go1.6.3.linux-amd64.tar.gz"是一个针对Linux平台的Go语言(也称为Golang)版本1.6.3的安装包。这个包是使用tar.gz格式压缩的,这是一种常见的在Unix-like系统上用于归档和压缩文件的方法。tar允许将多个...
- **javac**:Java编译器,将源代码编译成可执行的字节码。 - **java**:JVM的启动器,用于执行`.class`文件。 - **jar**:打包工具,可以将多个类文件打包成一个`.jar`文件。 - **javadoc**:生成API文档的工具...
1. **Java编译器 (javac)**:这是将源代码(.java文件)编译成可执行的字节码(.class文件)的工具,使得Java程序可以在任何支持Java的平台上运行。 2. **Java虚拟机 (JVM)**:JVM是Java程序的运行环境,它负责解释...
在这个场景中,我们关注的是`jdk-8u301-linux-aarch64.tar.gz`这个文件,它是Oracle JDK 1.8更新301在Linux操作系统上针对aarch64架构的版本。aarch64,也被称为ARM64,是ARM公司的一种64位指令集,广泛应用于高性能...
"jdk-8u131-linux-x64.tar.gz" 是Oracle公司发布的针对Linux 64位操作系统的JDK版本。这个文件是一个归档文件,采用了tar和gzip两种压缩格式,因此它的扩展名是".tar.gz"。 **1. JDK的组成部分** JDK主要包含以下几...