Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- source ../sources.def
- AR=(
- libmsvcrt-ruby210-static.a
- libSDL2main.a
- libSDL2_image.a
- libSDL_sound.a
- libSDL2_ttf.a
- libfreetype.a
- libpng16.a
- libjpeg.a
- libvorbisfile.a
- libvorbis.a
- libogg.a
- libz.a
- libphysfs.a
- libpixman-1.a
- libsigc-2.0.a
- libSDL2.a
- libOpenAL32.a
- # libwebp.a
- libmodplug.a
- )
- MINGW_AR=(
- libboost_program_options.a
- libiconv.a
- )
- AR_FILES=()
- for ar in ${AR[*]}
- do
- AR_FILES+=("../deps-win32/lib/${ar}")
- done
- for ar in ${MINGW_AR[*]}
- do
- AR_FILES+=("/usr/i686-w64-mingw32/sys-root/mingw/lib/${ar}")
- done
- BOOST_I=/usr/i686-w64-mingw32/sys-root/mingw/include
- PKGS=(sigc++-2.0 pixman-1 zlib physfs vorbisfile
- sdl2 SDL2_image SDL2_ttf SDL_sound openal)
- source ../deps-win32/src/build_env
- CXX=i686-w64-mingw32-g++
- STRIP=i686-w64-mingw32-strip
- CFLAGS=$(pkg-config --cflags ${PKGS[*]})
- CFLAGS+=" -I${BOOST_I}"
- CFLAGS+=" -pipe -O2"
- RUBY_CFLAGS=$(pkg-config --cflags ruby-2.1)
- OPENAL_LDFLAGS=$(pkg-config --libs openal)
- LDFLAGS="-lwinmm -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi -Wl,--no-undefined -lm -ldinput8 -ldxguid -ldxerr8 -luser32 -lgdi32 -lwinmm -limm32 -lole32 -loleaut32 -lshell32 -lversion -luuid -static -lpthread"
- OBJECTS=()
- ARG_DESC=(
- "--link-only" "LINK_ONLY"
- "--debug" "DEBUG"
- )
- # Init option vars to false
- for (( i=0; i<$((${#ARG_DESC[@]}/2)); i++ )); do
- arg_var=${ARG_DESC[$((i*2+1))]}
- declare $arg_var=false
- done
- # Parse args
- for arg in $@; do
- for (( i=0; i<$((${#ARG_DESC[@]}/2)); i++ )); do
- if [ ${arg} == ${ARG_DESC[$((i*2))]} ]; then
- arg_var=${ARG_DESC[$((i*2+1))]}
- declare $arg_var=true
- fi
- done
- done
- if [ $DEBUG == true ]; then
- CFLAGS+=" -g"
- fi
- BUILD_DIR=`pwd`
- cd ..
- for embed in ${EMBED[*]}
- do
- file="${embed}"
- base=$(basename $file)
- out="${BUILD_DIR}/${base}.xxd"
- if [ $LINK_ONLY == false ]; then
- echo "Generating ${out}"
- xxd -i $file > "${out}"
- fi
- done
- cd -
- for src in ${SOURCES[*]}
- do
- file="../${src}"
- base=$(basename --suffix=.cpp $src)
- out="${base}.o"
- OBJECTS+=" ${out}"
- if [ $LINK_ONLY == false ]; then
- echo "Compiling ${out}"
- $CXX -c -o $out $file -I. -I../src $CFLAGS
- fi
- done
- for src in ${MRI_SOURCES[*]}
- do
- file="../${src}"
- base=$(basename --suffix=.cpp $src)
- out="${base}.o"
- OBJECTS+=" ${out}"
- if [ $LINK_ONLY == false ]; then
- echo "Compiling ${out}"
- $CXX -c -o $out $file -I. -I../src -I../binding-mri $CFLAGS $RUBY_CFLAGS
- fi
- done
- function link_exe {
- EXE_F="${1}.exe"
- echo "Linking ${EXE_F}"
- $CXX -o $EXE_F ${OBJECTS[*]} -lmingw32 -static-libgcc -static-libstdc++ ${AR_FILES[*]} $LDFLAGS $2
- if [ $DEBUG == false ]; then
- $STRIP -s $EXE_F
- fi
- }
- link_exe mkxp -mwindows &
- link_exe mkxp-console
Advertisement
Add Comment
Please, Sign In to add comment