makefile语法示例

    Makefile基础:

####################################

edit : main.o kbd.o

cc -o edit main.o kdb.o

main.o : main.c defs.h

cc -c main.c

kbd.o : kbd.c defs.h command.h

cc -c kbd.c

clean:

rm *.o edit

########

makefile中使用变量:

objects = main.o kbd.o

edit : &(objects )

cc -c main.c

main.o : main.c defs.h

cc -c main.c

kbd.o : kbd.c defs.h command.h

cc -c kbd.c

clean:

rm objects edit

如果有新的.o文件加入,我们只需要简单滴修改一下objects变量就可以了。

当然,你可以使用别的文件名来书写Makefile,比如:“Make.Linux”,“Make.Solaris”,“Make.AIX”等,如果要指定特定的Makefile,你可以使用make的“-f”和“--file”参数,如:make -f Make.Linuxmake --file Make.AIX

波浪号(“~”)字符在文件名中也有比较特殊的用途。如果是“~/test”,这就表示当前用户的$HOME目录下的test目录。而“~hchen/test”则表示用户hchen的宿主目录下的test目录。

 Makefile文件中的特殊变量“VPATH”就是完成文件搜索功能的,如果没有指明这个变量,make只会在当前的目录中去找寻依赖文件和目标文件。如果定义了这个变量,那么,make就会在当当前目录找不到的情况下,到所指定的目录中去找寻文件了。

    VPATH = src:../headers

上面的的定义指定两个目录,“src”和“../headers”,make会按照这个顺序进行搜索。目录由“冒号”分隔。(当然,当前目录永远是最高优先搜索的地方)

   

posted @ 2013-07-17 16:33  waldmer  阅读(162)  评论(0编辑  收藏  举报