天天看點

簡單的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的檔案,然後我們就可以繼續快樂的讀程式了

繼續閱讀