Makefile 文件的编写
例子
#交叉编译工具链绝对路径,去掉首个 / 为相对路径
CC = /root/OpenWrt-Toolchain-ramips-for-mipsel_24kec+dsp-gcc-4.8-linaro_uClibc-0.9.33.2/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mipsel-openwrt-linux-gcc
#编译目标文件
APP = myLn
#主函数入口文件
SOURCES = myLn.c
#头文件相对路径
DEPENDS = Components/one.h \
Components/two.h \
Components/aes.h \
Components/gps.h \
Components/tcp.h \
Components/data_process.h \
Components/i2c_bmx055.h
#头文件目标文件相对路径
OBJS = Components/one.o \
Components/two.o \
Components/aes.o \
Components/gps.o \
Components/tcp.o \
Components/data_process.o\
Components/i2c_bmx055.o
#-I 后加相对头文件路径
INCLUDES = -IComponents
#动态链接库
LIBS = -lm -lpthread -ldl
CFLAGS = -std=c99
#[可执行文件]包括 :[头文件] [头文件编译目标] [主函数文件]
$(APP) : $(DEPENDS) $(OBJS) $(SOURCES)
#用[GCC工具链] 把[主函数文件]编译成[可执行文件APP],同时应用[CFLAGS][CFLAGS][LIBS][INCLUDES][INCLUDES][OBJS]
$(CC) $(SOURCES) -o $(APP) $(CFLAGS) $(LIBS) $(INCLUDES) $(OBJS)
PHONY: all clean
all: $(APP)
clean:
rm -rf $(APP)
rm -rf *.o Components/*.o
License:
CC BY 4.0