原来一直都是手工为项目维护一个make文件,特别是文件越来越来多的时候,维护make文件就成了一个很大的负担,其实GNU Make还提供了一个函数$(wildcard (wildcard )可以生成源程序文件列表。
PROJECT=ptest
LIBS=-lpthread
SOURCE=$(wildcard ./src/*/*.c) $(wildcard ./src/*.c)
OBJS=$(patsubst %.c,%.o,$(SOURCE))
CFLAGS=-g -Wall -O
CC=gcc
vpath %.h ./src/head
vpath %.c ./src
vpath %.c ./src/*
$(PROJECT):$(OBJS)
$(CC) $(CFLAGS) $(LIBS) $(OBJS) -o $@
.PHONY:clean
clean:
$(RM) ptest $(OBJS)