#!/bin/bash # This script will build your TASTE system. # You should check it before running it to make it fit with your context: # 1) You may need to fix some paths and filenames (path to interface/deployment views) # 2) You may need to specify additional paths for the compiler to find .h file # (e.g. "export C_INCLUDE_PATH=/usr/include/xenomai/analogy/:$C_INCLUDE_PATH") # 3) You may need to link with pre-built libraries, using the -l option # (e.g. -l /usr/lib/libanalogy.a,/usr/lib/librtdm.a) # 4) You may need to change the runtime (add -p flag to select PolyORB-HI-C) # etc. # Note: TASTE will not overwrite your changes - if you need to update some parts # you will have to merge the changes with the newly-created file. # clean first to make sure it is build on the host platform mkdir -p .cache export PROJECT_CACHE=$HOME/.taste_AST_cache make -C contrib/ || exit 1 if [ -z "$DEPLOYMENTVIEW" ] then DEPLOYMENTVIEW=DeploymentView.aadl fi SKELS="./" cd "$SKELS" && rm -f function1.zip && zip function1 function1/* && cd $OLDPWD [ ! -z "$CLEANUP" ] && rm -rf binary if [ -f ConcurrencyView.pro ] then ORCHESTRATOR_OPTIONS+=" -w ConcurrencyView.pro " fi USE_POHIC=1 if [ ! -z "$USE_POHIC" ] then OUTPUTDIR=binary.c ORCHESTRATOR_OPTIONS+=" -p " elif [ ! -z "$USE_POHIADA" ] then OUTPUTDIR=binary.ada else OUTPUTDIR=binary fi # This is the env var used to specify the link folder base # inside InterfaceView.aadl: # # Taste::FS_Default_Value => "linker-option:""-L $PRJ_FOLDER/contrib/lib/ -lsomelib"""; # export PRJ_FOLDER=$(pwd) assert-builder-ocarina.py \ --fast \ --debug \ --aadlv2 \ --keep-case \ --interfaceView InterfaceView.aadl \ --deploymentView "$DEPLOYMENTVIEW" \ -o "$OUTPUTDIR" \ --subC function1:"$SKELS"/function1.zip \ $ORCHESTRATOR_OPTIONS