Makefile 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. JS_LANG_FILES = \
  2. src/lang/Array.js
  3. JS_CORE_FILES = \
  4. src/pv.js \
  5. src/pv-internals.js \
  6. src/lang/init.js \
  7. src/text/Format.js \
  8. src/text/DateFormat.js \
  9. src/text/TimeFormat.js \
  10. src/text/NumberFormat.js \
  11. src/data/Arrays.js \
  12. src/data/Numbers.js \
  13. src/data/Objects.js \
  14. src/data/Dom.js \
  15. src/data/Tree.js \
  16. src/data/Nest.js \
  17. src/data/Flatten.js \
  18. src/data/Vector.js \
  19. src/data/Transform.js \
  20. src/data/Scale.js \
  21. src/data/QuantitativeScale.js \
  22. src/data/LinearScale.js \
  23. src/data/LogScale.js \
  24. src/data/RootScale.js \
  25. src/data/OrdinalScale.js \
  26. src/data/QuantileScale.js \
  27. src/data/Histogram.js \
  28. src/color/Color.js \
  29. src/color/Colors.js \
  30. src/color/Ramp.js \
  31. src/scene/svg/SvgScene.js \
  32. src/scene/svg/SvgCurve.js \
  33. src/scene/svg/SvgArea.js \
  34. src/scene/svg/SvgBar.js \
  35. src/scene/svg/SvgDot.js \
  36. src/scene/svg/SvgImage.js \
  37. src/scene/svg/SvgLabel.js \
  38. src/scene/svg/SvgLine.js \
  39. src/scene/svg/SvgPanel.js \
  40. src/scene/svg/SvgRule.js \
  41. src/scene/svg/SvgWedge.js \
  42. src/scene/vml/VmlScene.js \
  43. src/scene/vml/VmlArea.js \
  44. src/scene/vml/VmlBar.js \
  45. src/scene/vml/VmlDot.js \
  46. src/scene/vml/VmlImage.js \
  47. src/scene/vml/VmlLabel.js \
  48. src/scene/vml/VmlLine.js \
  49. src/scene/vml/VmlPanel.js \
  50. src/scene/vml/VmlRule.js \
  51. src/scene/vml/VmlWedge.js \
  52. src/scene/Scene.js \
  53. src/mark/Mark.js \
  54. src/mark/Anchor.js \
  55. src/mark/Area.js \
  56. src/mark/Bar.js \
  57. src/mark/Dot.js \
  58. src/mark/Label.js \
  59. src/mark/Line.js \
  60. src/mark/Rule.js \
  61. src/mark/Panel.js \
  62. src/mark/Image.js \
  63. src/mark/Wedge.js
  64. JS_LAYOUT_FILES = \
  65. src/physics/Particle.js \
  66. src/physics/Simulation.js \
  67. src/physics/Quadtree.js \
  68. src/physics/Force.js \
  69. src/physics/ChargeForce.js \
  70. src/physics/DragForce.js \
  71. src/physics/SpringForce.js \
  72. src/physics/Constraint.js \
  73. src/physics/CollisionConstraint.js \
  74. src/physics/PositionConstraint.js \
  75. src/physics/BoundConstraint.js \
  76. src/layout/Layout.js \
  77. src/layout/Network.js \
  78. src/layout/Hierarchy.js \
  79. src/layout/Grid.js \
  80. src/layout/Stack.js \
  81. src/layout/Treemap.js \
  82. src/layout/Tree.js \
  83. src/layout/Indent.js \
  84. src/layout/Pack.js \
  85. src/layout/Force.js \
  86. src/layout/Cluster.js \
  87. src/layout/Partition.js \
  88. src/layout/Arc.js \
  89. src/layout/Horizon.js \
  90. src/layout/Rollup.js \
  91. src/layout/Matrix.js \
  92. src/layout/Bullet.js \
  93. src/behavior/Behavior.js \
  94. src/behavior/Drag.js \
  95. src/behavior/Point.js \
  96. src/behavior/Select.js \
  97. src/behavior/Resize.js \
  98. src/behavior/Pan.js \
  99. src/behavior/Zoom.js
  100. JS_GEO_FILES = \
  101. src/geo/Geo.js \
  102. src/geo/LatLng.js \
  103. src/geo/Projection.js \
  104. src/geo/Projections.js \
  105. src/geo/GeoScale.js
  106. JS_FILES = \
  107. $(JS_LANG_FILES) \
  108. $(JS_CORE_FILES) \
  109. $(JS_LAYOUT_FILES) \
  110. $(JS_GEO_FILES)
  111. JS_COMPILER = \
  112. java -jar lib/google-compiler/compiler-20100201.jar \
  113. --charset UTF-8 \
  114. --warning_level=QUIET
  115. JSDOC_HOME = /Library/jsdoc-toolkit
  116. JSDOC = java -jar $(JSDOC_HOME)/jsrun.jar $(JSDOC_HOME)/app/run.js
  117. all: protovis-d3.2.js protovis-r3.2.js
  118. protovis-d3.2.js: $(JS_FILES)
  119. protovis-r3.2.js: $(JS_FILES)
  120. %-d3.2.js: Makefile
  121. grep ' ' -Hn $(filter %.js,$^) && echo "ERROR: tab" && exit 1 || true
  122. grep -P '\r\n' -Hn $(filter %.js,$^) && echo "ERROR: dos newline" && exit 1 || true
  123. grep ' $$' -Hn $(filter %.js,$^) && echo "ERROR: trailing space" && exit 1 || true
  124. rm -f $@
  125. echo "// $(shell git rev-parse HEAD)" >> $@
  126. cat $(filter %.js,$^) >> $@
  127. %-r3.2.js:: Makefile
  128. rm -f $@
  129. echo "// $(shell git rev-parse --short HEAD)" >> $@
  130. cat $(filter %.js,$^) | $(JS_COMPILER) >> $@
  131. jsdoc: $(JS_FILES) Makefile
  132. rm -rf jsdoc
  133. $(JSDOC) -a -t=$(JSDOC_HOME)/templates/jsdoc -d=$@ -E="^pv-" $(JS_FILES)
  134. clean:
  135. rm -rf protovis-d3.2.js protovis-r3.2.js jsdoc