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.

186 satır
10KB

  1. SHELL:=/bin/bash
  2. VERSION:=5.2.5.0
  3. build: cppse-allegro5_$(VERSION)_amd64.deb cppse-allegro5sdl_$(VERSION)_amd64.deb
  4. cppse-allegro5_$(VERSION)_amd64.deb:
  5. make ubuntu2404
  6. cppse-allegro5sdl_$(VERSION)_amd64.deb:
  7. echo handled by above target anyway
  8. ubuntu1804:
  9. git clone https://github.com/liballeg/allegro5.git
  10. pushd allegro5 && git checkout 5.2.5.0
  11. bash ../ubuntu1804.sh make impl
  12. make package-ubuntu1804
  13. bash ../ubuntu1804.sh make impl_sdl
  14. make package_sdl-ubuntu1804
  15. ubuntu2004:
  16. git clone https://github.com/liballeg/allegro5.git
  17. pushd allegro5 && git checkout 5.2.5.0
  18. bash ../ubuntu2004.sh make impl
  19. make package-ubuntu2004
  20. bash ../ubuntu2004.sh make impl_sdl
  21. make package_sdl-ubuntu2004
  22. bash ../ubuntu2004.sh chown $$(id -u):$$(id -g) . -R # fix permissions
  23. ubuntu2204:
  24. git clone https://github.com/liballeg/allegro5.git
  25. pushd allegro5 && git checkout 5.2.5.0
  26. bash ../ubuntu2204.sh make impl
  27. make package-ubuntu2204
  28. bash ../ubuntu2204.sh make impl_sdl
  29. make package_sdl-ubuntu2204
  30. bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions
  31. ubuntu2404:
  32. git clone https://github.com/liballeg/allegro5.git || true
  33. pushd allegro5 && git checkout $(VERSION)
  34. bash ../ubuntu2404.sh make impl
  35. make package-ubuntu2404
  36. bash ../ubuntu2404.sh make impl_sdl
  37. make package_sdl-ubuntu2404
  38. bash ../ubuntu2404.sh chown $$(id -u):$$(id -g) . -R # fix permissions
  39. prep:
  40. apt-get update
  41. apt-get install -y freeglut3-dev libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev \
  42. libxcursor-dev libavfilter-dev \
  43. libpng-dev libjpeg-dev libfreetype6-dev \
  44. libxrandr-dev libxinerama-dev libxi-dev \
  45. libgtk2.0-dev libsdl2-dev
  46. switch-to-latest-clang
  47. impl:
  48. make prep
  49. # static build
  50. pushd allegro5 && \
  51. cmake -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=$$PWD/allegro5_static -DSHARED=off -DSTATIC=on -DWANT_FFMPEG=off -DWANT_TTF=on . && \
  52. make -j $$(nproc) && \
  53. make install && \
  54. cp -prv lib/pkgconfig/allegro* /usr/share/pkgconfig/
  55. ## shared build
  56. #pushd allegro5 && \
  57. #cmake -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=$$PWD/allegro5_shared -DSHARED=on -DSTATIC=on -DWANT_FFMPEG=off -DWANT_TTF=on . && \
  58. #make -j $$(nproc) && \
  59. #sudo make install && \
  60. #sudo cp -prv lib/pkgconfig/allegro* /usr/share/pkgconfig/
  61. prep_sdl:
  62. make prep
  63. apt-get install -y libsdl2-dev
  64. impl_sdl:
  65. make prep_sdl
  66. # static build
  67. pushd allegro5 && \
  68. cmake -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=$$PWD/allegro5_static -DALLEGRO_SDL=on -DSHARED=off -DSTATIC=on -DWANT_FFMPEG=off -DWANT_TTF=on . && \
  69. make -j $$(nproc) && \
  70. make install && \
  71. cp -prv lib/pkgconfig/allegro* /usr/share/pkgconfig/
  72. package-ubuntu1804:
  73. rm -rf out
  74. mkdir -p out/opt/cppse/build/allegro5/
  75. cp -prv allegro5/allegro5_static/* out/opt/cppse/build/allegro5/
  76. # with one exception I'm relying on internals of allegro5 for one file..
  77. cp -prv allegro5/include/allegro5/internal/aintern_bitmap.h out/opt/cppse/build/allegro5/include/allegro5/internal/aintern_bitmap.h
  78. # since above file also includes others, let's just sync the entire internal dir
  79. cp -prv allegro5/include/allegro5/internal/* out/opt/cppse/build/allegro5/include/allegro5/internal/
  80. # somewhere also platform became needed, let's pull those in as well
  81. cp -prv allegro5/include/allegro5/platform/* out/opt/cppse/build/allegro5/include/allegro5/platform/
  82. rm -rf allegro5_*_amd64.deb
  83. docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n allegro5 --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "allegro5 - build dependency" --url "https://github.com/liballeg/allegro5.git" --deb-generate-changes -C /src/out
  84. package_sdl-ubuntu1804:
  85. rm -rf out
  86. mkdir -p out/opt/cppse/build/allegro5sdl/
  87. cp -prv allegro5/allegro5_static/* out/opt/cppse/build/allegro5sdl/
  88. cp -prv allegro5/include/allegro5/internal/aintern_bitmap.h out/opt/cppse/build/allegro5sdl/include/allegro5/internal/aintern_bitmap.h
  89. cp -prv allegro5/include/allegro5/internal/* out/opt/cppse/build/allegro5sdl/include/allegro5/internal/
  90. cp -prv allegro5/include/allegro5/platform/* out/opt/cppse/build/allegro5sdl/include/allegro5/platform/
  91. rm -rf allegro5sdl_*_amd64.deb
  92. docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n allegro5sdl --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "allegro5 - SDL version - build dependency" --url "https://github.com/liballeg/allegro5.git" --deb-generate-changes -C /src/out
  93. package-ubuntu2004:
  94. rm -rf out
  95. mkdir -p out/opt/cppse/build/allegro5/
  96. cp -prv allegro5/allegro5_static/* out/opt/cppse/build/allegro5/
  97. # with one exception I'm relying on internals of allegro5 for one file..
  98. cp -prv allegro5/include/allegro5/internal/aintern_bitmap.h out/opt/cppse/build/allegro5/include/allegro5/internal/aintern_bitmap.h
  99. # since above file also includes others, let's just sync the entire internal dir
  100. cp -prv allegro5/include/allegro5/internal/* out/opt/cppse/build/allegro5/include/allegro5/internal/
  101. # somewhere also platform became needed, let's pull those in as well
  102. cp -prv allegro5/include/allegro5/platform/* out/opt/cppse/build/allegro5/include/allegro5/platform/
  103. rm -rf allegro5_*_amd64.deb
  104. docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -v 1.1 -s dir -t deb -n allegro5 --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "allegro5 - build dependency" --url "https://github.com/liballeg/allegro5.git" --deb-generate-changes -C /src/out
  105. package-ubuntu2204:
  106. rm -rf out
  107. mkdir -p out/opt/cppse/build/allegro5/
  108. cp -prv allegro5/allegro5_static/* out/opt/cppse/build/allegro5/
  109. # with one exception I'm relying on internals of allegro5 for one file..
  110. cp -prv allegro5/include/allegro5/internal/aintern_bitmap.h out/opt/cppse/build/allegro5/include/allegro5/internal/aintern_bitmap.h
  111. # since above file also includes others, let's just sync the entire internal dir
  112. cp -prv allegro5/include/allegro5/internal/* out/opt/cppse/build/allegro5/include/allegro5/internal/
  113. # somewhere also platform became needed, let's pull those in as well
  114. cp -prv allegro5/include/allegro5/platform/* out/opt/cppse/build/allegro5/include/allegro5/platform/
  115. rm -rf allegro5_*_amd64.deb
  116. docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -v 1.1.1 -s dir -t deb -n allegro5 --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "allegro5 - build dependency" --url "https://github.com/liballeg/allegro5.git" --deb-generate-changes -C /src/out
  117. package-ubuntu2404:
  118. rm -rf out
  119. mkdir -p out/opt/cppse/build/allegro5/
  120. cp -prv allegro5/allegro5_static/* out/opt/cppse/build/allegro5/
  121. # with one exception I'm relying on internals of allegro5 for one file..
  122. cp -prv allegro5/include/allegro5/internal/aintern_bitmap.h out/opt/cppse/build/allegro5/include/allegro5/internal/aintern_bitmap.h
  123. # since above file also includes others, let's just sync the entire internal dir
  124. cp -prv allegro5/include/allegro5/internal/* out/opt/cppse/build/allegro5/include/allegro5/internal/
  125. # somewhere also platform became needed, let's pull those in as well
  126. cp -prv allegro5/include/allegro5/platform/* out/opt/cppse/build/allegro5/include/allegro5/platform/
  127. rm -rf cppse-allegro5_*_amd64.deb
  128. docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v $(VERSION) -s dir -t deb -n cppse-allegro5 --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "allegro5 - build dependency" --url "https://github.com/liballeg/allegro5.git" --deb-generate-changes -C /src/out
  129. package_sdl-ubuntu2004:
  130. rm -rf out
  131. mkdir -p out/opt/cppse/build/allegro5sdl/
  132. cp -prv allegro5/allegro5_static/* out/opt/cppse/build/allegro5sdl/
  133. cp -prv allegro5/include/allegro5/internal/aintern_bitmap.h out/opt/cppse/build/allegro5sdl/include/allegro5/internal/aintern_bitmap.h
  134. cp -prv allegro5/include/allegro5/internal/* out/opt/cppse/build/allegro5sdl/include/allegro5/internal/
  135. cp -prv allegro5/include/allegro5/platform/* out/opt/cppse/build/allegro5sdl/include/allegro5/platform/
  136. rm -rf allegro5sdl_*_amd64.deb
  137. docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -v 1.1.1 -s dir -t deb -n allegro5sdl --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "allegro5 - SDL version - build dependency" --url "https://github.com/liballeg/allegro5.git" --deb-generate-changes -C /src/out
  138. package_sdl-ubuntu2204:
  139. rm -rf out
  140. mkdir -p out/opt/cppse/build/allegro5sdl/
  141. cp -prv allegro5/allegro5_static/* out/opt/cppse/build/allegro5sdl/
  142. cp -prv allegro5/include/allegro5/internal/aintern_bitmap.h out/opt/cppse/build/allegro5sdl/include/allegro5/internal/aintern_bitmap.h
  143. cp -prv allegro5/include/allegro5/internal/* out/opt/cppse/build/allegro5sdl/include/allegro5/internal/
  144. cp -prv allegro5/include/allegro5/platform/* out/opt/cppse/build/allegro5sdl/include/allegro5/platform/
  145. rm -rf allegro5sdl_*_amd64.deb
  146. docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -v 1.1.1 -s dir -t deb -n allegro5sdl --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "allegro5 - SDL version - build dependency" --url "https://github.com/liballeg/allegro5.git" --deb-generate-changes -C /src/out
  147. package_sdl-ubuntu2404:
  148. rm -rf out
  149. mkdir -p out/opt/cppse/build/allegro5sdl/
  150. cp -prv allegro5/allegro5_static/* out/opt/cppse/build/allegro5sdl/
  151. cp -prv allegro5/include/allegro5/internal/aintern_bitmap.h out/opt/cppse/build/allegro5sdl/include/allegro5/internal/aintern_bitmap.h
  152. cp -prv allegro5/include/allegro5/internal/* out/opt/cppse/build/allegro5sdl/include/allegro5/internal/
  153. cp -prv allegro5/include/allegro5/platform/* out/opt/cppse/build/allegro5sdl/include/allegro5/platform/
  154. rm -rf cppse-allegro5sdl_*_amd64.deb
  155. docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -v $(VERSION) -s dir -t deb -n cppse-allegro5sdl --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "allegro5 - SDL version - build dependency" --url "https://github.com/liballeg/allegro5.git" --deb-generate-changes -C /src/out
  156. clean:
  157. rm -rf allegro5
  158. rm -rf out
  159. rm -rf allegro5*.deb
  160. rm -rf allegro5*.changes
  161. rm -rf cppse-allegro5*.deb
  162. shell:
  163. FLAGS="-i --privileged" bash ../ubuntu1804.sh /bin/bash