diff --git a/dist/tools/desvirt/.gitignore b/dist/tools/desvirt/.gitignore new file mode 100644 index 0000000000..9fda1e496c --- /dev/null +++ b/dist/tools/desvirt/.gitignore @@ -0,0 +1 @@ +/desvirt diff --git a/dist/tools/desvirt/0001-add-example-topology.patch b/dist/tools/desvirt/0001-add-example-topology.patch new file mode 100644 index 0000000000..8d2017ca5e Binary files /dev/null and b/dist/tools/desvirt/0001-add-example-topology.patch differ diff --git a/dist/tools/desvirt/Makefile b/dist/tools/desvirt/Makefile new file mode 100644 index 0000000000..1739f176e6 --- /dev/null +++ b/dist/tools/desvirt/Makefile @@ -0,0 +1,35 @@ +PKG_NAME=desvirt +PKG_URL=https://github.com/des-testbed/desvirt.git +PKG_VERSION=master +PKG_DIR=$(CURDIR)/$(PKG_NAME) + +.PHONY: all clean patch distclean desvirtdefine + +all: clean $(PKG_NAME) patch desvirtdefine + +patch: + cd "$(PKG_DIR)" && git am --ignore-whitespace "$(CURDIR)"/*.patch + +desvirtdefine: patch + $(foreach topology,$(shell ls $(PKG_NAME)/.desvirt/*.xml), \ + cd $(PKG_NAME) && \ + ./vnet --define --name "$(basename $(notdir $(topology)))";) + +$(PKG_NAME): + # Get $(PKG_VERSION) of package from $(PKG_URL) + $(if $(wildcard $(PKG_NAME)),cd $(CURDIR)/$(PKG_NAME) && \ + git clean -x -f && \ + git reset --hard $(PKG_VERSION) \ + , git clone $(PKG_URL) $(PKG_NAME) && \ + cd $(PKG_NAME) && \ + git reset --hard $(PKG_VERSION)) + +clean:: + # Reset package to checkout state. + $(if $(wildcard $(PKG_NAME)),cd $(CURDIR)/$(PKG_NAME) && \ + git clean -x -f && \ + git reset --hard $(PKG_VERSION) \ + , ) + +distclean:: + rm -rf $(CURDIR)/$(PKG_NAME)