个人Makefile写法总结
来源:互联网 发布:wp10 软件开发 编辑:程序博客网 时间:2024/06/05 03:00
个人Makefile写法总结
我想只要是做过linux C开发的程序员一定对makefile不会陌生,但是可能大部分都停留在写一些简单的makefile或者说简单项目的makefile,本人就是这种状态,对于复杂的makefile可能都看不懂再干什么,有很多不理解的地方,做为一个linux c开发我感觉是有点说不过去的,所以我最近就研究了一下makfile的写法并结合了项目中的用法总结如下:
#主Makefile模板include xxx #Make.rule路径TARGET = xxx #生成的程序名xxx_PATH = xxx #源文件路径(需要定义所有的源文件路径)...SUBDIRS = xxx_PATH \ ....PHONY : all clean all: subtarget $(TARGET)subtarget: @for dir in SUBDIRS; do \ (cd dir && $(MAKE) subtarget -f Makefile) || exit 1; \ doneclean: @for dir in SUBDIRS; do \ (cd dir && $(MAKE) clean -f Makefile) || exit 1; \ done -rm -rf $(TARGET)xxx_OBJ = $(patsubst %.c,%.o,$(wildcard $xxx_PATH/*.c))...SUBOBJS = xxx_OBJ \ ...$(TARGET):$(SUBOBJS) $(CC) $(CFLAGS) -o $@ $^ $(LIBS)$(SUBOBJS):$(subtarget)
接下来,需要定义一个通用的规则,包括库、头文件、编译选项以及如何编译子目录的源文件,Make.rule内容如下:
#Make.rule模板CC = gcc CFLAGS = -fPIC -g -Wall $(INCLUDE)INCLUDE = -I xxx ...LIBS = -L xxx -lxxx ...OBJ = $(patsubst %c,%o,$(SRC))$(OBJ):$(SRC) $(CC) $(CFLAGS) -c $^
子目录makefile内容如下:
#子Makefile模板include xxx #Make.rule路径TARGET = $(OBJ)SRC = xxx ...#源文件列表,例如,main.c init.c ....PHONY: all cleanall: $(TARGET)clean: -rm -rf xxx.osubtarget: $(TARGET)
0 0
- 个人Makefile写法总结
- 个人推荐Makefile的写法
- Android Makefile的常用写法总结
- 软件工程通用makefile写法学习总结
- Makefile之写demo时的通用Makefile写法总结
- Makefile之写demo时的通用Makefile写法总结
- Makefile之写demo时的通用Makefile写法总结
- Makefile之写demo时的通用Makefile写法总结
- ListView、Adapter写法习惯个人总结
- Makefile 使用总结(个人觉得不错)
- Makefile写法
- makefile写法
- makefile写法
- makefile写法
- Makefile写法
- makefile的写法(转)
- Makefile的写法
- makefile的写法
- 【分享】spring jar包分享
- Dynamics CRM 2016 SP1 支持自定制field
- 用python脚本通过odoorpc方法修改odoo中字段内容
- Java基础
- Jconsole与Jmx 分析JVM状况(上)
- 个人Makefile写法总结
- oracle把一个表的字段更新到另一张表中
- 【C++ stl 小结】
- SSH中JSP页面传值到action出现中文乱码的情况
- cdh5支持spark-sql cli怪招
- Banana PI (香蕉派) 安装 ubuntu-core-14 最小核心的操作步骤
- hdu 1241 Oil Deposits
- 生成加密sign
- DB2函数使用总结