69 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
####################################################
 | 
						|
# ------------------------------------------------------------------------
 | 
						|
# Minimalistic Makefile
 | 
						|
# ------------------------------------------------------------------------
 | 
						|
####################################################
 | 
						|
 | 
						|
SHELL = /bin/sh
 | 
						|
 | 
						|
CURRENT_UID := $(shell id -u)
 | 
						|
CURRENT_GID := $(shell id -g)
 | 
						|
 | 
						|
# bandwidth file to use for the simulation. Has effect when the bandwidth distribution algorithm is Jansen
 | 
						|
BW_FILE := 2021-12-16-16-41-15-bandwidth-lower
 | 
						|
 | 
						|
# file, containing circuit building times to evaluate
 | 
						|
CB_FILE := onionperf-buildtimes-2021-12-13-2021-12-19.csv
 | 
						|
 | 
						|
# algorithm for bandwidth distribution. Anything other than "komlo" will default to the Jansen algorithm
 | 
						|
BW_ALGO := jansen
 | 
						|
 | 
						|
export CURRENT_UID
 | 
						|
export CURRENT_GID
 | 
						|
export BW_FILE
 | 
						|
export CB_FILE
 | 
						|
export BW_ALGO
 | 
						|
 | 
						|
all: clean build run
 | 
						|
 | 
						|
attach:
 | 
						|
	docker-compose exec -u walkingo walking_onions screen -rd
 | 
						|
 | 
						|
build:
 | 
						|
	mkdir -p docker/datasets
 | 
						|
	cp -av Dockerfile.in docker/Dockerfile
 | 
						|
	cp -av wo_docker_start.in docker/wo_docker_start
 | 
						|
	chmod 755 docker/wo_docker_start
 | 
						|
	cp -av *.py docker/
 | 
						|
	cp -av analysis/*.py docker/
 | 
						|
	cp -av datasets/* docker/datasets/
 | 
						|
	echo "deflogin off" > docker/.screenrc
 | 
						|
	docker-compose build
 | 
						|
 | 
						|
clean:
 | 
						|
	docker-compose down || true
 | 
						|
	rm -rf docker
 | 
						|
 | 
						|
debug: clean build run
 | 
						|
	docker-compose exec -u walkingo walking_onions bash
 | 
						|
 | 
						|
docs:
 | 
						|
	python3 -m pydoc -p 8080 -b simulator
 | 
						|
 | 
						|
plots: clean build run
 | 
						|
	docker-compose exec -u walkingo walking_onions /bin/bash -c "cd logdir && ../parselogs.py *.log"
 | 
						|
	docker-compose exec -u walkingo walking_onions /bin/bash -c "cd logdir && ../plotdats.py"
 | 
						|
	docker-compose exec -u walkingo walking_onions /bin/bash -c "cd logdir && ../plotonionperf.py"
 | 
						|
	docker-compose exec -u walkingo walking_onions /bin/bash -c "./plotbandwidth.py logdir"
 | 
						|
	docker-compose exec -u walkingo walking_onions /bin/bash -c "./plotdist.py logdir"
 | 
						|
 | 
						|
run:
 | 
						|
	mkdir -p logdir
 | 
						|
ifeq (,$(wildcard logdir/run_sims))
 | 
						|
	cp run_sims.in logdir/run_sims
 | 
						|
	chmod 755 logdir/run_sims
 | 
						|
endif
 | 
						|
	docker-compose up -d
 | 
						|
 | 
						|
uml:
 | 
						|
	pyreverse -o svg -p simulator .
 |