说明:
1 在Linux下,一般使用GCC文件,比较头疼的问题,每次编写Makefile文件,比较麻烦,关键是经常忘记makefile语法;
2 最近玩树莓派,借鉴了网上多篇博客,写了一个Makefile文件,具备小型项目的通用性,写下来,方便后续开发;
3 废话不多说,直接上:
代码语言:javascript复制all: DemoApp
#指定链接器
LD = gcc
#指定编译器
CC = gcc
OUT = ./debug/
#指定头文件搜索路径
INC = -I ./MCU_BSP_Lib/inc
-I ./MCU_BSP_Lib/src
-I ./MCU_BSP_Lib/src/BSP_Api_Crypto
-I ./MCU_BSP_Lib/src/BSP_Api_License
-I ./MCU_BSP_Lib/src/BSP_Protocol
-I ./MCU_BSP_Lib/src/BSP_Api_License
-I ./MCU_BSP_Lib/src/BSP_Api_Crypto
#添加要连接的库文件
LINK = -l bcm2835
#添加要编译的.c文件
SRCS = ./main.c
./MCU_BSP_Lib/src/BSP.c
./MCU_BSP_Lib/src/BSP_Util.c
./MCU_BSP_Lib/src/BSP_Protocol/BSP_IIC.c
./MCU_BSP_Lib/src/BSP_Protocol/BSP_SPI.c
./MCU_BSP_Lib/src/BSP_Protocol/BSP_Protocol.c
./MCU_BSP_Lib/src/BSP_Protocol/BSP_Protocol_SGCC.c
./MCU_BSP_Lib/src/BSP_Api_Crypto/Lib_Crypto_Impl.c
./MCU_BSP_Lib/src/BSP_Api_Crypto/Lib_Crypto.c
./MCU_BSP_Lib/src/BSP_Api_License/Lib_API_Boot.c
./MCU_BSP_Lib/src/BSP_Api_License/Lib_API.c
#./MCU_BSP_Lib/src/BSP_Api_License/Lib_Update.c
OBJS = $(SRCS:.c=.o)
CFLAGS = -g -Wall
#$(info SRCS: $(SRCS))
#$(info OBJS: $(OBJS))
#连接,生产目标程序DemoApp
DemoApp: $(OBJS)
@echo link...
$(LD) -o $@ $^ -l bcm2835
@echo done.
#编译
%.o:%.c
$(CC) $(CFLAGS) $(INC) -o $@ -c $<
#clean
clean:
rm $(OBJS)
rm DemoApp