48 lines
985 B
Bash
Executable File
48 lines
985 B
Bash
Executable File
#!/bin/bash
|
|
cd "$(dirname "$0")"
|
|
cd ..
|
|
|
|
SRC_DIR="$1"
|
|
DEST_DIR="$2"
|
|
|
|
SRC_FN="$3"
|
|
PP_FN="$4"
|
|
SO_FN="$5"
|
|
|
|
LINK_OBJECTS="$6"
|
|
|
|
#echo "Source Dir: $SRC_DIR"
|
|
#echo "Dest Dir: $DEST_DIR"
|
|
#echo "Source File: $SRC_FN"
|
|
#echo "Preprocessed File: $PP_FN"
|
|
#echo "Dest File: $SO_FN"
|
|
|
|
mkdir -p "$DEST_DIR" > /dev/null 2>&1
|
|
|
|
export CPLUS_INCLUDE_PATH="${CPLUS_INCLUDE_PATH:+${CPLUS_INCLUDE_PATH}:}$SRC_DIR"
|
|
|
|
BUILDMODE="debug"
|
|
OPT_FLAG="O0"
|
|
|
|
COMPILER="clang++"
|
|
#COMPILER="g++"
|
|
FLAGS="-shared -g -rdynamic -w -Wall -$OPT_FLAG -std=c++20 -fpermissive -ffast-math -fPIC"
|
|
|
|
LIBS="-ldl -lm -lpthread"
|
|
SRCFLAGS="-D PLATFORM_NAME=\"linux\""
|
|
|
|
# echo "Compliling executable..."
|
|
$COMPILER "$DEST_DIR/$PP_FN" $SRCFLAGS $FLAGS $LIBS -o "$DEST_DIR/$SO_FN"
|
|
|
|
# separate .o file
|
|
#$COMPILER -c "$DEST_DIR/$PP_FN" $SRCFLAGS $FLAGS $LIBS -o "$DEST_DIR/$PP_FN.o"
|
|
#$COMPILER "$DEST_DIR/$PP_FN.o" "$LINK_OBJECTS" $SRCFLAGS $FLAGS $LIBS -o "$DEST_DIR/$SO_FN"
|
|
|
|
if [ $? -eq 0 ]
|
|
then
|
|
# ls -lh "$DEST_DIR"
|
|
exit 0
|
|
else
|
|
exit 1
|
|
fi
|