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.

84 lines
3.3KB

  1. SHELL:=/bin/bash
  2. UBUNTU_VERSION ?= 2404
  3. CODENAME ?= noble
  4. VERSION:=7.1.3
  5. build: $(CODENAME)/cppse-fmt_$(VERSION)_amd64.deb
  6. $(CODENAME)/cppse-fmt_$(VERSION)_amd64.deb:
  7. mkdir -p $(CODENAME)
  8. make ubuntu$(UBUNTU_VERSION)
  9. ubuntu2004:
  10. git clone https://github.com/rayburgemeestre/fmt --branch 7.1.3
  11. bash ../ubuntu2004.sh make impl
  12. bash ../ubuntu2004.sh make impl-emscripten
  13. make package-ubuntu2004
  14. bash ../ubuntu2004.sh chown $$(id -u):$$(id -g) . -R # fix permissions
  15. ubuntu2204:
  16. git clone https://github.com/rayburgemeestre/fmt --branch 7.1.3
  17. bash ../ubuntu2204.sh make impl
  18. bash ../ubuntu2204.sh make impl-emscripten
  19. make package-ubuntu2204
  20. bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions
  21. ubuntu$(UBUNTU_VERSION):
  22. git clone https://github.com/rayburgemeestre/fmt --branch 7.1.3
  23. bash ../ubuntu$(UBUNTU_VERSION).sh make impl
  24. bash ../ubuntu$(UBUNTU_VERSION).sh make impl-emscripten
  25. make package-ubuntu$(UBUNTU_VERSION)
  26. bash ../ubuntu$(UBUNTU_VERSION).sh chown $$(id -u):$$(id -g) . -R # fix permissions
  27. impl:
  28. switch-to-latest-clang
  29. apt-get update && apt-get install libz-dev -y && \
  30. pushd fmt && \
  31. mkdir build && pushd build && \
  32. CXX=$$(which c++) cmake -DCMAKE_C_FLAGS=-fPIC -DFMT_TEST=off -DCMAKE_CXX_FLAGS=-fPIC -DCMAKE_INSTALL_PREFIX=$$PWD/fmt_out .. && \
  33. make -j $$(nproc) && \
  34. make install
  35. impl-emscripten:
  36. switch-to-latest-clang
  37. apt-get update && apt-get install libz-dev -y && \
  38. pushd fmt && \
  39. mkdir build2 && pushd build2 && \
  40. CXX=/emsdk/upstream/emscripten/em++ cmake -DFMT_TEST=off -DCMAKE_C_FLAGS=-fPIC -DCMAKE_CXX_FLAGS=-fPIC -DCMAKE_INSTALL_PREFIX=$$PWD/fmt_out .. && \
  41. make -j $$(nproc) && \
  42. make install
  43. package-ubuntu2004:
  44. rm -rf out
  45. mkdir -p out/opt/cppse/build/fmt
  46. cp -prv fmt/build/fmt_out/* out/opt/cppse/build/fmt/
  47. cp -prv fmt/build2/fmt_out/lib/libfmt.a out/opt/cppse/build/fmt/lib/libfmt-em.a
  48. rm -rf fmt_*_amd64.deb
  49. docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -f -v 1.1 -s dir -t deb -n fmt --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "fmt - build dependency" --url "https://github.com/mattgodbolt/fmt" --deb-generate-changes -C /src/out
  50. package-ubuntu2204:
  51. rm -rf out
  52. mkdir -p out/opt/cppse/build/fmt
  53. cp -prv fmt/build/fmt_out/* out/opt/cppse/build/fmt/
  54. cp -prv fmt/build2/fmt_out/lib/libfmt.a out/opt/cppse/build/fmt/lib/libfmt-em.a
  55. rm -rf fmt_*_amd64.deb
  56. docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -f -v 1.1.1 -s dir -t deb -n fmt --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "fmt - build dependency" --url "https://github.com/mattgodbolt/fmt" --deb-generate-changes -C /src/out
  57. package-ubuntu$(UBUNTU_VERSION):
  58. rm -rf out
  59. mkdir -p out/opt/cppse/build/fmt
  60. cp -prv fmt/build/fmt_out/* out/opt/cppse/build/fmt/
  61. cp -prv fmt/build2/fmt_out/lib/libfmt.a out/opt/cppse/build/fmt/lib/libfmt-em.a
  62. rm -rf $(CODENAME)/cppse-fmt_*_amd64.deb
  63. docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -f -v $(VERSION) --iteration $(CODENAME) -s dir -t deb -n cppse-fmt --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "fmt - build dependency" --url "https://github.com/mattgodbolt/fmt" --deb-generate-changes -C /src/out
  64. cp -prv cppse-fmt_*_amd64.deb $(CODENAME)/
  65. clean:
  66. rm -rf fmt
  67. rm -rf out
  68. shell:
  69. FLAGS="-i --privileged" bash ../ubuntu2004.sh /bin/bash