makefile文件编写

简介: makefile文件编写

1.Makefile 中$@  $^ $< 解释

转载的例子


OBJS = ifconfig.o tftp_util.o ping.o
SRCS = $(OBJS:.o=.c)
PHONY += all
all : $(BUILT_IN_OBJ)
$(BUILT_IN_OBJ) : $(OBJS)
        $(LD) $(LDFLAGS) -r $^ -o $@
$(OBJS) : $(SRCS)
        $(CC) $(CFLAGS) -c $^
PHONY += clean
clean :
        @rm -vf *.o
.PHONY : $(PHONY)

----------------------------------------------------------------------------------------------------------------------------------------

说明:$(BUILT_IN_OBJ) 和 $(PHONY)来自上层目录g-bios/app/Makefile,可以不用理解。


$@ 代表目标 上例为$(BUILT_IN_OBJ)


$^ 代表所有的依赖对象 上例第一个$^为$(OBJS),即 ifconfig.o tftp_util.o ping.o,上例第二个$^为$(SRCS),即$(OBJS:.o=.c) (Makefile解释后为: ifconfig.c tftp_util.c ping.c)


$< 代表第一个依赖对象 前面例子修改如下:


$(BUILT_IN_OBJ) : $(OBJS)


       $(LD) $(LDFLAGS) -r $< -o $@


则$<表示为ifconfig.o



相关文章
|
vr&ar C语言
Makefile文件编写
源代码文件 main3.c 1 #include 2 #include "static_lib.h" 3 #include "fun.h" 4 5 int main(void){ 6 int a=2,b=3; 7 printf("add:%d s...
1192 0
|
Shell Linux C语言
Makefile文件 | 编写指南
Makefile文件 | 编写指南
351 0
|
IDE 编译器 程序员
编写Makefile
编写Makefile
78 0
|
10月前
|
编译器 测试技术
如何编写自己的Makefile(1)
如何编写自己的Makefile(1)
47 1
|
关系型数据库
|
IDE Linux Shell
【Makefile】简单的Makefile编写
【Makefile】简单的Makefile编写
|
C语言 C++
多目录下多文件 makefile编写
前面已经分享了单目录项下多文件的makefile的编写,现在来看看多目录下多文件makefile的编写;         在做项目时,一般文件都会分几个目录来存放;基本的是  include/  bin/ src/ obj/ lib/ tools/,这几个文件;我先说下我的文件存放目录,用ls -R可以查看到所有文件:.
1524 0
|
C语言 C++
单目录下多文件 makefile编写
makefile很久就接触过了,但是一直没怎么深入的去学习和总结;在项目中我也只是看看makefile或者修改部分语句,全部自己动手写的话还真没有;知识在于沉淀,这句说的非常好,所以现在把自己理解的东西,记录下来,以便后面查阅;         这篇blog要分享的是在单目录下多文件的makefile编写,首先说明当前目录下有多少文件:fun.
1177 0