一個經典Makefile小例

#SHELL:=/bin/bash

#生成可執行程序的名稱
APP   := wangtao

#指定交叉編譯器
CROSS_COMPILE=arm-linux-
CC=$(CROSS_COMPILE)gcc

#CFLAGS         C語言編譯器參數,編譯時使用
CFLAGS := -Wall -Werror

# 指定SRC_DIR 源代碼文件路徑(要追加其他路徑,就在./後面追加路徑,用空格分隔)
SRC_DIR := ./

#指定支持的源代碼擴展名 SFIX(要追加其他擴展名,就在.c後面追加擴展名,用空格分隔)
SFIX    :=  .c

#得到源文件集合(帶路徑)
SOURCES := $(foreach x,${SRC_DIR},\
		   $(wildcard \
		   $(addprefix  ${x}/*,${SFIX})))

#去掉路徑信息,得到目標文件名集合 (不帶路徑)
OBJS := $(notdir ${SOURCES})

#指定頭文件搜索路徑
INCLUDES :=\
./include

#指定庫文件路徑
LIBDIRS :=\
./lib

#指定需要的鏈接
LINK :=\
-lpthread\
-lrt\
-lssl\
-lcrypto\
-ldl

#定義安裝目錄
BIN := ./bin


all:
	$(CC) $(OBJS) -I$(INCLUDES) -L$(LIBDIRS) $(LINK) -o $(APP) $(CFLAGS)

clean:
	rm -f $(APP)

install:
	mv ${APP} ${BIN}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章