只有三个文件 main.c first.c common.h
first 最基本的
/***************/
main: main.o first.o
gcc main.o fist.o -o main
main.o: main.c commond.h .....
gcc -c main.c
first.o: first.c commond.h ...
gcc -c first.c
clean:
rm -f main main.o first.o
/*************************/
second 替换 大写
/*************************/
CC = gcc
OBJS = main.o first.o
main: $(OBJS)
$(CC) $(OBJS) -o main
main.o: main.c 和它的头文件
$(CC) -c main.c
first.o: first.c .....
$(CC) -c first.c
clean:
rm -f $(OBJS)
/***********************/
third 隐含规则
CC gcc
CXX g++
AR ar
CPP $(CC) -E
RM rm -f
$@ 一条规则中的目标名字
$< 依赖文件中的第一个
$^ 所有的依赖 很强的哈//不是很好用哈 容易出错
/*********************/
OBJS = main.o first.o
main: main.o ......
$(CC) $(OBJS) -o $@
main.o: main.c .......
$(CC) -c $<
first.o: first.c
$(CC) -C $<
clean:
$(RM) $(OBJS)
/**********************/
fourth 系统会自动完成.o文件的转换
/************************/
OBJS = main.o first.o
.PHONY:test
test: $(OBJS)
$(CC) -Wall $^ -o $@ -lm//这里的-lm可以连接数学函数库 一些简单的其它的连接也可以这样实现
.PHONY: clean
clean:
-$(RM) $(OBJS)
/**********************/
阅读(1928) | 评论(0) | 转发(0) |