1#!/bin/sh 2 3# usage: 4# copy core libs (*_libretro_wiiu.a), info files (https://github.com/libretro/libretro-super/tree/master/dist/info) 5# and icons (https://github.com/libretro/retroarch-assets/tree/master/pkg/wiiu) to this directory then run 6# the script. the output will be in retroarch/pkg/wiiu 7 8. ../version.all 9 10platform=wiiu 11EXT=a 12 13mkdir -p ../pkg/wiiu/retroarch/cores/info 14cp *.info ../pkg/wiiu/retroarch/cores/info/ 15mkdir -p ../pkg/wiiu/rpx/retroarch/cores/info 16cp *.info ../pkg/wiiu/rpx/retroarch/cores/info/ 17 18make -C ../ -f Makefile.${platform} SALAMANDER_BUILD=1 clean || exit 1 19make -C ../ -f Makefile.${platform} SALAMANDER_BUILD=1 BUILD_HBL_ELF=1 BUILD_RPX=1 -j3 || exit 1 20 21mkdir -p ../pkg/wiiu/wiiu/apps/retroarch 22mv -f ../retroarch_wiiu_salamander.elf ../pkg/wiiu/wiiu/apps/retroarch/retroarch.elf 23cp -f ../pkg/wiiu/meta.xml ../pkg/wiiu/wiiu/apps/retroarch/meta.xml 24cp -f ../pkg/wiiu/icon.png ../pkg/wiiu/wiiu/apps/retroarch/icon.png 25mkdir -p ../pkg/wiiu/rpx/wiiu/apps/retroarch 26mv -f ../retroarch_wiiu_salamander.rpx ../pkg/wiiu/rpx/wiiu/apps/retroarch/retroarch.rpx 27rm -f ../retroarch_wiiu_salamander.rpx.elf 28cp -f ../pkg/wiiu/meta.xml ../pkg/wiiu/rpx/wiiu/apps/retroarch/meta.xml 29cp -f ../pkg/wiiu/icon.png ../pkg/wiiu/rpx/wiiu/apps/retroarch/icon.png 30 31make -C ../ -f Makefile.${platform} clean || exit 1 32 33lookup() 34{ 35 cat | grep "$1 = " | sed "s/$1 = \"//" | sed s/\"// 36} 37 38gen_meta_xml() 39{ 40 info="$1"_libretro.info 41 if [ -e $info ] ; then 42 display_name=`cat $info | lookup "display_name"` 43 corename=`cat $info | lookup "corename"` 44 authors=`cat $info | lookup "authors" | sed s/\|/\ -\ /g` 45 systemname=`cat $info | lookup "systemname"` 46 license=`cat $info | lookup "license"` 47 date=`date +%Y%m%d%H%M%S` 48 build_hash=`git rev-parse --short HEAD 2>/dev/null` 49 echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' > "$1"_meta.xml 50 echo '<app version="1">' >> "$1"_meta.xml 51 echo ' <name>'$corename'</name>' >> "$1"_meta.xml 52 echo ' <coder>'$authors'</coder>' >> "$1"_meta.xml 53 echo ' <version>'$PACKAGE_VERSION' r'$build_hash'</version>' >> "$1"_meta.xml 54 echo ' <release_date>'$date'</release_date>' >> "$1"_meta.xml 55 echo ' <short_description>RetroArch</short_description>' >> "$1"_meta.xml 56 echo -e ' <long_description>'$display_name'\n\nSystem: '$systemname'\nLicense: '$license'</long_description>' >> "$1"_meta.xml 57 echo ' <category>emu</category>' >> "$1"_meta.xml 58 echo ' <url>https://github.com/libretro</url>' >> "$1"_meta.xml 59 echo '</app>' >> "$1"_meta.xml 60 fi 61} 62 63for f in `ls -v *_${platform}.${EXT}`; do 64 name=`echo "$f" | sed "s/\(_libretro_${platform}\|\).${EXT}$//"` 65 whole_archive= 66 build_hbl_elf=1 67 build_rpx=1 68 69 if [ $name = "nxengine" ] ; then 70 echo "Applying whole archive linking..." 71 whole_archive="WHOLE_ARCHIVE_LINK=1" 72 fi 73 74 if [ $name = "mame2003" ] ; then 75 build_hbl_elf=0 76 fi 77 78 if [ $name = "fbalpha2012" ] ; then 79 build_hbl_elf=0 80 fi 81 82 if [ $name = "mame2003_midway" ] ; then 83 build_rpx=0 84 fi 85 if [ $name = "fbalpha2012_cps1" ] ; then 86 build_rpx=0 87 fi 88 if [ $name = "fbalpha2012_cps2" ] ; then 89 build_rpx=0 90 fi 91 if [ $name = "fbalpha2012_cps3" ] ; then 92 build_rpx=0 93 fi 94 if [ $name = "fbalpha2012_neogeo" ] ; then 95 build_rpx=0 96 fi 97 98 echo "-- Building core: $name --" 99 cp -f "$f" ../libretro_${platform}.${EXT} 100 echo NAME: $name 101 102 # Compile core 103 make -C ../ -f Makefile.${platform} LIBRETRO=$name BUILD_HBL_ELF=$build_hbl_elf BUILD_RPX=$build_rpx $whole_archive -j3 || exit 1 104 gen_meta_xml $name 105 106 if [ -e ../retroarch_wiiu.elf ] ; then 107 cp ../retroarch_wiiu.elf ../pkg/wiiu/retroarch/cores/${name}_libretro.elf 108 mkdir -p ../pkg/wiiu/wiiu/apps/${name}_libretro 109 mv -f ../retroarch_wiiu.elf ../pkg/wiiu/wiiu/apps/${name}_libretro/${name}_libretro.elf 110 if [ -e ${name}_meta.xml ] ; then 111 cp -f ${name}_meta.xml ../pkg/wiiu/wiiu/apps/${name}_libretro/meta.xml 112 else 113 cp -f ../pkg/wiiu/meta.xml ../pkg/wiiu/wiiu/apps/${name}_libretro/meta.xml 114 fi 115 if [ -e $name.png ] ; then 116 cp -f $name.png ../pkg/wiiu/wiiu/apps/${name}_libretro/icon.png 117 else 118 cp -f ../pkg/wiiu/icon.png ../pkg/wiiu/wiiu/apps/${name}_libretro/icon.png 119 fi 120 fi 121 if [ -e ../retroarch_wiiu.rpx ] ; then 122 cp ../retroarch_wiiu.rpx ../pkg/wiiu/rpx/retroarch/cores/${name}_libretro.rpx 123 mkdir -p ../pkg/wiiu/rpx/wiiu/apps/${name}_libretro 124 mv -f ../retroarch_wiiu.rpx ../pkg/wiiu/rpx/wiiu/apps/${name}_libretro/${name}_libretro.rpx 125 rm -f ../retroarch_wiiu.rpx.elf 126 if [ -e ${name}_meta.xml ] ; then 127 cp -f ${name}_meta.xml ../pkg/wiiu/rpx/wiiu/apps/${name}_libretro/meta.xml 128 else 129 cp -f ../pkg/wiiu/meta.xml ../pkg/wiiu/rpx/wiiu/apps/${name}_libretro/meta.xml 130 fi 131 if [ -e $name.png ] ; then 132 cp -f $name.png ../pkg/wiiu/rpx/wiiu/apps/${name}_libretro/icon.png 133 else 134 cp -f ../pkg/wiiu/icon.png ../pkg/wiiu/rpx/wiiu/apps/${name}_libretro/icon.png 135 fi 136 fi 137 rm -rf ${name}_meta.xml 138 139done 140 141# Additional build step 142