使用makefile语法编译生成可执行文件
假设我们在linux环境下有如下几个c文件
我们先创建一个.mk文件
makefile文件编译代码多种多样,我们贴出几种方式代码来简化过程,然后编写如下代码
myapp:main.o plus.o minus.o multi.o divi.o
gcc main.o plus.o minus.o divi.o -o myapp
main.o:main.c
gcc -c main.c
plus.o:plus.c
gcc -c plus.c
minus.o:minus.c
gcc -c minus.c
multi.o:multi.c
gcc -c multi.c
divi.o:divi.c
gcc -c divi.c
objects=main.o plus.o minus.o multi.o divi.o
myapp:$(objects)
gcc $(objects) -o myapp
#通配符
%.o:%.c
gcc -c $^ -o $@
#找到所有的.c文件 并且放到变量里
#wildcard 列出当前目录下所有符合条件的文件名
sources=$(wildcard *.c)
#patsubst 将.c替换为.o
objects=$(patsubst %.c,%.o,$(sources))
myapp:$(objects)
gcc $^ -o $@
%.o:%.c
gcc -c $^ -o $@
保存文件并退出,然后在执行命令 make
此时就生成了可执行文件myapp,最后执行 ./myapp
这样我们的可执行文件就生成了
网友评论