Makefile中自定义函数的调用
生活随笔
收集整理的這篇文章主要介紹了
Makefile中自定义函数的调用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
From: http://www.cnblogs.com/MyEyes/archive/2012/01/12/2320589.html
自己學(xué)習(xí)腳印,不喜勿噴,謝謝 ~
Makefile中函數(shù)定義:
external/genext2fs/Config.mk
# $(1): src directory # $(2): output file # $(3): label (if any) # $(4): if true, add journal define build-userimage-ext2-target@mkdir -p $(dir $(2)) //不顯示命令本身,只顯示執(zhí)行結(jié)果$(hide) num_blocks=`du -sk $(1) | tail -n1 | awk '{print $$1;}'`;\ // tail -n1 的意思是讀取最后一行的輸出if [ $$num_blocks -lt 20480 ]; then extra_blocks=3072; \else extra_blocks=20480; fi ; \num_blocks=`expr $$num_blocks + $$extra_blocks` ; \ // expr 是四則運(yùn)算的命令num_inodes=`find $(1) | wc -l` ; num_inodes=`expr $$num_inodes + 500`; \if [ -n "$(filter system.img userdata.img,$(notdir $(2)))" ]; then android_image="-a"; else android_image="-U"; fi; \$(MKEXT2IMG) $$android_image -d $(1) -b $$num_blocks -N $$num_inodes -m 0 $(2)$(if $(strip $(3)),\$(hide) $(TUNE2FS) -L $(strip $(3)) $(2))$(if $(strip $(4)),\$(hide) $(TUNE2FS) -j $(2))$(TUNE2FS) -C 1 $(2)$(E2FSCK) -fy $(2) ; [ $$? -lt 4 ] endef函數(shù)調(diào)用:
include external/genext2fs/Config.mkifeq ($(TARGET_SYSTEMIMAGES_USE_EXT3),true) ## generate an ext3 image # $(1): output file define build-radioimage-target@echo "Target radio fs image: $(1)"$(call build-userimage-ext2-target,$(1),$(2),radio,journal) endefelse # TARGET_SYSTEMIMAGES_USE_EXT3 != true $(error Radio does not support yaffs!)endif第一行需要將函數(shù)定義的makefile include進(jìn)來,讓其可以調(diào)用到其中的方法。
在具體調(diào)用的方法使用call,函數(shù)后面可以跟參數(shù),該參數(shù)對應(yīng)函數(shù)原型中的$(1),$(2)等等
總結(jié)
以上是生活随笔為你收集整理的Makefile中自定义函数的调用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP将字符串首字母大小写转换
- 下一篇: FGUI使用方法(一):安装和设置FGU