$(call check-var,XILINX_VITIS_CLASSIC) $(call check-var,PLATFORM_TOOLS) $(call check-var,CONFIG_FILE) $(call check-var,BUILD_DIR) $(call check-var,PROJECT_LOCK) $(call check-var,BUILD_LOCK) $(call check-var,LINK_SRCS) define tcl_util xsct -nodisp $(PLATFORM_TOOLS)/util.tcl \ $(1) \ $(CONFIG_FILE) $(BUILD_DIR) endef PHONY += xilinx_reset xilinx_project xilinx_sdkclean xilinx_sdkbuild xilinx_sdkopen: @$(call log,Launching IDE...) @if [ "$(call check_command,vitis)" = "y" ]; then \ if [ "$(XILINX_VITIS_CLASSIC)" = "y" ]; then \ vitis -classic -workspace=$(BUILD_DIR); \ else \ vitis -workspace=$(BUILD_DIR); \ fi; \ elif [ "$(call check_command,xsdk)" = "y" ]; then \ xsdk -workspace=$(BUILD_DIR); \ else \ echo "No IDE found!" && exit 1; \ fi xilinx_sdkbuild: @$(call log,[Build] SDK projects in $(BUILD_DIR)) $(call tcl_util, build) $(HIDE) @echo "$(TIMESTAMP): Build lock." > $(BUILD_LOCK) xilinx_sdkclean: @$(call log,[Delete] SDK artefacts from $(BUILD_DIR)) $(call tcl_util, clean_project) $(HIDE) $(XILINX_PROJECT_LOCK): @$(call log,Creating and configuring the IDE project) @$(call cmd_mkdir,$(BUILD_DIR)) $(call tcl_util, create_project) $(HIDE) @echo "$(TIMESTAMP): Project lock." > $@ xilinx_project: $(PROJECT_LOCK) xilinx_reset: $(call cmd_remove,.Xil) $(HIDE)