Makefile 格式
目标:依赖
[Tab]命令
编译多个可执行文件
CC = gcc
all:fprintf __FILE
fprintf:fprintf.c
$(CC) fprintf.c -o fprintf
__FILE:__FILE.c
$(CC) __FILE.c -o __FILE
.PHONY clean: //clean目标是删除这些文件,但是如果当前目录中出现了一个clean文件,在执行
make clean时就不会在执行clean目标下的命令了
rm -f *.o fprintf __FILE
默认可以如下写
[root@localhost 12:08:41 /software]# cat Makefile
CC = gcc
all:fprintf __FILE
fprintf:
__FILE:
clean:
rm -f *.o fprintf __FILE
[root@localhost 12:08:52 /software]# make
make: 对“all”无需做任何事。
生成可执行文件,不用每次全部编译,只编译修改过的文件。
CC = gcc
main: main.o tool.o tool_1.o
$(CC) main.o tool.o tool_1.o -o main
main.o: main.c
$(CC) -c main.c
tool.o: tool.c
$(CC) -c tool.c
tool_1.o: tool_1.c
$(CC) -c tool_1.c
clean:
rm -f *.o main
[root@localhost 12:06:20 /software/test]# make
gcc -c main.c
gcc -c tool.c
gcc -c tool_1.c
gcc main.o tool.o tool_1.o -o main
[root@localhost 12:06:26 /software/test]# gedit tool_1.c &// 启用gedit修改这个文件,后台运行,
[root@localhost 12:06:40 /software/test]# make
gcc -c tool_1.c
gcc main.o tool.o tool_1.o -o main