使用make编译两个.c文件
//a.c
void fun1(void);
int main()
{
fun1();
return 0;
}
//b.c
#include <stdio.h>
void fun1()
{
printf("this is creat by make file.\n");
}
//makefile内容
//第一版
a.exe:a.o b.o
gcc -o a.exe a.o b.o
a.o:a.c
gcc -o a.o -c a.c
b.o:b.c
gcc -o b.o -c b.c
clean:
rm *.o *.exe
//第二版
a.exe:a.o b.o
gcc -o $@ a.o b.o//$@指代当前目标,也就是a.exe
%.o:%.c
gcc -o $@ $< -c//$< 指代第一个前置条件。比如,规则为 t: p1 p2,那么$< 就指代p1
clean:
rm *.o *.exe
//第三版
foo=a.o b.o
a.exe:$(foo)
gcc -o $@ $(foo)
%.o:%.c
gcc -c $<
clean:
rm *.o *.exe
*注意:以上命令前面都有一个Tab键。
在Ubuntu环境下利用make工具
或者
最后执行清除