天天看點

Makefile——典型範例

#Makefile  
  
#定義變量  
cc=g++  
srcPath=./src  
incPath=./inc
objPath=./obj  
cpps=$(shell ls $(srcPath) | grep ".cpp")  
obj=$(cpps:%.cpp=$(objPath)/%.o)  
binPath=./bin
libs=-lmyodbc5 -lpthread  
  
#關鍵字  
vpath %.cpp $(srcPath)  
  
#make all  
all : $(binPath)/autoCreateFile  
        @echo "make completed..."  
  
#部署     
$(binPath)/autoCreateFile : $(objPath)/autoCreateFile  
        ln -f $(objPath)/autoCreateFile $(binPath)/autoCreateFile  
        @echo "可執行程式部署完成..."  
          
#連接配接  
$(objPath)/autoCreateFile : $(obj)  
        @echo "程式編譯完成..."  
        $(cc) $(libs) $^ -o $@  
        @echo "程式連接配接完成..."  
          
#編譯  
$(objPath)/%.o : %.cpp $(incPath)/*.h  
        $(cc) -c $< -o $@  
          
#清理  
clean :  
        rm -f $(objPath)/* $(binPath)/autoCreateFile  
        @echo "編譯連接配接中間檔案清理完成..."  
  
##