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=-lmysqlclientTARGET=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)