Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1244534
  • 博文数量: 261
  • 博客积分: 4196
  • 博客等级: 上校
  • 技术积分: 3410
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-17 17:05
文章分类

全部博文(261)

文章存档

2018年(1)

2017年(22)

2016年(2)

2015年(8)

2014年(27)

2013年(40)

2012年(161)

分类: 嵌入式

2017-10-25 10:00:10

分为makefile 和makefile.env 两个文件,其中makefile.env存放公共部门的编译指令,makefile 中针对个人设置单独的路径。 这个可以适用多个目录,多个文件的编译。
#
# Makefile.env exmaple
#
# by Jiffy.He
#

DIR_INC = ./include
DIR_OBJ = ./obj
DIR_BIN = ./bin
DIR_SRC = ./src

TARGET = $(DIR_BIN)/main

CC = gcc
CFLAGS = -g -Wall -I${DIR_INC} -I${EXT_DIR}

SRC = $(wildcard ${DIR_SRC}/*.c) \
$(wildcard ${DIR_SRC}/def/*.c) \
$(wildcard ${DIR_SRC}/test/*.c) 

DIR = $(notdir $(SRC))
OBJ = $(patsubst %.c,${DIR_OBJ}/%.o,$(notdir ${SRC}))

all: $(TARGET)

$(TARGET): $(OBJ)
$(CC) -o $@ $^

${DIR_OBJ}/%.o: ${DIR_SRC}/%.c
$(CC) $(CFLAGS) -o $@ -c $<
${DIR_OBJ}/%.o: ${DIR_SRC}/def/%.c
$(CC) $(CFLAGS) -o $@ -c $<
${DIR_OBJ}/%.o: ${DIR_SRC}/test/%.c
$(CC) $(CFLAGS) -o $@ -c $<

clean:
rm -rf $(OBJ) $(TARGET)

makefile文件:
#
# Makefile exmaple
#
# by Jiffy.He
#

TOPDIR=./

EXT_DIR = /usr/include

include $(TOPDIR)/Makefile.env

附件为tgz格式,在linux 下用tar zxf 解压 
makefile.rar
阅读(5560) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~