摘要: ifneq ($(OBJTREE),$(SRCTREE)) obj := $(OBJTREE)/ src := $(SRCTREE)/ else obj := src := endif export obj src 如果源码目录和输出目录不想等,则变量obj和src被赋予相应的值,否则,两变量都为空 阅读全文
posted @ 2018-01-24 14:04 幻影-Andy 阅读(222) 评论(0) 推荐(0) 编辑
摘要: OBJTREE := $(if $(BUILD_DIR),$(BUILD_DIR),$(CURDIR)) //如果定义了BUILD_DIR输出目录,则将BUILD_DIR赋给OBJTREE. //如果BUILD_DIR为空,则将当前Makefile所在的路径传给OBJTREE.SRCTREE := 阅读全文
posted @ 2018-01-24 13:58 幻影-Andy 阅读(296) 评论(0) 推荐(0) 编辑
摘要: # Allow for silent buildsifeq (,$(findstring s,$(MAKEFLAGS)))XECHO = echoelseXECHO = :endif 首先看下findstring函数的用法$(findstring <find>,<in>)名称:查找字符串函数——fi 阅读全文
posted @ 2018-01-24 13:47 幻影-Andy 阅读(345) 评论(0) 推荐(0) 编辑
摘要: HOSTARCH := $(shell uname -m | \ //注意这里的 | 是管道,即将shell uname -m执行得到的结果通过管道传给下面的sed命令 sed -e s/i.86/i386/ \ //将上面得到的结果中的i.86替换为i386,如果结果中没有i.86子串就不做替换 阅读全文
posted @ 2018-01-24 13:27 幻影-Andy 阅读(274) 评论(0) 推荐(0) 编辑
摘要: ifdef Oifeq ("$(origin O)", "command line") BUILD_DIR := $(O)endifendif //如果定义了O变量,且定义O变量的方式是以命令行方式定义的,如: make O=tmp/builder,就将这个O变量值赋给BUILD_DIR变量 //如 阅读全文
posted @ 2018-01-24 13:03 幻影-Andy 阅读(361) 评论(0) 推荐(0) 编辑
摘要: (1)ifeq的用法 ifeq ($(变量名), 变量值 ) ........ else ifeq ($(..), ..) ......... else ......... endif (2)最近在学习makefile的过程中遇到需要用ifeq进行逻辑与判断,但是ifeq并没有像其他编程语言那样有 阅读全文
posted @ 2018-01-24 10:11 幻影-Andy 阅读(932) 评论(0) 推荐(0) 编辑
摘要: 这篇主要分析Makefile文件开头部分对与一些编译环境以及编译路径等变量的初始化 VERSION = 2010 PATCHLEVEL = 12 SUBLEVEL = EXTRAVERSION = ifneq "$(SUBLEVEL)""" U_BOOT_VERSION =$(VERSION).$( 阅读全文
posted @ 2018-01-24 09:33 幻影-Andy 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 当我们编译U-BOOT的时候,大家键入make smdk2410_config,make 的时候都作了那些动作呢,这里我先大概介绍一下Makefile的内容,然后在大概理解一下命令执行的流程。如果有错的地方,希望大家指正,谢谢。 1.u-boot顶层目录的Makefile分析: HOSTARCH : 阅读全文
posted @ 2018-01-24 09:24 幻影-Andy 阅读(245) 评论(0) 推荐(0) 编辑
摘要: mkdir -p X 中的“-p”是什么意思? 建立上层目录比如当然 /root 目录下没有任何目录mkdir -p /root/test/test这样就在 /root 目录下建立了 test 目录 ,并在 /root/test目录下还建立了 /root/test/test 目录 阅读全文
posted @ 2018-01-24 09:20 幻影-Andy 阅读(657) 评论(0) 推荐(0) 编辑
摘要: ifdef Oifeq ("$(origin O)", "command line") BUILD_DIR := $(O) endif endif这里主要说明origin的语法: origin函数不像其它的函数,他并不操作变量的值,他只是告诉你你的这个变量是哪里来的?其语法是: $(origin < 阅读全文
posted @ 2018-01-24 09:14 幻影-Andy 阅读(203) 评论(0) 推荐(0) 编辑