一个简单的makefile
熟练掌握makefile需要一个漫长的过程,这里先添加博客中排序算法使用到的makefile,后续再完成学习使用makefile
目录结构如下:
--common.c、common.h
--bubble_sort.c(冒泡排序)
makefile(bubble_sort)
1 # 指令编译器和选项 2 CC=gcc 3 CFLAGS=-Wall -std=gnu99 4 5 # 目标文件 6 TARGET=bubble_sort 7 SRCS = bubble_sort.c ../common.c 9 10 INC = -I .. 11 12 OBJS = $(SRCS:.c=.o) 13 14 $(TARGET):$(OBJS) 15 # @echo TARGET:$@ 16 # @echo OBJECTS:$^ 17 $(CC) -o $@ $^ 18 19 clean: 20 rm -rf $(TARGET) $(OBJS) 21 22 %.o:%.c 23 $(CC) $(CFLAGS) $(INC) -o $@ -c $<
makefile简单说明
- 使用变量INC包含头文件路径,不同路径之间使用空格隔开
- gcc指令可通过-I前缀指定头文件路径,特别说明./代表当前路径,../代表上一级目录。
- 三个重要的变量:$@--目标文件、$^--所有的依赖文件、$<--第一个依赖文件