Collection of tools useful for audio production
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

117 lines
3.8KB

  1. #!/bin/bash
  2. set -e
  3. MINGW=x86_64-w64-mingw32
  4. MINGW_PATH=/opt/mingw64
  5. JOBS="-j 4"
  6. if [ ! -f Makefile ]; then
  7. cd ../..
  8. fi
  9. export PATH=`pwd`/data/windows:$MINGW_PATH/bin:$MINGW_PATH/$MINGW/bin:$PATH
  10. export AR=$MINGW-ar
  11. export CC=$MINGW-gcc
  12. export CXX=$MINGW-g++
  13. export MOC=$MINGW-moc
  14. export RCC=$MINGW-rcc
  15. export UIC=$MINGW-uic
  16. export STRIP=$MINGW-strip
  17. export WINDRES=$MINGW-windres
  18. export PKG_CONFIG_PATH="`pwd`/data/windows:$MINGW_PATH/lib/pkgconfig"
  19. export WINEPREFIX=~/.winepy3_x64
  20. export PYTHON_EXE="C:\\\\Python33\\\\python.exe"
  21. export CXFREEZE="wine $PYTHON_EXE C:\\\\Python33\\\\Scripts\\\\cxfreeze"
  22. export PYUIC="wine $PYTHON_EXE C:\\\\Python33\\\\Lib\\\\site-packages\\\\PyQt4\\\\uic\\\\pyuic.py"
  23. export PYRCC="wine C:\\\\Python33\\\\Lib\\\\site-packages\\\\PyQt4\\\\pyrcc4.exe -py3"
  24. export CFLAGS="-DPTW32_STATIC_LIB -I$MINGW_PATH/include"
  25. export CXXFLAGS="-DPTW32_STATIC_LIB -DWIN32 -I$MINGW_PATH/include"
  26. # win32 jack libs
  27. cp -r "$WINEPREFIX/drive_c/Program Files/Jack/includes/" ./data/windows/
  28. cp -r "$WINEPREFIX/drive_c/Program Files/Jack/lib/" ./data/windows/
  29. cp "$WINEPREFIX/drive_c/windows/syswow64/libjack.dll" ./data/windows/lib/
  30. # Clean build
  31. make clean
  32. # Build PyQt4 resources
  33. make $JOBS UI RES
  34. # Build C++ tools
  35. make $JOBS -C c++/jackmeter cadence-jackmeter.exe
  36. make $JOBS -C c++/xycontroller cadence-xycontroller.exe
  37. mv c++/*/*.exe data/windows
  38. rm -rf ./data/windows/Catarina
  39. rm -rf ./data/windows/Catia
  40. cp ./src/catarina.py ./src/catarina.pyw
  41. cp ./src/catia.py ./src/catia.pyw
  42. $CXFREEZE --include-modules=re --target-dir=".\\data\\windows\\Catarina" ".\\src\\catarina.pyw"
  43. $CXFREEZE --include-modules=re --target-dir=".\\data\\windows\\Catia" ".\\src\\catia.pyw"
  44. rm -f ./src/catarina.pyw
  45. rm -f ./src/catia.pyw
  46. cd data/windows
  47. mv cadence-jackmeter.exe Cadence-JackMeter.exe
  48. mv cadence-xycontroller.exe Cadence-XYController.exe
  49. cp $WINEPREFIX/drive_c/windows/syswow64/python33.dll Catarina/
  50. cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtCore4.dll Catarina/
  51. cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtGui4.dll Catarina/
  52. cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtOpenGL4.dll Catarina/
  53. cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtSvg4.dll Catarina/
  54. cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtXml4.dll Catarina/
  55. cp -r $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/plugins/imageformats/ Catarina/
  56. cp -r $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/plugins/iconengines/ Catarina/
  57. cp $WINEPREFIX/drive_c/windows/syswow64/python33.dll Catia/
  58. cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtCore4.dll Catia/
  59. cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtGui4.dll Catia/
  60. cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtOpenGL4.dll Catia/
  61. cp $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/QtSvg4.dll Catia/
  62. cp -r $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/plugins/imageformats/ Catia/
  63. cp -r $WINEPREFIX/drive_c/Python33/Lib/site-packages/PyQt4/plugins/iconengines/ Catia/
  64. rm -rf ./includes/
  65. rm -rf ./lib/
  66. # Build unzipfx
  67. make -C unzipfx-catarina -f Makefile.win32
  68. make -C unzipfx-catia -f Makefile.win32
  69. # Create static build
  70. rm -f Catarina.zip Catia.zip
  71. zip -r -9 Catarina.zip Catarina
  72. zip -r -9 Catia.zip Catia
  73. rm -f Catarina.exe Catia.exe
  74. cat unzipfx-catarina/unzipfx2cat.exe Catarina.zip > Catarina.exe
  75. cat unzipfx-catia/unzipfx2cat.exe Catia.zip > Catia.exe
  76. chmod +x Catarina.exe
  77. chmod +x Catia.exe
  78. # Cleanup
  79. make -C unzipfx-catarina -f Makefile.win32 clean
  80. make -C unzipfx-catia -f Makefile.win32 clean
  81. rm -f Catarina.zip Catia.zip
  82. rm -f unzipfx-*/*.exe
  83. # Final Zip
  84. rm -rf Cadence-0.8-beta2
  85. mkdir -p Cadence-0.8-beta2
  86. cp *.exe Cadence-0.8-beta2
  87. cp README Cadence-0.8-beta2
  88. zip -r -9 Cadence-0.8-beta2-win64.zip Cadence-0.8-beta2
  89. # Testing:
  90. echo "export WINEPREFIX=~/.winepy3_x64"
  91. echo "wine $PYTHON_EXE ../../src/catia.py"