`
isiqi
  • 浏览: 16020019 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Makefile 模版

阅读更多

Makefile 模板

# 下面的变量可以在shell 的环境变量里面指定。
# 也可以象下面这样在 Makefile 里面指定。
# CC=gcc # 编译器
# CFLAGS=-Wall -Werror -g # 编译器参数
# LD=gcc # 连接器参数
# LDFLAGS= $(LIBS) -lpthread # 连接器参数
# DEPENDFLAG=-MM # 生成依赖关系文件的参数
# INCLUDES=-Idir1 -Idir2 # 指明包含外部头文件的目录
# LIBS=-la -lb -lc # 指明引用外部的库文件

CFLAGS:=$(CFLAGS) $(INCLUDES)
LDFLAGS:=$(LDFLAGS) $(LIBS)


#指明项目中,包含源程序的所有的子目录。
SRCDIRS=.
#指明最终生成的可执行文件的名称
PROGRAMS=test.exe


#下面的部分一般不用改动
#从所有子目录中得到源代码的列表
SRCS=$(foreach dir,$(SRCDIRS),$(wildcard $(dir)/*.c))


#得到源代码对应的目标文件的列表
OBJS=$(SRCS:.c=.o)

#得到源代码对应的依赖关系文件的列表
#依赖关系文件就是一个目标文件依赖于
#哪些头文件和源程序,依赖关系是自动
#生成的,并且用include语句包含在Makefile中
DEPENDS=$(SRCS:.c=.d)


#指明默认目标是生成最终可执行文件。
all: $(PROGRAM)


#生成依赖关系文件
%.d:%.c
$(CC) $(DEPENDFLAG) $(CFLAGS) $< |\
sed "s?\\(.*\\):?$(basename $<).o $(basename $<).d :?g" \
> $@ || $(RM) $@

$(PROGRAMS): $(OBJS)
$(CC) $(LDFLAGS) -o $@ $(filter %.o ,$+)


# 包含入依赖关系文件
include $(DEPENDS)


# 删除生成的中间文件
clean:
rm $(OBJS) $(DEPENDS) $(PROGRAMS)

分享到:
评论

相关推荐

    linux开发Makefile模板

    使用Makefile模板,用户只需要根据需要配置头文件路径,库文件路径,编译器、目标文件名即可一键make,生成对应编译器平台的可执行程序

    通用的makefile模板

    通用的makefile模板,支持模块化编译,支持多平台,支持多项目配置。 简单配置,只需添加源文件列表和指定编译目标,就可以直接编译。 支持添加test。 默认包含gtest测试样例

    makefile模板

    几个好用的makefile模板,稍加改动或不加改动就可以拿来自己用作makefile文件

    Makefile模板示例

    Makefile模板示例;两个简单的Makefile模板和一个复杂的Makefile模板

    LINUX驱动Makefile模板[文].pdf

    LINUX驱动Makefile模板[文].pdf

    linux_ 几个常用makefile模板.pdf

    linux_ 几个常用makefile模板.pdf

    Linux动态库,静态库,exe的makefile模板

    创建动态库,静态库,exe文件的makefile模板,转Linux的同学可以看看,直接填充就可以了

    通用Makefile模板

    这是我自己制作的一个通用Makefile模板,你只需要像填空一下设置一些必要的编译器参数和源代码目录即可,其他复杂的依赖关系,目录文件等都会自动帮你生成,免去你的很多烦恼。 注意:每一个.c文件都会在对应的目录...

    基本通用makefile模板

    基本通用makefile模板, 目录结构 ./src ./include ./lib。 makefile和*.c文件放在 ./src 目录, 头文件放在 ./include目录, 库文件放在 ./lib目录。不需要静态编译,取消 -static。 my_main_c 替换为你需要编译的...

    Makefile模板 和我一起学习Makefile

    Makefile模板,linux下生手,半生不熟的人的好伙伴.照葫芦画瓢的好东西.

    Makefile.zip_Makefile模板_makefile

    通用Makefile模板,简单易用,自动生成依赖关系,使用时放到项目源码的顶级目录,根据提示然后填写相关信息,Makefile会自动处理依赖关系和头文件路径等内容。

    Makefile模板

    一个Makefile模板

    template-6-10.rar_Makefile模板_linux项目

    makefile模板,非常实用,简洁清晰,小型、中型项目都适用。

    lwbuild轻量级构建框架(Makefile模板)

    lwbuild轻量级构建框架(Makefile模板), 不用手写Makefile,不用手写编译构建系统,拿来直接使用!

    比较好用的Makefile模板

    比较好用的Makefile模板,只要更改定义部分的源文件目录和目的目录,就会自动代码所有的源文件并生成相关依赖文件。最终链接成为可执行目的文件。

Global site tag (gtag.js) - Google Analytics