makefile 文档解析 学习一

来源:互联网 发布:linux清空tmp 编辑:程序博客网 时间:2024/05/21 08:59

obj/tdnalarm.o: ./src/tdnalarm.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/tdnavencmgr.o: ./src/tdnavencmgr.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/tdncachedata.o: ./src/tdncachedata.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/tdnconnect.o: ./src/tdnconnect.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/tdninstruction.o: ./src/tdninstruction.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/tdnlogin.o: ./src/tdnlogin.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/tdnmanager.o: ./src/tdnmanager.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/tdnparsebase.o: ./src/tdnparsebase.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/tdnservice.o: ./src/tdnservice.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/tdnsessaudio.o: ./src/tdnsessaudio.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/tdnsessav.o: ./src/tdnsessav.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/tdnsessfiledown.o: ./src/tdnsessfiledown.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/tdnsessgetparams.o: ./src/tdnsessgetparams.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/tdnsession.o: ./src/tdnsession.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/tdnsessplayback.o: ./src/tdnsessplayback.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/tdnsessrecfind.o: ./src/tdnsessrecfind.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/tdnsesssetparams.o: ./src/tdnsesssetparams.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/tdnsesssnapshot.o: ./src/tdnsesssnapshot.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/tdnsesstalkback.o: ./src/tdnsesstalkback.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/tdnsesstranquery.o: ./src/tdnsesstranquery.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/tdnsessupgrade.o: ./src/tdnsessupgrade.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/tdnsessuploadfile.o: ./src/tdnsessuploadfile.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/tdnstatus.o: ./src/tdnstatus.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/tdnuploadfile.o: ./src/tdnuploadfile.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/ttxdvrnetapi.o: ./src/ttxdvrnetapi.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/ttxfeeddog.o: ./src/ttxfeeddog.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/ttxframebuf.o: ./src/ttxframebuf.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/ttxlogger.o: ./src/ttxlogger.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/ttxmutex.o: ./src/ttxmutex.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/ttxnetpublic.o: ./src/ttxnetpublic.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/ttxpublic.o: ./src/ttxpublic.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/ttxsocket.o: ./src/ttxsocket.cpp
 gcc $(CFLAGS) -c -o $@ $^
obj/ttxthread.o: ./src/ttxthread.cpp
 gcc $(CFLAGS) -c -o $@ $^


这里不是讲解Gcc的使用,只是用基础知识使我们能看懂一般的makefile文件


首先所有的运行前要加tab键来跳格缩进,否则报错。

obj/tdnalarm.o 是我的目录obj/,tdnalarm.o是我编译过程形成的中间文件

“:”普通规则,说明tdnalarm.o依赖于tdnalarm.cpp,“.”表示当前目录,/src/tdnalarm.cpp是我的目录下/src/目录

gcc表示编译使用gcc来编译,一般$(macro_name)表示要使用某个宏,用$(macro_name)如此的形式.make会自动的加以展开。$(CFLAGS)表示要使用CFLAGS,比如:CFLAGS = -O -systype bsd43 

 -c 表示我们只要求编译器进行编译,输出目标代码,而不进行连接:即输出为*.o文件

 -o 表示我们要求输出的可执行文件名

$@ 代指目标文件,指tdnalarm.o

$^ 所有的依赖文件,此处只有tdnalarm.cpp


本文档分析完毕



0 0