TECH = scn4m_subm CUR_DIR = $(shell pwd) TEST_DIR = ${CUR_DIR}/tests MAKEFLAGS += -j 1 # Library test LIBRARY_TESTS = $(shell find ${TEST_DIR} -name 0[1-2]*_test.py) # Technology and DRC tests (along with ptx) TECH_TESTS = $(shell find ${TEST_DIR} -name 03*_test.py) # Parameterized cells CELL_TESTS = $(shell find ${TEST_DIR} -name 04*_test.py) # Dynamically generated modules and arrays MODULE_TESTS = $(shell find ${TEST_DIR} -name 0[5-9]*_test.py)\ $(shell find ${TEST_DIR} -name 1*_test.py) # Top-level SRAM configurations TOP_TESTS = $(shell find ${TEST_DIR} -name 20*_test.py) # All simulation tests. CHAR_TESTS = $(shell find ${TEST_DIR} -name 2[1-2]*_test.py) # Keep the model lib test here since it is fast # and doesn't need simulation. USAGE_TESTS = $(shell find ${TEST_DIR} -name 2[3-9]*_test.py)\ $(shell find ${TEST_DIR} -name 30*_test.py) ALL_TESTS = \ ${LIBRARY_TESTS} \ ${TECH_TESTS} \ ${CELL_TESTS} \ ${MODULE_TESTS} \ ${TOP_TESTS} \ ${CHAR_TESTS} \ ${USAGE_TESTS} .PHONY: ${ALL_TESTS} all: ${ALL_TESTS} # Library tests lib: ${LIBRARY_TESTS} # Transistor and wire tests tech: ${TECH_TESTS} # Dynamically generated cells cell: ${CELL_TESTS} # Dynamically generated modules module: ${MODULE_TESTS} # Top level SRAM tests top: ${TOP_TESTS} # Timing and characterization tests char: ${CHAR_TESTS} # Usage and file generation usage: ${USAGE_TESTS} $(ALL_TESTS): python3 $@ -t ${TECH} clean: find . -name \*.pyc -exec rm {} \; find . -name \*~ -exec rm {} \;