#!/usr/bin/env bash

set -e

BMV2_CPU_PORT="255"
BMV2_PP_FLAGS="-DTARGET_BMV2 -DCPU_PORT=${BMV2_CPU_PORT} -DWITH_PORT_COUNTER"

PROFILE=$1
OTHER_PP_FLAGS=$2

SRC_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
OUT_DIR=${SRC_DIR}/p4c-out/${PROFILE}/bmv2/default

mkdir -p ${OUT_DIR}
mkdir -p ${OUT_DIR}/graphs

echo
echo "## Compiling profile ${PROFILE} in ${OUT_DIR}..."

dockerImage=ccasconeonf/p4c
dockerRun="docker run --rm -w ${SRC_DIR} -v ${SRC_DIR}:${SRC_DIR} -v ${OUT_DIR}:${OUT_DIR} ${dockerImage}"

# Generate preprocessed P4 source (for debugging).
(set -x; ${dockerRun} p4c-bm2-ss --arch v1model \
        ${BMV2_PP_FLAGS} ${OTHER_PP_FLAGS} \
        --pp ${OUT_DIR}/_pp.p4 fabric.p4)

# Generate BMv2 JSON and P4Info.
(set -x; ${dockerRun} p4c-bm2-ss --arch v1model -o ${OUT_DIR}/bmv2.json \
        ${BMV2_PP_FLAGS} ${OTHER_PP_FLAGS} \
        --p4runtime-files ${OUT_DIR}/p4info.txt fabric.p4)

# Graphs.
(set -x; ${dockerRun} p4c-graphs ${BMV2_PP_FLAGS} ${OTHER_PP_FLAGS} \
        --graphs-dir ${OUT_DIR}/graphs fabric.p4)

# Convert .dot graphs to PDFs.
for f in ${OUT_DIR}/graphs/*.dot; do
    (set -x; ${dockerRun} dot -Tpdf ${f} > ${f}.pdf)
    rm -f ${f}
done

# CPU port.
(set -x; echo ${BMV2_CPU_PORT} > ${OUT_DIR}/cpu_port.txt)
