makefile 通配符与函数说明

makefile变量定义

CFLAG=-g -Wall
TARGET=run
makefile通配符使用

当前所有的cpp文件 SRC=$(wildcard ./*.cpp)
当前所有的cpp文件替换成o文件 OBJ=$(SRC:.cpp=.o)

makefile函数使用

实例

CC=@g++
CFLAG=-g -O -fpermissive
MYSQL=/usr/local/mysql
INCLUDE=-I$(MYSQL)/include
LIBDIR=-L$(MYSQL)/lib
LIB=-lmysqlclient

TARGET=run
PRJDIR=.
SRC=$(wildcard $(PRJDIR)/*.cpp)
OBJ=$(SRC:.cpp=.o)

all: $(TARGET)
$(OBJ):%.o:%.cpp
	@echo compiling $< ...
	$(CC) -c -o $(PRJDIR)/$@ $(PRJDIR)/$< $(CFLAG) $(INCLUDE)
$(TARGET): $(OBJ)
	$(CC) -o $(PRJDIR)/$@ $(PRJDIR)/$^ $(LIBDIR) $(LIB)
	@echo done
clean:
	rm -f $(OBJ) ./$(TARGET)



你可能感兴趣的:(makefile 通配符与函数说明)