## ##################################################################################
## ##################################################################################
## ----------------------------------------------------------------------------------
## ################
## ##   ###########   Analog Devices Inc.
## ##      ########
## ##         #####   Copyright (c) 2019 Analog Devices Inc. All rights reserved.
## ##            ##   This file is the confidential and proprietary property of ADI.
## ##         #####   Possession or use of this file requires a written license.
## ##      ########   The licensing information may be found at: www.analog.com
## ##   ###########
## ################
## ----------------------------------------------------------------------------------
## Author:            Rejeesh Kutty
## Description:       AXI_ADRV9001 Interface Core
## ----------------------------------------------------------------------------------
## ##################################################################################
## ##################################################################################

M_ROOT := ../../..
M_VIVADO_PROJECT := adrv9001x2_zc706
M_VIVADO_LOCAL_CLEAN_LIST := vivado*.* .Xil

.PHONY: all
all: lib lvds cmos

include $(M_ROOT)/bin/vivado_include.mk

%.bin: %.bit
	rm -fr $@ $<.bin $<.bif
	@echo "image:" > $<.bif
	@echo "{" >> $<.bif
	@echo "  $<" >> $<.bif
	@echo "}" >> $<.bif
	bootgen -image $<.bif -arch zynq -process_bitstream bin
	mv $<.bin $@

## ##################################################################################
## ##################################################################################

M_VIVADO_LVDS_CLEAN_LIST := $(addprefix lvds/,$(M_VIVADO_CLEAN_LIST))
M_VIVADO_LVDS_CLEAN_LIST += $(M_VIVADO_LOCAL_CLEAN_LIST)

.PHONY: lvds
lvds: lib lvds/adrv9001x2_zc706_lvds.bin


.PHONY: clean-lvds
clean-lvds:
	rm -fr $(M_VIVADO_LVDS_CLEAN_LIST)


lvds/adrv9001x2_zc706_lvds.bit: $(M_VIVADO_SOURCES)
	rm -fr $(M_VIVADO_LVDS_CLEAN_LIST)
	$(M_VIVADO) $(M_VIVADO_TCL) -tclargs lvds > adrv9001x2_zc706_lvds_vivado.log 2>&1


## ##################################################################################
## ##################################################################################

M_VIVADO_CMOS_CLEAN_LIST := $(addprefix cmos/,$(M_VIVADO_CLEAN_LIST))
M_VIVADO_CMOS_CLEAN_LIST += $(M_VIVADO_LOCAL_CLEAN_LIST)

.PHONY: cmos
cmos: lib cmos/adrv9001x2_zc706_cmos.bin


.PHONY: clean-cmos
clean-cmos:
	rm -fr $(M_VIVADO_CMOS_CLEAN_LIST)


cmos/adrv9001x2_zc706_cmos.bit: $(M_VIVADO_SOURCES)
	rm -fr $(M_VIVADO_CMOS_CLEAN_LIST)
	$(M_VIVADO) $(M_VIVADO_TCL) -tclargs cmos > adrv9001x2_zc706_cmos_vivado.log 2>&1


## ##################################################################################
## ##################################################################################
