97 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Makefile
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Makefile
		
	
	
		
			Executable File
		
	
	
	
	
#include $(NVT_PRJCFG_MODEL_CFG)
 | 
						|
NVT_CFG_DTS="nvt-evb"
 | 
						|
#C_DEFINE_EXT = -DBIN_NAME='"$(BIN_NAME)"' \
 | 
						|
#		-DEMBMEM='"$(EMBMEM)"'
 | 
						|
DTC_VER=$(shell ver=`dtc -v | awk -F' ' '{print $$NF}' | awk -F'-' '{print $$(NF-1)}'`; echo "$$ver" | sed 's/[^a-zA-Z0-9]//g')
 | 
						|
DTC_CFLAGS=$(shell echo "-W no-unit_address_format -W no-unit_address_vs_reg")
 | 
						|
 | 
						|
define gen_model_cfg_link
 | 
						|
	MODEL=`echo $(NVT_PRJCFG_MODEL_CFG) | awk -F'/' '{print $$(NF-1)}'`;\
 | 
						|
	if [ -f $(CONFIG_DIR)/$(NVT_PRJCFG_CFG)/$$MODEL/ModelConfig.mk ]; then \
 | 
						|
		cd $(CONFIG_DIR); rm -rf cfg_gen; ln -s $(NVT_PRJCFG_CFG)/$$MODEL cfg_gen; \
 | 
						|
	else \
 | 
						|
		MODEL_EXT=`cat $(NVT_PRJCFG_MODEL_CFG) | grep MODELEXT | grep -v "#" | awk -F'=' '{print $$NF}' | awk -F'MODELEXT_' '{print $$NF}'`; \
 | 
						|
		cd $(CONFIG_DIR); rm -rf cfg_gen; ln -s $$MODEL cfg_gen; \
 | 
						|
		rm -rf $(CONFIG_DIR)/$(NVT_PRJCFG_CFG)/$$MODEL/MODELEXT; \
 | 
						|
	fi
 | 
						|
endef
 | 
						|
 | 
						|
define clean_model_cfg_link
 | 
						|
	MODEL=`echo $(NVT_PRJCFG_MODEL_CFG) | awk -F'/' '{print $$(NF-1)}'`; \
 | 
						|
	if [ -f $(CONFIG_DIR)/$(NVT_PRJCFG_CFG)/$$MODEL/ModelConfig.mk ]; then \
 | 
						|
		rm -rf $(CONFIG_DIR)/$(NVT_PRJCFG_CFG)/$$MODEL/ModelConfig.mk; \
 | 
						|
		rm -rf $(CONFIG_DIR)/$(NVT_PRJCFG_CFG)/$$MODEL/MODELEXT; \
 | 
						|
	fi; \
 | 
						|
	rm -rf $(CONFIG_DIR)/cfg_gen;
 | 
						|
endef
 | 
						|
 | 
						|
define gen_dtb_from_dts
 | 
						|
	MODEL=`echo $(NVT_PRJCFG_MODEL_CFG) | awk -F'/' '{print $$(NF-1)}'`; \
 | 
						|
	cd $(CONFIG_DIR)/$(NVT_PRJCFG_CFG)/$$MODEL; \
 | 
						|
	cpp -nostdinc -D__DTS__ $(C_DEFINE_EXT) -I $(KERNELDIR)/include -I $(KERNELDIR)/arch/arm/boot/dts/include -I $(CONFIG_DIR)/include -I $(LINUX_BUILD_TOP)/base/linux-BSP/linux-kernel/include -undef -x assembler-with-cpp $(NVT_CFG_DTS).dts > $(NVT_CFG_DTS).tmp.dts; \
 | 
						|
	if [ "$(DTC_VER)" -le "140" ]; then \
 | 
						|
		dtc -O dtb -b 0 -o $(NVT_CFG_DTS).dtb $(NVT_CFG_DTS).tmp.dts; \
 | 
						|
	else \
 | 
						|
		dtc $(DTC_CFLAGS) -O dtb -b 0 -o $(NVT_CFG_DTS).dtb $(NVT_CFG_DTS).tmp.dts; \
 | 
						|
	fi;
 | 
						|
endef
 | 
						|
 | 
						|
define install_dtb
 | 
						|
	MODEL=`echo $(NVT_PRJCFG_MODEL_CFG) | awk -F'/' '{print $$(NF-1)}'`; \
 | 
						|
	cd $(CONFIG_DIR)/$(NVT_PRJCFG_CFG)/$$MODEL; \
 | 
						|
	if [ -f $(NVT_CFG_DTS).dtb ]; then \
 | 
						|
		mkdir -p $(OUTPUT_DIR); \
 | 
						|
		cp $(NVT_CFG_DTS).dtb $(OUTPUT_DIR)/$(NVT_CFG_DTS).bin; \
 | 
						|
	fi;
 | 
						|
endef
 | 
						|
 | 
						|
define gen_modelcfg_from_dtb
 | 
						|
	MODEL=`echo $(NVT_PRJCFG_MODEL_CFG) | awk -F'/' '{print $$(NF-1)}'`; \
 | 
						|
	cd $(CONFIG_DIR)/$(NVT_PRJCFG_CFG)/$$MODEL; \
 | 
						|
	if [ -f $(NVT_CFG_DTS).dtb ]; then \
 | 
						|
		$(BUILD_DIR)/nvt-tools/nvt-ld-op --modelcfg-dtb=$(NVT_CFG_DTS).dtb --modelcfg-dst=ModelConfig.mk; \
 | 
						|
	else \
 | 
						|
		echo "Can't find $(NVT_CFG_DTS).dtb"; \
 | 
						|
	fi;
 | 
						|
endef
 | 
						|
 | 
						|
define clean_dtb
 | 
						|
	if [ -d $(CONFIG_DIR)/cfg_gen ]; then \
 | 
						|
		cd $(CONFIG_DIR)/cfg_gen; \
 | 
						|
		rm -rf $(NVT_CFG_DTS).tmp.dts $(NVT_CFG_DTS).dtb; \
 | 
						|
	fi;
 | 
						|
endef
 | 
						|
 | 
						|
define show_dtb_res
 | 
						|
	dtc -I dtb -O dts $(CONFIG_DIR)/cfg_gen/$(NVT_CFG_DTS).dtb;
 | 
						|
endef
 | 
						|
 | 
						|
define verify_dtb
 | 
						|
	$(BUILD_DIR)/nvt-tools/verify_fdt.py -f $(CONFIG_DIR)/cfg_gen/$(NVT_CFG_DTS).dtb;
 | 
						|
endef
 | 
						|
 | 
						|
.PHONY: all
 | 
						|
 | 
						|
all:
 | 
						|
	@$(call gen_dtb_from_dts)
 | 
						|
	@$(call gen_modelcfg_from_dtb)
 | 
						|
	@$(call gen_model_cfg_link)
 | 
						|
	@$(call verify_dtb)
 | 
						|
 | 
						|
gen_dtb:
 | 
						|
	@$(call gen_dtb_from_dts)
 | 
						|
 | 
						|
gen_modelcfg:
 | 
						|
	@$(call gen_modelcfg_from_dtb)
 | 
						|
	@$(call gen_model_cfg_link)
 | 
						|
 | 
						|
dis:
 | 
						|
	@$(call show_dtb_res)
 | 
						|
 | 
						|
install:
 | 
						|
	@$(call install_dtb)
 | 
						|
 | 
						|
clean:
 | 
						|
	@$(call clean_dtb)
 | 
						|
	@$(call clean_model_cfg_link)
 |