Makefile 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. .PHONY: apf ext worker mode theme package test
  2. default: apf worker
  3. update: worker
  4. # packages apf
  5. # This is the first line of a comment \
  6. and this is still part of the comment \
  7. as is this, since I keep ending each line \
  8. with a backslash character
  9. apf:
  10. cd node_modules/packager; node package.js projects/apf_cloud9.apr
  11. cd node_modules/packager; cat build/apf_release.js | sed 's/\(\/\*FILEHEAD(\).*//g' > ../../plugins-client/lib.apf/www/apf-packaged/apf_release.js
  12. # package debug version of apf
  13. apfdebug:
  14. cd node_modules/packager/projects; cat apf_cloud9.apr | sed 's/<p:define name=\"__DEBUG\" value=\"0\" \/>/<p:define name=\"__DEBUG\" value=\"1\" \/>/g' > apf_cloud9_debug2.apr
  15. cd node_modules/packager/projects; cat apf_cloud9_debug2.apr | sed 's/apf_release/apf_debug/g' > apf_cloud9_debug.apr; rm apf_cloud9_debug2.apr
  16. cd node_modules/packager; node package.js projects/apf_cloud9_debug.apr
  17. cd node_modules/packager; cat build/apf_debug.js | sed 's/\(\/\*FILEHEAD(\).*\/apf\/\(.*\)/\1\2/g' > ../../plugins-client/lib.apf/www/apf-packaged/apf_debug.js
  18. # package_apf--temporary fix for non-workering infra
  19. pack_apf:
  20. mkdir -p build/src
  21. mv plugins-client/lib.apf/www/apf-packaged/apf_release.js build/src/apf_release.js
  22. node build/r.js -o name=./build/src/apf_release.js out=./plugins-client/lib.apf/www/apf-packaged/apf_release.js baseUrl=.
  23. # makes ace; at the moment, requires dryice@0.4.2
  24. ace:
  25. cd node_modules/ace; make clean pre_build; ./Makefile.dryice.js minimal
  26. # packages core
  27. core: ace
  28. mkdir -p build/src
  29. node build/r.js -o build/core.build.js
  30. # generates packed template
  31. helper:
  32. node build/packed_helper.js
  33. helper_clean:
  34. mkdir -p build/src
  35. node build/packed_helper.js 1
  36. # packages ext
  37. ext:
  38. node build/r.js -o build/app.build.js
  39. # calls dryice on worker & packages it
  40. worker: plugins-client/lib.ace/www/worker/worker-language.js
  41. plugins-client/lib.ace/www/worker/worker-language.js plugins-client/lib.ace/www/worker/worker-javascript.js : \
  42. $(wildcard node_modules/ace/*) $(wildcard node_modules/ace/*/*) $(wildcard node_modules/ace/*/*/mode/*) \
  43. $(wildcard plugins-client/ext.language/*) \
  44. $(wildcard plugins-client/ext.language/*/*) \
  45. $(wildcard plugins-client/ext.linereport/*) \
  46. $(wildcard plugins-client/ext.codecomplete/*) \
  47. $(wildcard plugins-client/ext.codecomplete/*/*) \
  48. $(wildcard plugins-client/ext.jslanguage/*) \
  49. $(wildcard plugins-client/ext.jslanguage/*/*) \
  50. $(wildcard plugins-client/ext.csslanguage/*) \
  51. $(wildcard plugins-client/ext.csslanguage/*/*) \
  52. $(wildcard plugins-client/ext.htmllanguage/*) \
  53. $(wildcard plugins-client/ext.htmllanguage/*/*) \
  54. $(wildcard plugins-client/ext.jsinfer/*) \
  55. $(wildcard plugins-client/ext.jsinfer/*/*) \
  56. $(wildcard node_modules/treehugger/lib/*) \
  57. $(wildcard node_modules/treehugger/lib/*/*) \
  58. $(wildcard node_modules/ace/lib/*) \
  59. $(wildcard node_modules/ace/*/*) \
  60. Makefile.dryice.js
  61. mkdir -p plugins-client/lib.ace/www/worker
  62. rm -rf /tmp/c9_worker_build
  63. mkdir -p /tmp/c9_worker_build/ext
  64. ln -s `pwd`/plugins-client/ext.language /tmp/c9_worker_build/ext/language
  65. ln -s `pwd`/plugins-client/ext.codecomplete /tmp/c9_worker_build/ext/codecomplete
  66. ln -s `pwd`/plugins-client/ext.jslanguage /tmp/c9_worker_build/ext/jslanguage
  67. ln -s `pwd`/plugins-client/ext.csslanguage /tmp/c9_worker_build/ext/csslanguage
  68. ln -s `pwd`/plugins-client/ext.htmllanguage /tmp/c9_worker_build/ext/htmllanguage
  69. ln -s `pwd`/plugins-client/ext.linereport /tmp/c9_worker_build/ext/linereport
  70. ln -s `pwd`/plugins-client/ext.linereport_php /tmp/c9_worker_build/ext/linereport_php
  71. node Makefile.dryice.js worker
  72. cp node_modules/ace/build/src/worker* plugins-client/lib.ace/www/worker
  73. define
  74. ifeq
  75. override
  76. # copies built ace modes
  77. mode:
  78. mkdir -p plugins-client/lib.ace/www/mode
  79. cp `find node_modules/ace/build/src | grep -E "mode-[a-zA-Z_0-9]+.js"` plugins-client/lib.ace/www/mode
  80. # copies built ace themes
  81. theme:
  82. mkdir -p plugins-client/lib.ace/www/theme
  83. cp `find node_modules/ace/build/src | grep -E "theme-[a-zA-Z_0-9]+.js"` plugins-client/lib.ace/www/theme
  84. gzip_safe:
  85. for i in `ls ./plugins-client/lib.packed/www/*.js`; do \
  86. gzip -9 -v -c -q -f $$i > $$i.gz ; \
  87. done
  88. gzip:
  89. for i in `ls ./plugins-client/lib.packed/www/*.js`; do \
  90. gzip -9 -v -q -f $$i ; \
  91. done
  92. c9core: apf ace core worker mode theme
  93. package_clean: helper_clean c9core ext
  94. package: helper c9core ext
  95. test check:
  96. test/run-tests.sh