linux之makefile

Invinc-Z / 2024-11-09 / 原文

目录
  • linux之makefile
    • 模板
      • 每个.c编译成.o再链接在一起
      • 每个.c文件各自编译链接成可执行文件

linux之makefile

学习

模板

每个.c编译成.o再链接在一起

OUT:=main
SRCS:=$(wildcard *.c)
OBJS:=$(patsubst %.c,%.o,$(SRCS))
CC:=gcc
$(OUT):$(OBJS)
	$(CC) $^ -o $@ -lpthread
%.o:%.c
	$(CC) -c $^ -o $@ -g
.PHONY:clean rebuild
clean:
	$(RM) $(OBJS) $(OUT)
rebuild: clean main

每个.c文件各自编译链接成可执行文件

SRCS:=$(wildcard *.c)
EXES:=$(patsubst %.c,%,$(SRCS))
CC:=gcc
all:$(EXES)
%:%.c
	$(CC) $^ -o $@ -g
clean:
	$(RM) $(EXES)
rebuild:clean all