No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

52 líneas
1.8KB

  1. SHELL:=/bin/bash
  2. UBUNTU_VERSION ?= 2404
  3. CODENAME ?= noble
  4. VERSION:=2.5.0
  5. build: $(CODENAME)/cppse-sfml_$(VERSION)_amd64.deb
  6. $(CODENAME)/cppse-sfml_$(VERSION)_amd64.deb:
  7. mkdir -p $(CODENAME)
  8. make ubuntu$(UBUNTU_VERSION)
  9. ubuntu$(UBUNTU_VERSION):
  10. git clone https://github.com/SFML/SFML.git
  11. pushd SFML && git checkout 2.5.x # && patch -p1 < ../patch.txt
  12. bash ../ubuntu$(UBUNTU_VERSION).sh make impl
  13. make package-ubuntu$(UBUNTU_VERSION)
  14. bash ../ubuntu$(UBUNTU_VERSION).sh chown $$(id -u):$$(id -g) . -R # fix permissions
  15. impl:
  16. # copy & paste from allegro5
  17. apt-get update
  18. apt-get install -y freeglut3-dev libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev \
  19. libxcursor-dev libavfilter-dev \
  20. libpng-dev libjpeg-dev libfreetype6-dev \
  21. libxrandr-dev libxinerama-dev libxi-dev \
  22. libgtk2.0-dev
  23. # extra needed
  24. apt-get install -y libudev-dev libopenal-dev libflac-dev libvorbis-dev
  25. switch-to-latest-clang
  26. # static build
  27. pushd SFML && \
  28. cmake -DCMAKE_C_FLAGS=-fPIC -DCMAKE_CXX_FLAGS=-fPIC -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=$$PWD/sfml_static -DBUILD_SHARED_LIBS=false . && \
  29. make -j $$(nproc) && \
  30. make install
  31. package-ubuntu$(UBUNTU_VERSION):
  32. rm -rf out
  33. mkdir -p out/opt/cppse/build/sfml/
  34. cp -prv SFML/sfml_static/* out/opt/cppse/build/sfml/
  35. rm -rf $(CODENAME)/cppse-sfml_*_amd64.deb
  36. docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -f -v $(VERSION) --iteration $(CODENAME) -s dir -t deb -n cppse-sfml --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "SFML - build dependency" --url "https://github.com/SFML/SFML.git" --deb-generate-changes -C /src/out
  37. cp -prv cppse-sfml_*_amd64.deb $(CODENAME)/
  38. clean:
  39. rm -rf SFML
  40. rm -rf out
  41. shell:
  42. FLAGS="-i --privileged" bash ../ubuntu$(UBUNTU_VERSION).sh /bin/bash