mirror of
https://github.com/radareorg/radare2.git
synced 2024-12-04 19:47:31 +00:00
49 lines
1.2 KiB
Bash
Executable File
49 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
CC=cccl
|
|
|
|
# Configure
|
|
if [ ! -e "libr/config.mk" ]; then
|
|
COMPILER=${CC} USERCC=${CC} CC=${CC} LD=${CC} ./configure --with-ostype=windows
|
|
if [ $? -ne 0 ]; then
|
|
echo "Configure failed. Exiting"
|
|
exit 1
|
|
fi
|
|
rm test.exe test.obj
|
|
fi
|
|
|
|
# cl.exe does not use the environment variables when ran from make
|
|
# so let's give it to cl.exe with -LIBPATH (translated from -L by cccl)
|
|
_IFS=${IFS}
|
|
IFS=\;
|
|
for path in ${LIBPATH}${LIB}; do
|
|
LDFLAGS="${LDFLAGS} -L\"${path}\""
|
|
done
|
|
IFS=${_IFS}
|
|
|
|
# Use /FS to allow cl.exe to write to the same .pdb file
|
|
CFLAGS="-FS"
|
|
# Include msvc directory to provide unistd.h and sys/time.h
|
|
INC_DIR=$(cygpath -aw $(pwd)/libr/include/msvc)
|
|
CFLAGS="${CFLAGS} -I\"${INC_DIR}\""
|
|
|
|
# export CCCL_OPTIONS="--cccl-verbose"
|
|
export CFLAGS="${CFLAGS}"
|
|
export LDFLAGS="${LDFLAGS}"
|
|
export HOST_CFLAGS="${CFLAGS}"
|
|
export HOST_LDFLAGS="${LDFLAGS}"
|
|
export R2DIR="${R2DIR}"
|
|
|
|
# Set capstone to release
|
|
sed -i s/CS_RELEASE=0/CS_RELEASE=1/ shlr/Makefile
|
|
# Disable some plugins
|
|
sed -i "s,p/tricore.mk ,," libr/config.mk
|
|
sed -i "s,p/z80.mk ,," libr/config.mk
|
|
|
|
# Now we can make
|
|
make CC=${CC} USERCC=${CC} HOST_CC=${CC} USE_CAPSTONE=1
|
|
ERR=$?
|
|
|
|
# Reset capstone Makefile (git)
|
|
sed -i s/CS_RELEASE=1/CS_RELEASE=0/ shlr/Makefile
|
|
exit $ERR
|