Makefile之寫demo時的通用Makefile寫法總結

  前面的一篇博文Makefile之大型工程項目子目錄Makefile的一種通用寫法介紹了大型項目子目錄Makefile的一種通用寫法,然而最近在寫Linux網絡方面的demo,一個目錄下有幾個文件,若是手工輸命令顯得太不專業了大笑。因而按該博文的方法改編了一下Makefile,也當學習之用。該Makefile適用於一個C文件生成一個可執行程序的場景(代碼片斷3適用於多個C文件生成一個可執行程序),使用該方法當工程目錄內的文件有增刪時無需對Makefile進行改動,能夠說至關的智能。若是對patsubstwildcardsubst函數不瞭解的話可參閱上述博文。同時在測試過程當中,又發現了一種更簡潔的寫法,如代碼片斷2,應該是使用了某些隱式規則,因爲項目較忙,還將來得及深刻研究,先記錄下來,等空下來再研究,還望路過大俠多多指點。網絡

1:若是在當前目錄中直接make的話使用下列代碼:函數

#General Purpose Makefile by guoqingbo學習

                           

objects := $(patsubst %.c,%.o,$(wildcard *.c))  測試

executables := $(patsubst %.c,%,$(wildcard *.c))  spa

                           

all :  $(objects).net

$(objects) : %.o: %.c orm

    gcc -c $< -o $@blog

    gcc $< -o $(subst .o, ,$@) get

clean :it

     @rm -rf *.o *~

     @rm -rf ${executables}

 .PHONY : clean

相關文章
相關標籤/搜索