Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5059
  • 博文数量: 2
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-24 18:55
文章分类
文章存档

2016年(1)

2015年(1)

我的朋友
最近访客

分类: LINUX

2015-10-20 09:28:11

原文地址:linux: 几个常用makefile模板 ,作者:whitepop


1、编译动态库。

点击(此处)折叠或打开

  1. #############################################################
  2. # Makefile for shared library.
  3. # 编译动态链接库
  4. #############################################################
  5. #set your own environment option
  6. CC = g++
  7. CC_FLAG = -D_NOMNG -D_FILELINE

  8. #set your inc and lib
  9. INC =
  10. LIB = -lpthread -L./ -lsvrtool

  11. #make target lib and relevant obj
  12. PRG = libsvrtool.so
  13. OBJ = Log.o

  14. #all target
  15. all:$(PRG)

  16. $(PRG):$(OBJ)
  17.     $(CC) -shared -o $@ $(OBJ) $(LIB)

  18. .SUFFIXES: .c .o .cpp
  19. .cpp.o:
  20.     $(CC) $(CC_FLAG) $(INC) -c $*.cpp -o $*.o

  21. .PRONY:clean
  22. clean:
  23.     @echo
2.编译静态库。

点击(此处)折叠或打开

  1. #############################################################
  2. # Makefile for static library.
  3. # 编译静态链接库
  4. #############################################################
  5. #set your own environment option
  6. CC = g++
  7. CC_FLAG = -D_NOMNG -D_FILELINE

  8. #static library use 'ar' command
  9. AR = ar

  10. #set your inc and lib
  11. INC =
  12. LIB = -lpthread -L./ -lsvrtool

  13. #make target lib and relevant obj
  14. PRG = libsvrtool.a
  15. OBJ = Log.o

  16. #all target
  17. all:$(PRG)
  18. $(PRG):$(OBJ)
  19.     ${AR} rv ${PRG} $?

  20. .SUFFIXES: .c .o .cpp
  21. .cpp.o:
  22.     $(CC) $(CC_FLAG) $(INC) -c $*.cpp -o $*.o

  23. .PRONY:clean
  24. clean:
  25.     @echo "Removing linked and compiled files......"
  26.     rm -f $(OBJ) $(PRG)
3.编译可执行程序。
点击(此处)折叠或打开
  1. ###########################################
  2. #Makefile for simple programs
  3. ###########################################
  4. INC=
  5. LIB= -lpthread

  6. CC=CC
  7. CC_FLAG=-Wall

  8. PRG=threadpooltest
  9. OBJ=CThreadManage.o CThreadPool.o CThread.o CWorkerThread.o threadpooltest.o

  10. $(PRG):$(OBJ)
  11.     $(CC) $(INC) $(LIB) -o $@ $(OBJ)
  12.     
  13. .SUFFIXES: .c .o .cpp
  14. .cpp.o:
  15.     $(CC) $(CC_FLAG) $(INC) -c $*.cpp -o $*.o

  16. .PRONY:clean
  17. clean:
  18.     @echo "Removing linked and compiled files......"
  19.     rm -f $(OBJ) $(PRG)



阅读(568) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~