| # cmurphi protocol verification |
| |
| TOP ?= $(shell git rev-parse --show-toplevel) |
| |
| include $(TOP)/Makefile.common |
| |
| CMURPHI_DIR = $(TOP)/external/cmurphi |
| ##$(abspath ./cmurphi5.4.9.1) |
| CMURPHI_SRC_DIR = $(CMURPHI_DIR)/src |
| CMURPHI = $(CMURPHI_SRC_DIR)/mu |
| CMURPHI_INC_DIR = $(CMURPHI_DIR)/include |
| |
| CXX=g++ |
| CXX_FLAGS= |
| OXX_FLAGS=-O3 |
| LD_FLAGS=-lm |
| |
| M_FILE=mesi.m |
| CPP_FILE=$(M_FILE:.m=.cpp) |
| EXE=$(M_FILE:.m=) |
| |
| mu: $(CMURPHI) |
| |
| $(CMURPHI): |
| make -C $(CMURPHI_SRC_DIR) mu |
| |
| build: $(CMURPHI) |
| $(CMURPHI) -b -c --disk $(M_FILE) |
| $(CXX) $(CXX_FLAGS) $(OXX_FLAGS) -o $(EXE) $(CPP_FILE) -I$(CMURPHI_INC_DIR) $(LD_FLAGS) |
| |
| dbg: |
| ./$(EXE) -p -pr -tf -ta -tv -d ./ > run.log |
| |
| ndl: |
| ./$(EXE) -ndl |
| |
| run: |
| ./$(EXE) -p5 |
| |
| states: |
| grep -Ei "rule|homenode\.state|Procs\[proc_[12]\]\.state" deadlock.trace > states.log |
| |
| clean: |
| make -C $(CMURPHI_SRC_DIR) clean |
| rm -f $(CPP_FILE) $(EXE) |
| rm -f run.log deadlock.trace states.log |
| |
| cleanall: clean |
| make -C $(CMURPHI_SRC_DIR) cleanall |