嵌入式AIoT君

我是一名嵌入式-人工智能小白,从入门到出师,开始我的新一段征程。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

多文件下的Makefile编写:(会生成两个可执行文件)
   例如一个文件包含 customer.c   mylock.c    producer.c    mylock.h
编写Makefile文件如下:

EXEC1 = producer
EXEC2 = customer
OBJS1 = producer.o mylock.o
OBJS2 = customer.o mylock.o
HEADERS = mylock.h

CC = gcc
CFLAGS = -O2 -g

all:${EXEC1} ${EXEC2}
${EXEC1} : ${OBJS1}
    ${CC} ${CFLAGS} ${LDFLAGS} -o $@ ${OBJS1}
${EXEC2} : ${OBJS2}
    ${CC} ${CFLAGS} ${LDFLAGS} -o $@ ${OBJS2}

${OBJS1} : ${HEADERS}
${OBJS2} : ${HEADERS}

.PHONY : clean
clean :
    -rm -f ${OBJS1} ${EXEC1}
    -rm -f ${OBJS2} ${EXEC2}
    cat /dev/null > myfifo
    cat /dev/null > myfifo

【*】例如一个文件包含:com_target.c  uart_api.c  uart_api.h
多文件下的Makefile编写:(会生成一个可执行文件)

EXEC = com_target
OBJS = com_target.o uart_api.o
HEADERS = uart_api.h

HOST_CC = gcc
TARGET_CC = arm-linux-gcc
CC = ${TARGET_CC}

INC = -I.
CFLAGS = ${INC} -g

all:${EXEC}
${EXEC} : ${OBJS}
    ${CC} ${CFLAGS} ${LDFLAGS} -o $@ ${OBJS}
${OBJS2} : ${HEADERS}

.PHONY : clean
clean :
    rm -f ${OBJS} ${EXEC}

 

posted on 2019-07-05 23:43  孔实  阅读(621)  评论(0编辑  收藏  举报