Chinaunix首页 | 论坛 | 博客
  • 博客访问: 270876
  • 博文数量: 86
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 398
  • 用 户 组: 普通用户
  • 注册时间: 2014-09-27 15:56
文章存档

2017年(3)

2015年(21)

2014年(62)

我的朋友

分类: LINUX

2015-06-30 22:18:45

原文地址: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)



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