]> Creatis software - bbtk.git/blob - kernel/appli/bbc/bbc.sh.in
fdf3dc70373f99ce9d9f32fddddc048ce5639ff3
[bbtk.git] / kernel / appli / bbc / bbc.sh.in
1 #!/bin/bash
2 # compiles bbs files
3
4 source ~/.bashrc
5
6 if [ $# -lt 1 ]
7     then
8     echo "usage : bbc <input bbs file>"  
9     exit
10 fi
11
12 #
13 CUR=${PWD}
14
15 # bbc bin path
16 TMP=$(which $0|rev)
17 BINPATH=$(echo ${TMP#*/}|rev)
18 # data path
19 DATADIR=${BINPATH}/@bbc_DATA_REL_PATH_FROM_BIN@
20
21 # extract bbs file name
22 IN=$1
23 TMP="${IN##*/}"
24 BBS="${TMP%%.*}"
25 OUTPUT="bb${BBS}"
26 EXEC_FUNCTION="${BBS}"
27 #echo Output=\"${OUTPUT}\"
28
29 WORKDIR=bbc_tmp
30 mkdir ${WORKDIR}
31
32 sed s,OUTPUT,${OUTPUT},g ${DATADIR}/CMakeLists.txt.in > ${WORKDIR}/CMakeLists.txt
33 sed s,EXEC_FUNCTION,${EXEC_FUNCTION},g ${DATADIR}/main.cxx.in > ${WORKDIR}/main.cxx
34 cd ${WORKDIR}
35 ${BINPATH}/bbs2cpp ${IN} > log.txt 
36 cmake . @bbc_CMAKE_OPTION_FOR_BUILD_TREE@ > log.txt 
37 make > log.txt
38 mv ${OUTPUT} ${CUR}/
39 cd ${CUR}
40 rm -Rf ${WORKDIR}
41