APUE 源代码的编译过程
在 UBUNTU 下进行 APUE 的代码编译的话,需要改动的地方很多,尤其是
ubuntu12.04 下,内核升级到 3.0 后。
一 首先进行一些改动,将工作区间改变,修改 MAKE 文件以为编译打基
础
http://blog.csdn.net/dycwahaha/article/details/2300938
(一)作者提供的编译方法的实现
README 文件中给出的编译方法如下:
To build the source, edit the Make.defines.* file for your system and set
WKDIR to the pathname of the tree containing the source code. Then just run
"make". It should figure out the system type and build the source for that platform
utomatically.
参照该方法,我将源码的编译分为三步。整个步骤都是在 root 超级用户
下进行的,如果其他用户没有权限进行编译,可以通过 su 命令切换到超级用户。
第一步,编辑 Make.defines.*文件。由于我所使用的操作系统是
FreeBSD6.1,所以应该编辑文件 Make.defines.freebsd。其实,编辑该文件的内
容主要是修改其中的 WKDIR,即我们源码所在文件夹的绝对路径名。原文件中
WKDIR=/home/sar/apue.2e,我们可以根据我们实际文件夹所在的位置进行相
应的修改。我的 apue.2e 文件夹直接放在/home 下了,所以我将 WKDIR 修改为
WKDIR=/home/apue.2e。其余内容不用修改,保存修改后的文件。
第二步,修改脚本文件 systype.sh 的权限。由于原始的 systype.sh 文件不
具有可执行的权限。通过执行命令:
#chmod +x systype.sh
给当前用户及其所在组和其他组添加可执行权限;
或者
#chmod u+x systype.sh
仅给当前用户添加可执行权限。
该脚本文件的功能主要是检测操作系统的类型。它可以检测到系统的
类型有:FreeBSD,Linux,MacOS 和 Solaris 等。如果单独执行这个 shell 脚本:
#./systype.sh