孤独的猫

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  1. #万能Makefile for gtk+2.0  
  2. #Author Kimi Zhang  
  3.   
  4.   
  5. CFLAGS += `pkg-config --cflags gtk+-2.0`  
  6. LIB += `pkg-config --libs gtk+-2.0`  
  7.   
  8.   
  9. #目标exe文件名  
  10. TARGET=./a  
  11.   
  12. #源代码的路径,如果有多个用空格分隔。我把源码全部放到Makefile的目录下了  
  13. SRC_DIRS=.  
  14.   
  15. #源代码(.cc文件)  
  16. SRC=$(foreach TMP_SRC_DIRS, $(SRC_DIRS), $(wildcard $(TMP_SRC_DIRS)/*.c))  
  17.   
  18. #obj(.o文件)  
  19. OBJS=$(patsubst %.c,%.o,$(SRC))  
  20.   
  21. #编译选项  
  22. CFLAGS += -Wall -g  
  23.   
  24. #编译器和连接器  
  25. CC=gcc  
  26. LINK=gcc  
  27.   
  28.   
  29. .SECONDARY:%.o $(OBJS)  
  30.   
  31. %.o:%.c  
  32.     $(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@  
  33.       
  34. all:$(TARGET)  
  35.   
  36. $(TARGET): $(OBJS)  
  37.     $(LINK) $(OBJS) -o $(TARGET) $(LIB)  
  38.   
  39. clean:  
  40.     -rm -f $(OBJS) $(TARGET)  
  41.   
  42. #供测试用,显示要编译的源代码文件  
  43. display:      
  44.     @echo $(SRC_DIRS)  
  45.     @echo $(SRC)  
  46.     @echo $(OBJS)  

注意:

报遗漏**分割符的错误原因是shell命令前不能有空格,只能为Tab键,否则make命令无法解析

posted on 2011-04-10 14:58  孤独的猫  阅读(489)  评论(0)    收藏  举报