29 lines
497 B
Makefile
29 lines
497 B
Makefile
|
CC = gcc
|
||
|
CFLAGS = -Wall -g
|
||
|
|
||
|
# 默认目标,生成所有文件
|
||
|
all: main.i main.s main.o main
|
||
|
|
||
|
# 预处理: 生成 main.i
|
||
|
main.i: main.c
|
||
|
$(CC) -E $< -o $@
|
||
|
|
||
|
# 编译: 生成汇编代码 main.s
|
||
|
main.s: main.i
|
||
|
$(CC) -S $< -o $@
|
||
|
|
||
|
# 汇编: 生成目标文件 main.o
|
||
|
main.o: main.s
|
||
|
$(CC) -c $< -o $@
|
||
|
|
||
|
# 链接: 生成可执行文件 main
|
||
|
main: main.o
|
||
|
$(CC) $< -o $@
|
||
|
|
||
|
# 清理所有生成的文件
|
||
|
clean:
|
||
|
rm -f main.i main.s main.o main
|
||
|
|
||
|
# .PHONY 表示这些目标不是文件名
|
||
|
.PHONY: all clean
|