Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5493175
  • 博文数量: 922
  • 博客积分: 19333
  • 博客等级: 上将
  • 技术积分: 11226
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-27 14:33
文章分类

全部博文(922)

文章存档

2023年(1)

2020年(2)

2019年(1)

2017年(1)

2016年(3)

2015年(10)

2014年(17)

2013年(49)

2012年(291)

2011年(266)

2010年(95)

2009年(54)

2008年(132)

分类: C/C++

2008-03-27 18:33:17

创建的规则简单不多说了,以后在写这。
注意:1)宏定义没有("")双引号。2)可以有续行符'\'3)注释是以#开头的
2.创建风格:
假设:main在test.cpp里面,可执行文件将是test,包含class1、class2两个类,每个类都有头文件和源文件。
刚开始只有class1类,class2类后加的。
makefile如下:
HEADERS=class1.h
OBJS=test.o class1.o
test: $(OBJS)
    g++ $(OBJS) -o test
class1.o:class1.h
test.o:$(HEADERS)
第一行应该是必要的宏定义,定义的目标文件一般是针对最终的可执行文件和目标文件test.o test的依赖文件。
宏定义后最终的可执行文件生成规则首先定义出来。
然后是最终的目标文件生成规则、然后是每个模块的生成规则。
(在这里我们可以发现,生成目标文件的时候需要的只是源文件,而且各个模块只要有声明就行。链接的时候才需要实现)
当我们添加一个类class2的时候很简单:
HEADERS=class1.h class2.h
OBJS=test.o class1.o class2.o
test: $(OBJS)
    g++ $(OBJS) -o test
class1.o:class1.h
test.o:$(HEADERS)
class2.o:class2.h
需要做得是:
1/在程序文件中包含相应的文件
2/makefile宏定义HEADERS OBJS做些小的改动
3/添加一个class2项目的目标文件

-----------------------------------------------------------------------

下面的例子:
#makefile
#in the future I will define the macro
testCin:testCin.o
        g++ testCin.o -o testCin
testCin.o:
        g++ -c testCin.cpp
#clean the temp files
clean:
        rm *.o

之后运行
make clean
将会删除所有的".o"文件。

阅读(2163) | 评论(0) | 转发(0) |
0

上一篇:readme

下一篇:硬盘安装suse10.1/10.2自结

给主人留下些什么吧!~~