简单makefile编写

linux下开发程序,需要学会两个东西,一个是makefile编写和gdb调试程序。接触linux开发一个多月以来,学会了基本的makefile编写。总结如下:
以项目为的makefile例:
PROJECT_DIR = /home/yuj/work/svn/SkyEye/c++_app/wp_server
BASE_SRC = /home/yuj/work/svn/SkyEye/c++_app/wp_server/src
BASE_INC = $(PROJECT_DIR)/src -I$(PROJECT_DIR)/udt4/src -I$(PROJECT_DIR)/tinyxml
PROJECT_LIB = $(PROJECT_DIR)/tinyxml -L$(PROJECT_DIR)/udt4/src
CCFLAGG = -g -c
C++ = g++ -rdynamic
ALL_OBJ = soapC.o soapRealtimeControlServiceSoapBindingProxy.o wp_soap.o test_udtclient_main.o
all:$(ALL_OBJ)
$(C++) -g -o udtclient $(ALL_OBJ) -I. -I$(BASE_INC) -L$(PROJECT_LIB) -ludt -lACE -ltinyxml -lgsoap++
%.o:%.cpp
cp ../src/*.o ../test
rm -rf main.o
$(C++) $(CCFLAGG) -I$(BASE_INC) -L$(PROJECT_LIB) $< -o $@


clean:
rm -f *.o
该makefile的含义是编译当前目录下面的所有.cpp文件,最终变成 udtclint可执行文件。
$< 标示所有的依赖集  $@标示目标集 % 是所有的
makefile是 目标与依赖的关系,一个目标 有一些依赖,如果一个目标的依赖文件发生变化,则则会便于对应的目标文件。
makefile 也可以定义变量。另外makefile的隐含规则,很多的依赖关系不需要自己写,下次得详细了解一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值