Chinaunix首页 | 论坛 | 博客
  • 博客访问: 191094
  • 博文数量: 56
  • 博客积分: 125
  • 博客等级: 入伍新兵
  • 技术积分: 427
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-21 20:45
文章分类

全部博文(56)

文章存档

2018年(9)

2017年(10)

2016年(33)

2012年(4)

我的朋友

分类: LINUX

2017-04-19 13:44:48


点击(此处)折叠或打开

  1. ######################################
  2. #
  3. ######################################
  4. #source file
  5. #源文件,自动找所有.c和.cpp文件,并将目标定义为同名.o文件
  6. SOURCE := $(wildcard *.c) $(wildcard *.cpp)
  7. OBJS := $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCE)))

  8. #$(warning $(SOURCE))
  9. #$(warning $(OBJS))
  10. #target you can change test to what you want
  11. #目标文件名,输入任意你想要的执行文件名
  12. TARGET := $(patsubst %.c,%,$(patsubst %.cpp,%.o,$(SOURCE)))
  13. #$(warning $(TARGET))
  14. #compile and lib parameter
  15. #编译参数
  16. CC := gcc
  17. LIBS := -lpthread -lsqlite3
  18. DEFINES :=
  19. LDFLAGS :=
  20. INCLUDE := -I.
  21. #CFLAGS := -g -Wall $(DEFINES) $(INCLUDE)
  22. CFLAGS += -Wall -O2 $(DEFINES) $(INCLUDE)

  23. #外部变量传入编译参数
  24. ifdef thread
  25. CFLAGS += -DTHREAD
  26. endif

  27. ifdef signal
  28. CFLAGS += -DSIGNAL
  29. endif

  30. ifdef njournal
  31. CFLAGS += -DNJOURNAL
  32. endif

  33. ifdef string
  34. CFLAGS += -DSTRING
  35. endif
  36. CXXFLAGS:= $(CFLAGS)
  37.   
  38.   
  39. #i think you should do anything here
  40. #下面的基本上不需要做任何改动了
  41. .PHONY : everything objs clean veryclean rebuild
  42.   
  43. everything : $(TARGET)
  44.   
  45. all : $(TARGET)
  46.   
  47. objs : $(OBJS)
  48.   
  49. rebuild: veryclean everything
  50.                 
  51. clean :
  52.     @rm -fr *.so
  53.     @rm -fr *.o
  54.     @rm -fr $(TARGET)
  55.     
  56. veryclean : clean
  57.     rm -fr $(TARGET)
  58.   
  59. $(TARGET) : $(OBJS)
  60.     @$(CC) $(CXXFLAGS) $@.o $(LDFLAGS) $(LIBS) -o $@
  61.     
  62. %.o : %.c
  63.     @$(CC) $(CFLAGS) -c $< -o $@
make clean
make string=1 thread=1 signal=1 njournal=1
string thread signal njournal是参数可以影响到源代码中的
#ifdef STRING/THREAD/SIGNAL/NJOURNAL
    thing1
#else
    thing2
#endif


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