Makefile 文件不容许多余的空格,开头不能是空格
1,makefile文件中命令行的行首不能用空格,而要用Tab键。
2,makefile文件中的字符格式有要求,必须是英文字符,不能有中文字符。
Makefile不再编译已经编译过的未更新文件
https://blog.csdn.net/Rong_Toa/article/details/88257998
# g++ -std=c++17 -I /home/software/opencv/include/ cvimage.h cvtest.cpp -o cvddd -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs -L/home/software/opencv/lib
CC=gcc
CXX=g++ -std=c++17
CPFLAGS = -g -O2 -Wall
INCLUDE= -I. -I/home/software/opencv/include/
LIBRARY= -L/home/software/opencv/lib
#MATHFLAG = -lm
LDFLAGS = -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs
SRC = cvtest.cpp #源文件
#OBJ = $(SRC:.c=.o)
OBJ = cvtest.o #所有要生成的.o文件
#ALL= cvtest
BIN= cvtest
all:$(BIN)
$(BIN):$(OBJ)
$(CXX) $(CPFLAGS) $(INCLUDE) $(LIBRARY) -o $@ $(OBJ) $(LDFLAGS)
%.o:%.cpp
$(CXX) -c $(INCLUDE) $(LIBRARY) $(CPFLAGS) $<
$(SRC):cvimage.h
.PRONY:
clean
clean:
@echo "Removing linked and compiled files......"
rm -rf $(OBJ) $(BIN)
#cvimge:cvtest.o
# g++ -o cvtest cvtest.o -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs -L/home/software/opencv/lib
#
#cvtest.o:cvtest.cpp
# g++ -std=c++17 -I /home/software/opencv/include/ -c cvtest.cpp -o cvtest.o