#!/bin/sh # Load all files sorting before the given argument. # You can pass in a prefix, but files matching the prefix *won't* be included. set -e set -v make --no-print-directory tangle/tangle make --no-print-directory enumerate/enumerate ./tangle/tangle $(./enumerate/enumerate --until $1 |grep -v '.mu$') |grep -v "^\s*//:" > mu.cc cat /dev/null $(./enumerate/enumerate --until $1 |grep '.mu$') > core.mu make --no-print-directory autogenerated_lists set +v if [ `uname` == "Darwin" ] then # Darwin is shit and otherwise thinks mu_bin is newer than the files it just # generated when called from test_all_layers. # All sorts of strange bugs ensue. sleep 1 set -v # Darwin's clang and valgrind is shit. CFLAGS=${CFLAGS:-"-g -O3"} make test else set -v CXX=${CXX:-clang++} CFLAGS=${CFLAGS:-"-O3 -fsanitize=undefined -Wno-tautological-constant-out-of-range-compare"} make ${2:-valgrind} fi