天天看點

Linux的通用makefile模闆Linux的通用makefile模闆

Linux的通用makefile模闆

# 下面的變量可以在shell 的環境變量裡面指定。

# 也可以象下面這樣在 Makefile 裡面指定。

# CC=gcc                                          # 編譯器

# CFLAGS=-Wall -Werror -g           # 編譯器參數

# LD=gcc                                          # 連接配接器參數

# LDFLAGS= $(LIBS)  -lpthread      # 連接配接器參數

# DEPENDFLAG=-MM                   # 生成依賴關系檔案的參數

# INCLUDES=-Idir1 -Idir2               # 指明包含外部頭檔案的目錄

# LIBS=-la -lb -lc                              # 指明引用外部的庫檔案

CFLAGS:=$(CFLAGS) $(INCLUDES)

LDFLAGS:=$(LDFLAGS) $(LIBS)

#指明項目中,包含源程式的所有的子目錄。

SRCDIRS=.

#指明最終生成的可執行檔案的名稱

PROGRAMS=test.exe

#下面的部分一般不用改動

#從所有子目錄中得到源代碼的清單

SRCS=$(foreach dir,$(SRCDIRS),$(wildcard $(dir)/):?$(basename $<).o $(basename $<).d :?g" /

        > [email protected] || $(RM) [email protected]

$(PROGRAMS): $(OBJS)

        $(CC) $(LDFLAGS) -o [email protected] $(filter %.o ,$+)

# 包含入依賴關系檔案

include $(DEPENDS)

# 删除生成的中間檔案

clean:

        rm $(OBJS) $(DEPENDS) $(PROGRAMS)

繼續閱讀