天天看点

简单的makefile文件解读

include ./Configure
TOP_DIR:=$(shell pwd)/../../../../
ifeq ($(FLASH_SIZE),16M)
	ifeq ($(VSP),YouLuoKe)
		include $(TOP_DIR)/ProductBuilder/allRules_HI3518_16M_youluoke.mk
	else
		ifeq ($(CHIP_ID),HI3518E)
			ifeq ($(VSP),QiHu)
				include $(TOP_DIR)/ProductBuilder/allRules_HI3518E_16M_QIHU.mk
			else
				include $(TOP_DIR)/ProductBuilder/allRules_HI3518E_16M.mk
			endif
		else
			include $(TOP_DIR)/ProductBuilder/allRules_HI3518_16M.mk
		endif
	endif
else
	ifeq ($(CHIP_ID),HI3518E)
		include $(TOP_DIR)/ProductBuilder/allRules_HI3518_8M_E.mk
	else
		include $(TOP_DIR)/ProductBuilder/allRules_HI3518_8M.mk
	endif
endif
           

首先是第一行,代表的是进入同文件夹下的Configure,可以打开内部的内容,主要都是变量的设置

PRODUCT_NAME=General_HI3518C_53H13_16M_IPC_WIFI3GONVIF_NONE_SimpChn_NP_HZXM_V1.000.00.0.R
   VENDOR_ID=General
   CHIP_ID=HI3518C
   DEVICE_ID=53H13
   FLASH_SIZE=16M
   PRODUCTION_TYPE=IPC
   EXTENFUNC=WIFI,3G,ONVIF
   INTELLIGENT=NONE
   LANGUAGES=SimpChinese
   VIDEOSTANDARDS=PAL,NTSC
   DEFAULT_VIDEOSTANDARD=NTSC
   MAX_EXTRA_STREAM=1
   VSP=HZXM
           

接下来是第二行:将网上走四个之后的目录路径复制给变量

第三行判断行,判断是否为16M,答案是为16M,判断为真,继续往下走

接下来就都是判断了,跟着心走就可以了,最后的出结果 进入一个名为allRules_HI3518_16M.mk的文件,然后我们就可以继续快乐的读程序了

继续阅读