wxc/buildmod.bash

23 lines
792 B
Bash
Executable file

#!/opt/homebrew/bin/bash
set -e
MOD_PATH="$1"
MOD_NAME="$(basename -s .i $MOD_PATH)"
SCRIPT_DIR="$(dirname $(readlink -f $0))"
WRAPPER_DIR="${SCRIPT_DIR}/wrappers"
OBJECTS_DIR="${SCRIPT_DIR}/objects"
SHAREDLIBS_DIR="${SCRIPT_DIR}/sharedlibs"
TEMPLATE_DIR="${SCRIPT_DIR}/swigtemplates"
HEADERS_DIR="${SCRIPT_DIR}/wxheaders"
WX_CONFIG="-I$HEADERS_DIR"
mkdir -p $OBJECTS_DIR
mkdir -p $SHAREDLIBS_DIR
swig -c++ -c -cpperraswarn -nocxx -o "${WRAPPER_DIR}/${MOD_NAME}_wrap.cxx" $WX_CONFIG $(wx-config --cxxflags all) $MOD_PATH
clang++ -c "${WRAPPER_DIR}/${MOD_NAME}_wrap.cxx" -o "${OBJECTS_DIR}/${MOD_NAME}_wrap.o" -I$TEMPLATE_DIR -I. $WX_CONFIG $(wx-config --cxxflags all)
clang++ -shared -o "${SHAREDLIBS_DIR}/lib${MOD_NAME}.so" "${OBJECTS_DIR}/${MOD_NAME}_wrap.o" $(wx-config --libs all)