run.sh 1.1 KB
Newer Older
J
jiakai 已提交
1 2
#!/bin/bash -e
# $File: run.sh
3
# $Date: Wed Feb 15 23:13:39 2017 +0800
J
jiakai 已提交
4 5 6 7 8 9
# $Author: jiakai <jia.kai66@gmail.com>

cd $(dirname $0)

MAKE="make -f Makefile.impl"

10 11 12 13 14
if [ "$1" = "--clean" ]; then
    rm -rf build main*
    echo "clean finished"
    exit 0
fi
J
jiakai 已提交
15

J
jiakai 已提交
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
$MAKE TARGET=main_prof CXXFLAGS=-DMIDOUT_PROFILING BUILD_DIR=build/prof

rm -rf output
mkdir -p output
cd output
ln -sv ../main_prof main

if [ "$1" = "-i" ]; then
    cat <<EOF
--------------------------------------------------------------------------------
You would be dropped into a shell now; you can run ./main with some opr mode,
and unused modes would be stripped in the next build.
EOF
    bash
else
31
    ./main 1 1 p
J
jiakai 已提交
32 33 34 35 36 37 38
fi

cd ..

./gen_header.py -o output/midout_gen.h output/midout_trace.*

$MAKE V= TARGET=main_midout \
J
jiakai 已提交
39
    CXXFLAGS='-include output/midout_gen.h' BUILD_DIR=build/run
J
jiakai 已提交
40 41 42 43 44 45 46 47 48 49 50 51

$MAKE TARGET=main_vanilla BUILD_DIR=build/vanilla

function print_stat {
    echo "$1: $(stat -c '%s' $2)"
    nm $2 | c++filt | grep calc | sed -e 's/^/  /'
}


echo "-----------------"
print_stat vanilla main_vanilla
print_stat midout main_midout