Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

190 lines
10KB

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