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.

Makefile 3.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. BUILD_DIR = build
  2. CLEANCSS = ./node_modules/.bin/cleancss
  3. DEPLOY_DIR = libs
  4. LIBJITSIMEET_DIR = node_modules/lib-jitsi-meet
  5. OLM_DIR = node_modules/@matrix-org/olm
  6. TF_WASM_DIR = node_modules/@tensorflow/tfjs-backend-wasm/dist/
  7. RNNOISE_WASM_DIR = node_modules/rnnoise-wasm/dist
  8. TFLITE_WASM = react/features/stream-effects/virtual-background/vendor/tflite
  9. MEET_MODELS_DIR = react/features/stream-effects/virtual-background/vendor/models
  10. FACE_MODELS_DIR = node_modules/@vladmandic/human-models/models
  11. NODE_SASS = ./node_modules/.bin/sass
  12. NPM = npm
  13. OUTPUT_DIR = .
  14. STYLES_BUNDLE = css/all.bundle.css
  15. STYLES_DESTINATION = css/all.css
  16. STYLES_MAIN = css/main.scss
  17. WEBPACK = ./node_modules/.bin/webpack
  18. WEBPACK_DEV_SERVER = ./node_modules/.bin/webpack serve --mode development
  19. all: compile deploy clean
  20. compile:
  21. $(WEBPACK)
  22. clean:
  23. rm -fr $(BUILD_DIR)
  24. .NOTPARALLEL:
  25. deploy: deploy-init deploy-appbundle deploy-rnnoise-binary deploy-tflite deploy-meet-models deploy-lib-jitsi-meet deploy-olm deploy-tf-wasm deploy-css deploy-local deploy-face-landmarks
  26. deploy-init:
  27. rm -fr $(DEPLOY_DIR)
  28. mkdir -p $(DEPLOY_DIR)
  29. deploy-appbundle:
  30. cp \
  31. $(BUILD_DIR)/app.bundle.min.js \
  32. $(BUILD_DIR)/app.bundle.min.js.map \
  33. $(BUILD_DIR)/do_external_connect.min.js \
  34. $(BUILD_DIR)/do_external_connect.min.js.map \
  35. $(BUILD_DIR)/external_api.min.js \
  36. $(BUILD_DIR)/external_api.min.js.map \
  37. $(BUILD_DIR)/dial_in_info_bundle.min.js \
  38. $(BUILD_DIR)/dial_in_info_bundle.min.js.map \
  39. $(BUILD_DIR)/alwaysontop.min.js \
  40. $(BUILD_DIR)/alwaysontop.min.js.map \
  41. $(OUTPUT_DIR)/analytics-ga.js \
  42. $(BUILD_DIR)/analytics-ga.min.js \
  43. $(BUILD_DIR)/analytics-ga.min.js.map \
  44. $(BUILD_DIR)/face-landmarks-worker.min.js \
  45. $(BUILD_DIR)/face-landmarks-worker.min.js.map \
  46. $(DEPLOY_DIR)
  47. cp \
  48. $(BUILD_DIR)/close3.min.js \
  49. $(BUILD_DIR)/close3.min.js.map \
  50. $(DEPLOY_DIR) || true
  51. deploy-lib-jitsi-meet:
  52. cp \
  53. $(LIBJITSIMEET_DIR)/dist/umd/lib-jitsi-meet.min.js \
  54. $(LIBJITSIMEET_DIR)/dist/umd/lib-jitsi-meet.min.map \
  55. $(LIBJITSIMEET_DIR)/dist/umd/lib-jitsi-meet.e2ee-worker.js \
  56. $(LIBJITSIMEET_DIR)/connection_optimization/external_connect.js \
  57. $(LIBJITSIMEET_DIR)/modules/browser/capabilities.json \
  58. $(DEPLOY_DIR)
  59. deploy-olm:
  60. cp \
  61. $(OLM_DIR)/olm.wasm \
  62. $(DEPLOY_DIR)
  63. deploy-tf-wasm:
  64. cp \
  65. $(TF_WASM_DIR)/*.wasm \
  66. $(DEPLOY_DIR)
  67. deploy-rnnoise-binary:
  68. cp \
  69. $(RNNOISE_WASM_DIR)/rnnoise.wasm \
  70. $(DEPLOY_DIR)
  71. deploy-tflite:
  72. cp \
  73. $(TFLITE_WASM)/*.wasm \
  74. $(DEPLOY_DIR)
  75. deploy-meet-models:
  76. cp \
  77. $(MEET_MODELS_DIR)/*.tflite \
  78. $(DEPLOY_DIR)
  79. deploy-face-landmarks:
  80. cp \
  81. $(FACE_MODELS_DIR)/blazeface-front.bin \
  82. $(FACE_MODELS_DIR)/blazeface-front.json \
  83. $(FACE_MODELS_DIR)/emotion.bin \
  84. $(FACE_MODELS_DIR)/emotion.json \
  85. $(DEPLOY_DIR)
  86. deploy-css:
  87. $(NODE_SASS) $(STYLES_MAIN) $(STYLES_BUNDLE) && \
  88. $(CLEANCSS) --skip-rebase $(STYLES_BUNDLE) > $(STYLES_DESTINATION) && \
  89. rm $(STYLES_BUNDLE)
  90. deploy-local:
  91. ([ ! -x deploy-local.sh ] || ./deploy-local.sh)
  92. .NOTPARALLEL:
  93. dev: deploy-init deploy-css deploy-rnnoise-binary deploy-tflite deploy-meet-models deploy-lib-jitsi-meet deploy-olm deploy-tf-wasm deploy-face-landmarks
  94. $(WEBPACK_DEV_SERVER)
  95. source-package:
  96. mkdir -p source_package/jitsi-meet/css && \
  97. cp -r *.js *.html resources/*.txt connection_optimization favicon.ico fonts images libs static sounds LICENSE lang source_package/jitsi-meet && \
  98. cp css/all.css source_package/jitsi-meet/css && \
  99. (cd source_package ; tar cjf ../jitsi-meet.tar.bz2 jitsi-meet) && \
  100. rm -rf source_package