Makefile

详情请参见《跟我一起写Makefile》

Makefile:

使用make编译软件源码包一般步骤是:
#./configure    (生成Makefile文件)
#make clean      (进行清理工作)
#make          (编译源文件)
#make install      (安装可执行文件)

我们要写一个Makefile文件来告诉make命令如何编译和链接我们的文件。
Makefile 书写规则
  目标:依赖文件列表
  <Tab>命令列表

vi Makefile 或 vi makefile  最好用M,新建一个Makefile文件,在其中编写
如: main: main.c file1.o file2.o
            gcc –o main main.c file1.o file2.o
     file1.o: file1.c
            gcc –c –o file1.o file1.c
     file2.o: file2.c
            gcc –c –o file2.o file2.c
当一行写不下时,可以用\ 来换到下一行写
1. 命令一定以tab开头
2. 默认make第一个目标
3. 不用写.h文件,C程序编译过程
4. 不要一个目标依赖多个.c文件

变量:就像C中的宏定义  声明:变量名=变量值
变量在声明时应赋初值,在使用时,在变量名前加上$号,最好用小括号()把变量括起来:如:$(OBJECT)
Makefile的自动推导规则,只要make看到 .o文件,就自动把 .c文件加在依赖关系中,不用每个 .o后面都写编译命令。

伪目标:不是一个真正的文件明,执行它后面所规定的命令
如:  clean:
           rm *.o main
执行 make clean 就会把所有目标文件和 main这个可执行文件删除
      install:
           cp main /bin
执行 make install 就会把可执行文件加到环境变量中,然后直接输入main就能执行该程序
也可以在前面加上 .PHONY: clean  说明clean 是一个伪目标
在每条命令前面加上 @ 就不会显示该指令,只执行。如:@rm *.o main 执行时不会显示该语句。  echo 回显示字符,如果想显示该命令 就这样写:@echo Install!


RPM包的安装方法:
rpm(redhat package manager)是RedHat公司开发的软件包安装和管理程序,它以数据库的形式来记录安装软件的信息.
rpm软件包通常具有类似foo-1.0-1.i386.rpm的文件名,其中包括软件包的名称(foo)、版本号(1.0)、发行次数(1)、硬件平台(i386)、rpm(扩展名)
安装: rmp -ivf  文件全名
卸载: rmp –e 文件名
查询软件包 rmp –qi 文件名


...

posted @ 2012-04-02 10:29  福。oO  阅读(300)  评论(0编辑  收藏  举报