一个经典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}

 

你可能感兴趣的:(Linux)