ifndef arch
arch := $(shell sh config/arch.sh)
endif

ifndef MAKE
MAKE = make
endif

make_syntax = $(MAKE) arch=$(arch) $@

all:
	cd libmt; $(make_syntax)
	cd nway;  $(make_syntax)
	cd griddle;  $(make_syntax)
	cd barrel_simulation;  $(make_syntax)
	cd dijkstra;  $(make_syntax)
	cd simple;  $(make_syntax)
	cd ad_hoc_calculator;  $(make_syntax)
	cd file_calculator;  $(make_syntax)
	cd force;  $(make_syntax)
	cd mmapper;  $(make_syntax)
	cd smapper;  $(make_syntax)
	cd ping;  $(make_syntax)
	cd deadlock;  $(make_syntax)
	cd tools;  $(make_syntax)

gm:
	cd libmt; $(make_syntax)
	cd tools; $(make_syntax)
ifneq ($(arch),intel_ms)
	cd switch; $(make_syntax)
endif

strip:
	cd tools; $(make_syntax)

clean:
	cd libmt; $(make_syntax)
	cd nway;  $(make_syntax)
	cd barrel_simulation; $(make_syntax)
	cd dijkstra;  $(make_syntax)
	cd simple;  $(make_syntax)
	cd ad_hoc_calculator;  $(make_syntax)	
	cd file_calculator;  $(make_syntax)	
	cd force;  $(make_syntax)
	cd mmapper;  $(make_syntax)
	cd smapper;  $(make_syntax)
	cd ping;  $(make_syntax)
	cd deadlock;  $(make_syntax)
	cd tools;  $(make_syntax)

java:
	cd watch;  $(make_syntax) 
	cd merlin;  $(make_syntax) 

release: gm
	cp -p tools/$(arch)/mapper ../binary/sbin
	cp -p tools/active.args    ../binary/sbin
	cp -p tools/passive.args   ../binary/sbin
