INCDIR = inc
LIBDIR = lib
OUTDIR = out
WS = $(CURDIR)/xsdk_workspace

BOOT = $(OUTDIR)/BOOT.bin

.PHONY: all libs zybo boot test clean deep-clean

all: libs

libs:
	$(MAKE) -C src/test
	$(MAKE) -C src/queue
	$(MAKE) -C src/computation_graph
	$(MAKE) -C src/commands
	$(MAKE) -C src/quad_app

zybo:
	bash scripts/build_zybo.sh

boot: $(BOOT)

test:
	$(MAKE) -C src/queue test
	$(MAKE) -C src/computation_graph test
	$(MAKE) -C src/quad_app test

clean:
	rm -rf $(INCDIR) $(LIBDIR) $(OUTDIR)

deep-clean:
	make clean
	$(MAKE) -C src/test clean
	$(MAKE) -C src/queue clean
	$(MAKE) -C src/computation_graph clean
	$(MAKE) -C src/quad_app clean
	bash scripts/clean_xsdk_workspace.sh

$(OUTDIR):
	mkdir $(OUTDIR)

$(BOOT): zybo | $(OUTDIR)
	bash scripts/create_zybo_boot.sh