Makefile---make 编译依赖文件
1.方便编译程序
2.节约编译时间
书写规则
目标:依赖
命令
第一版本
main:main.c
gcc -o main main.c
第二版本(添加变量)
TARGET=main
SRCS=main.c
CC=gcc
$(TARGET):$(SRCS)
$(CC) -o $(TARGET) $(SRCS)
第三版本(自动找.c文件)
CC=gcc
TARGET=main
SRCS=$(wildcard *.c)
$(TARGET):$(SRCS)
$(CC) -o $(TARGET) $(SRCS)
第四版本(生成中间文件.o)
CC=gcc
TARGET=main
SRCS=$(wildcard *.c) #SRCS=file.c add.c
OBJS=$(patsubst %.c, %.o, $(SRCS))
$(TARGET):$(OBJS)
$(CC) -o $(TARGET) $(OBJS)
第五版本(添加clean)
CC=gcc
TARGET=main
SRCS=$(wildcard *.c) #SRCS=file.c add.c
OBJS=$(patsubst %.c, %.o, $(SRCS))
$(TARGET):$(OBJS)
$(CC) -o $(TARGET) $(OBJS)
clean:
rm *.o $(TARGET)
终极版($@表示目标, $<初级级依赖, $^终极依赖)
CC=gcc
TARGET=main
SRCS=$(wildcard *.c */*.c) #SRCS=file.c add.c
OBJS=$(patsubst %.c, %.o, $(SRCS))
$(TARGET):$(OBJS)
$(CC) -o $@ $^
%.o:%.c
$(CC) -o $@ -c $<
clean:
rm *.o $(TARGET)
1.方便编译程序
2.节约编译时间
书写规则
目标:依赖
命令
第一版本
main:main.c
gcc -o main main.c
第二版本(添加变量)
TARGET=main
SRCS=main.c
CC=gcc
$(TARGET):$(SRCS)
$(CC) -o $(TARGET) $(SRCS)
第三版本(自动找.c文件)
CC=gcc
TARGET=main
SRCS=$(wildcard *.c)
$(TARGET):$(SRCS)
$(CC) -o $(TARGET) $(SRCS)
第四版本(生成中间文件.o)
CC=gcc
TARGET=main
SRCS=$(wildcard *.c) #SRCS=file.c add.c
OBJS=$(patsubst %.c, %.o, $(SRCS))
$(TARGET):$(OBJS)
$(CC) -o $(TARGET) $(OBJS)
第五版本(添加clean)
CC=gcc
TARGET=main
SRCS=$(wildcard *.c) #SRCS=file.c add.c
OBJS=$(patsubst %.c, %.o, $(SRCS))
$(TARGET):$(OBJS)
$(CC) -o $(TARGET) $(OBJS)
clean:
rm *.o $(TARGET)
终极版($@表示目标, $<初级级依赖, $^终极依赖)
CC=gcc
TARGET=main
SRCS=$(wildcard *.c */*.c) #SRCS=file.c add.c
OBJS=$(patsubst %.c, %.o, $(SRCS))
$(TARGET):$(OBJS)
$(CC) -o $@ $^
%.o:%.c
$(CC) -o $@ -c $<
clean:
rm *.o $(TARGET)