Skip to content
Snippets Groups Projects
Makefile 1.94 KiB
Newer Older
Qiang Du's avatar
Qiang Du committed
SYN_TOP = $(TOP)syn/cute_wr/wr_core_demo
EB_TGT = $(EB_DIR)/api/libetherbone.a
BIT_TGT = $(SYN_TOP)/cute_top_wrc.bit
WRC_TGT = $(FW_DIR)/wrc.elf
Qiang Du's avatar
Qiang Du committed
SDB_TGT = $(SDB_DIR)/lib/libsdbfs.a
Qiang Du's avatar
Qiang Du committed
.PHONY: all install clean distclean etherbone etherbone-clean etherbone-install tools tools-clean tools-install toolchain firmware gateware firmware-clean gateware-clean program program-clean sdbfs sdbfs-clean

all:	    etherbone tools firmware gateware

install:    etherbone-install tools-install

clean:	    etherbone-clean tools-clean toolchain-clean firmware-clean gateware-clean program-clean

distclean: clean
	git clean -xfd .
	for i in gateware firmware; do cd submodules/$$i; git clean -xfd .; cd $(TOP); done

etherbone: $(EB_TGT)
firmware: $(WRC_TGT)
gateware: $(BIT_TGT)
Qiang Du's avatar
Qiang Du committed
sdbfs: $(SDB_TGT)

$(EB_TGT):
	$(MAKE) -C $(EB_DIR)/api all

etherbone-clean:
	$(MAKE) -C $(EB_DIR)/api clean

etherbone-install:
	$(MAKE) -C $(EB_DIR)/api install

Qiang Du's avatar
Qiang Du committed
tools: $(EB_TGT)
	$(MAKE) -C tools EB=$(EB_DIR)/api all

tools-clean:
	$(MAKE) -C tools EB=$(EB_DIR)/api clean

tools-install:
	$(MAKE) -C tools EB=$(EB_DIR)/api install

Qiang Du's avatar
Qiang Du committed
$(SDB_TGT):
	$(MAKE) -C $(SDB_DIR) DIRS="lib userspace" all

sdbfs-clean:
	$(MAKE) -C $(SDB_DIR) DIRS="lib userspace" clean

$(FW_DIR)/.config:
	$(MAKE) -C $(FW_DIR) etherbone_defconfig

Qiang Du's avatar
Qiang Du committed
$(WRC_TGT): $(EB_TGT) $(SDB_TGT) $(FW_DIR)/.config
	$(MAKE) -C $(FW_DIR) EB=$(EB_DIR)/api SDBFS=$(CURDIR)/$(SDB_DIR)/userspace all
Qiang Du's avatar
Qiang Du committed
	$(MAKE) -C $(FW_DIR) EB=$(EB_DIR)/api SDBFS=$(CURDIR)/$(SDB_DIR)/userspace clean
Qiang Du's avatar
Qiang Du committed
$(BIT_TGT): $(WRC_TGT)
	$(MAKE) -C $(SYN_TOP) all

gateware-clean:
	$(MAKE) -C $(SYN_TOP) clean

program: $(BIT_TGT)
	./tools/impact_cutewr $<

program-clean:
	rm -f *.bit
	rm -f _impactbatch.log

# not for 64 bit arch
gcc-4.5.3-lm32.tar.xz:
	wget http://www.ohwr.org/attachments/1301/gcc-4.5.3-lm32.tar.xz

toolchain:  gcc-4.5.3-lm32.tar.xz
	tar xvJf gcc-4.5.3-lm32.tar.xz
	mv lm32 toolchain
	touch toolchain

toolchain-clean:
	rm -rf toolchain