Makefile实例002—变量
源码路径github
链接: link
第一步创建文件 main.c (和上一篇文章一样)
#include "main.h"
void main()
{
show_purpose();
}
第二步创建文件 main.h(和上一篇文章一样)
#ifndef __MAIN_H__
#define __MAIN_H__
#include <stdio.h>
void show_purpose()
{
printf("i wish you become better\n");
}
#endif
第三步创建文件 Makefile
使用了 上篇文章最后描述的一步c文件编译成可执行文件的方法,gcc main.c -o main
objects := $(wildcard *.c)
main:main.o
gcc $(objects) -o main
clean:
rm -rf *.i *.s *.o main
上面的代码和下面的代码含义一样
objects := $(wildcard *.c)
main:main.o
gcc ${objects} -o main
clean:
rm -rf *.i *.s *.o main
运行效果
重点说明
1.objects := $(wildcard *.c) 含义就是将当前目录的所有的.c文件都用objects这个变量来表示;
2. $(objects) 含义为对objects变量取值,在本例中就是main.c;
3. 对变量的取值还可以使用${objects} 和 $(objects) 是一样的
4. gcc $(objects) -o main 含义,展开为gcc main.c -o main ,就是上篇文章最后描述的一步c文件编译成可执行文件的方法;
非重点说明
1.变量的名字可以是任意的,只要不是Makefile里面的关键字;