Makefile 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  1. # Haxe compiler Makefile
  2. #
  3. # - use 'make' to build all
  4. # - use 'make haxe' to build only the compiler (not the libraries)
  5. # - if you want to build quickly, install 'ocamlopt.opt' and change OCAMLOPT=ocamlopt.opt
  6. #
  7. # Windows users :
  8. # - use 'make -f Makefile.win' to build for Windows
  9. # - use 'make MSVC=1 -f Makefile.win' to build for Windows with OCaml/MSVC
  10. #
  11. .SUFFIXES : .ml .mli .cmo .cmi .cmx .mll .mly
  12. INSTALL_DIR=$(DESTDIR)/usr
  13. INSTALL_BIN_DIR=$(INSTALL_DIR)/bin
  14. INSTALL_LIB_DIR=$(INSTALL_DIR)/lib/haxe
  15. INSTALL_STD_DIR=$(INSTALL_LIB_DIR)/std
  16. PACKAGE_OUT_DIR=out
  17. PACKAGE_SRC_EXTENSION=.tar.gz
  18. OUTPUT=haxe
  19. EXTENSION=
  20. OCAMLOPT?=ocamlopt
  21. OCAMLC?=ocamlc
  22. LFLAGS=
  23. CFLAGS= -g -w -3 -I libs/extlib -I libs/extc -I libs/neko -I libs/javalib -I libs/ziplib -I libs/swflib -I libs/xml-light -I libs/ttflib -I libs/ilib -I libs/objsize \
  24. -I src -I src/generators -I src/macro -I src/optimization -I src/syntax -I src/typing -I src/display
  25. LIBS=unix str libs/extlib/extLib libs/xml-light/xml-light libs/swflib/swflib \
  26. libs/extc/extc libs/neko/neko libs/javalib/java libs/ziplib/zip \
  27. libs/ttflib/ttf libs/ilib/il libs/objsize/objsize
  28. NATIVE_LIBS=-cclib libs/extc/extc_stubs.o -cclib libs/extc/process_stubs.o -cclib -lz -cclib libs/objsize/c_objsize.o
  29. ifeq ($(BYTECODE),1)
  30. TARGET_FLAG = bytecode
  31. COMPILER = $(OCAMLC)
  32. LIB_EXT = cma
  33. MODULE_EXT = cmo
  34. NATIVE_LIB_FLAG = -custom
  35. else
  36. TARGET_FLAG = native
  37. COMPILER = $(OCAMLOPT)
  38. LIB_EXT = cmxa
  39. MODULE_EXT = cmx
  40. endif
  41. CC_CMD = $(COMPILER) $(CFLAGS) -c $<
  42. CC_PARSER_CMD = $(COMPILER) -pp camlp4o $(CFLAGS) -c src/syntax/parser.ml
  43. RELDIR=../../..
  44. MODULES=json syntax/ast typing/type syntax/lexer typing/common generators/genxml syntax/parser typing/typecore \
  45. display/display \
  46. optimization/optimizer typing/typeload generators/codegen generators/gencommon generators/genas3 \
  47. generators/gencpp generators/genjs generators/genneko generators/genphp generators/genswf9 \
  48. generators/genswf generators/genjava generators/gencs generators/genpy macro/interp generators/genhl \
  49. generators/genlua \
  50. optimization/dce optimization/analyzerConfig optimization/analyzerTypes optimization/analyzerTexpr \
  51. optimization/analyzerTexprTransformer optimization/analyzer \
  52. optimization/filters typing/typer typing/matcher version main
  53. ADD_REVISION?=0
  54. BRANCH=$(shell echo $$APPVEYOR_REPO_NAME | grep -q /haxe && echo $$APPVEYOR_REPO_BRANCH || echo $$TRAVIS_REPO_SLUG | grep -q /haxe && echo $$TRAVIS_BRANCH || git rev-parse --abbrev-ref HEAD)
  55. COMMIT_SHA=$(shell git rev-parse --short HEAD)
  56. COMMIT_DATE=$(shell \
  57. if [ "$$(uname)" = "Darwin" ]; then \
  58. date -u -r $$(git show -s --format=%ct HEAD) +%Y%m%d%H%M%S; \
  59. else \
  60. date -u -d @$$(git show -s --format=%ct HEAD) +%Y%m%d%H%M%S; \
  61. fi \
  62. )
  63. PACKAGE_FILE_NAME=haxe_$(COMMIT_DATE)_$(COMMIT_SHA)
  64. # using $(CURDIR) on Windows will not work since it might be a Cygwin path
  65. ifdef SYSTEMROOT
  66. EXTENSION=.exe
  67. else
  68. export HAXE_STD_PATH=$(CURDIR)/std
  69. endif
  70. all: libs haxe tools
  71. libs:
  72. make -C libs/extlib OCAMLOPT=$(OCAMLOPT) OCAMLC=$(OCAMLC) $(TARGET_FLAG)
  73. make -C libs/extc OCAMLOPT=$(OCAMLOPT) OCAMLC=$(OCAMLC) $(TARGET_FLAG)
  74. make -C libs/neko OCAMLOPT=$(OCAMLOPT) OCAMLC=$(OCAMLC) $(TARGET_FLAG)
  75. make -C libs/javalib OCAMLOPT=$(OCAMLOPT) OCAMLC=$(OCAMLC) $(TARGET_FLAG)
  76. make -C libs/ilib OCAMLOPT=$(OCAMLOPT) OCAMLC=$(OCAMLC) $(TARGET_FLAG)
  77. make -C libs/ziplib OCAMLOPT=$(OCAMLOPT) OCAMLC=$(OCAMLC) $(TARGET_FLAG)
  78. make -C libs/swflib OCAMLOPT=$(OCAMLOPT) OCAMLC=$(OCAMLC) $(TARGET_FLAG)
  79. make -C libs/xml-light OCAMLOPT=$(OCAMLOPT) OCAMLC=$(OCAMLC) $(TARGET_FLAG)
  80. make -C libs/ttflib OCAMLOPT=$(OCAMLOPT) OCAMLC=$(OCAMLC) $(TARGET_FLAG)
  81. make -C libs/objsize OCAMLOPT=$(OCAMLOPT) OCAMLC=$(OCAMLC) $(TARGET_FLAG)
  82. haxe: $(MODULES:%=src/%.$(MODULE_EXT))
  83. $(COMPILER) -o $(OUTPUT) $(NATIVE_LIBS) $(NATIVE_LIB_FLAG) $(LFLAGS) $(LIBS:=.$(LIB_EXT)) $(MODULES:%=src/%.$(MODULE_EXT))
  84. haxelib:
  85. (cd $(CURDIR)/extra/haxelib_src && $(CURDIR)/$(OUTPUT) client.hxml && nekotools boot run.n)
  86. mv extra/haxelib_src/run$(EXTENSION) haxelib$(EXTENSION)
  87. tools: haxelib
  88. install:
  89. rm -rf $(INSTALL_LIB_DIR)
  90. mkdir -p $(INSTALL_BIN_DIR)
  91. mkdir -p $(INSTALL_LIB_DIR)/lib
  92. rm -rf $(INSTALL_STD_DIR)
  93. cp -rf std $(INSTALL_STD_DIR)
  94. cp -rf extra $(INSTALL_LIB_DIR)
  95. rm -f $(INSTALL_BIN_DIR)/haxe
  96. cp haxe $(INSTALL_LIB_DIR)
  97. ln -s $(INSTALL_LIB_DIR)/haxe $(INSTALL_BIN_DIR)/haxe
  98. rm -f $(INSTALL_BIN_DIR)/haxelib
  99. cp haxelib $(INSTALL_LIB_DIR)
  100. ln -s $(INSTALL_LIB_DIR)/haxelib $(INSTALL_BIN_DIR)/haxelib
  101. chmod -R a+rx $(INSTALL_LIB_DIR)
  102. chmod 777 $(INSTALL_LIB_DIR)/lib
  103. chmod a+rx $(INSTALL_BIN_DIR)/haxe $(INSTALL_BIN_DIR)/haxelib
  104. # will install native version of the tools instead of script ones
  105. install_tools: tools
  106. cp haxelib ${INSTALL_BIN_DIR}/haxelib
  107. chmod a+rx $(INSTALL_BIN_DIR)/haxelib
  108. uninstall:
  109. rm -rf $(INSTALL_BIN_DIR)/haxe $(INSTALL_BIN_DIR)/haxelib $(INSTALL_LIB_DIR)
  110. # Modules
  111. # display
  112. src/display/display.$(MODULE_EXT): src/syntax/ast.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/typing/typecore.$(MODULE_EXT) src/syntax/parser.$(MODULE_EXT)
  113. # generators
  114. src/generators/codegen.$(MODULE_EXT): src/typing/typecore.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/generators/genxml.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT) src/display/display.$(MODULE_EXT)
  115. src/generators/genas3.$(MODULE_EXT): src/typing/type.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT)
  116. src/generators/gencommon.$(MODULE_EXT): src/typing/type.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT) src/typing/typeload.$(MODULE_EXT) libs/ilib/il.$(LIB_EXT)
  117. src/generators/gencpp.$(MODULE_EXT): src/typing/type.$(MODULE_EXT) src/syntax/lexer.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT) src/generators/gencommon.$(MODULE_EXT)
  118. src/generators/gencs.$(MODULE_EXT): src/typing/type.$(MODULE_EXT) src/syntax/lexer.$(MODULE_EXT) src/generators/gencommon.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT) libs/ilib/il.$(LIB_EXT)
  119. src/generators/genjava.$(MODULE_EXT): src/typing/type.$(MODULE_EXT) src/generators/gencommon.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT)
  120. src/generators/genjs.$(MODULE_EXT): src/typing/type.$(MODULE_EXT) src/syntax/lexer.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT)
  121. src/generators/genneko.$(MODULE_EXT): src/typing/type.$(MODULE_EXT) src/syntax/lexer.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT)
  122. src/generators/genlua.$(MODULE_EXT): src/typing/type.$(MODULE_EXT) src/syntax/lexer.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT)
  123. src/generators/genphp.$(MODULE_EXT): src/typing/type.$(MODULE_EXT) src/syntax/lexer.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT)
  124. src/generators/genpy.$(MODULE_EXT): src/typing/type.$(MODULE_EXT) src/syntax/lexer.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT)
  125. src/generators/genswf.$(MODULE_EXT): src/typing/type.$(MODULE_EXT) src/generators/genswf9.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT)
  126. src/generators/genhl.$(MODULE_EXT): src/typing/type.$(MODULE_EXT) src/syntax/lexer.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT) src/macro/interp.$(MODULE_EXT)
  127. src/generators/genswf9.$(MODULE_EXT): src/typing/type.$(MODULE_EXT) src/syntax/lexer.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT)
  128. src/generators/genxml.$(MODULE_EXT): src/typing/type.$(MODULE_EXT) src/syntax/lexer.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT)
  129. # macro
  130. src/macro/interp.$(MODULE_EXT): src/typing/typecore.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/syntax/lexer.$(MODULE_EXT) src/generators/genneko.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT) src/generators/genswf.$(MODULE_EXT) src/generators/genjava.$(MODULE_EXT) src/generators/gencs.$(MODULE_EXT) src/syntax/parser.$(MODULE_EXT) libs/ilib/il.$(LIB_EXT)
  131. # optimization
  132. src/optimization/analyzer.$(MODULE_EXT): src/syntax/ast.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/optimization/analyzerConfig.$(MODULE_EXT) src/optimization/analyzerTypes.$(MODULE_EXT) src/optimization/analyzerTexpr.$(MODULE_EXT) src/optimization/analyzerTexprTransformer.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT)
  133. src/optimization/analyzerConfig.$(MODULE_EXT): src/syntax/ast.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/typing/common.$(MODULE_EXT)
  134. src/optimization/analyzerTexpr.$(MODULE_EXT): src/syntax/ast.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/optimization/analyzerConfig.$(MODULE_EXT) src/optimization/optimizer.$(MODULE_EXT)
  135. src/optimization/analyzerTexprTransformer.$(MODULE_EXT): src/syntax/ast.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/optimization/analyzerConfig.$(MODULE_EXT) src/optimization/analyzerTypes.$(MODULE_EXT) src/optimization/analyzerTexpr.$(MODULE_EXT)
  136. src/optimization/analyzerTypes.$(MODULE_EXT): src/syntax/ast.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/optimization/analyzerConfig.$(MODULE_EXT)
  137. src/optimization/dce.$(MODULE_EXT): src/syntax/ast.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/typing/type.$(MODULE_EXT)
  138. src/optimization/filters.$(MODULE_EXT): src/syntax/ast.$(MODULE_EXT) src/optimization/analyzer.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/optimization/dce.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/typing/typecore.$(MODULE_EXT)
  139. src/optimization/optimizer.$(MODULE_EXT): src/typing/typecore.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/syntax/parser.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT)
  140. # syntax
  141. src/syntax/ast.$(MODULE_EXT):
  142. src/syntax/lexer.$(MODULE_EXT): src/syntax/lexer.ml src/syntax/ast.$(MODULE_EXT)
  143. src/syntax/parser.$(MODULE_EXT): src/syntax/parser.ml src/syntax/lexer.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT)
  144. $(CC_PARSER_CMD)
  145. # typing
  146. src/typing/common.$(MODULE_EXT): src/typing/type.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT) libs/ilib/il.$(LIB_EXT)
  147. src/typing/matcher.$(MODULE_EXT): src/optimization/optimizer.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/typing/typecore.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/typing/typer.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT)
  148. src/typing/type.$(MODULE_EXT): src/syntax/ast.$(MODULE_EXT) src/json.$(MODULE_EXT)
  149. src/typing/typecore.$(MODULE_EXT): src/typing/type.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT)
  150. src/typing/typeload.$(MODULE_EXT): src/typing/typecore.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/syntax/parser.$(MODULE_EXT) src/optimization/optimizer.$(MODULE_EXT) src/syntax/lexer.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT) src/json.$(MODULE_EXT) src/display/display.$(MODULE_EXT)
  151. src/typing/typer.$(MODULE_EXT): src/typing/typeload.$(MODULE_EXT) src/typing/typecore.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/syntax/parser.$(MODULE_EXT) src/optimization/optimizer.$(MODULE_EXT) src/syntax/lexer.$(MODULE_EXT) src/macro/interp.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT) src/optimization/filters.$(MODULE_EXT) src/generators/gencommon.$(MODULE_EXT) src/generators/genjs.$(MODULE_EXT) src/generators/genlua.$(MODULE_EXT) src/display/display.$(MODULE_EXT)
  152. # main
  153. src/main.$(MODULE_EXT): src/optimization/filters.$(MODULE_EXT) src/typing/matcher.$(MODULE_EXT) src/typing/typer.$(MODULE_EXT) src/typing/typeload.$(MODULE_EXT) src/typing/typecore.$(MODULE_EXT) src/typing/type.$(MODULE_EXT) src/syntax/parser.$(MODULE_EXT) src/optimization/optimizer.$(MODULE_EXT) src/syntax/lexer.$(MODULE_EXT) src/macro/interp.$(MODULE_EXT) src/generators/genxml.$(MODULE_EXT) src/generators/genswf.$(MODULE_EXT) src/generators/genphp.$(MODULE_EXT) src/generators/genneko.$(MODULE_EXT) src/generators/genjs.$(MODULE_EXT) src/generators/genlua.$(MODULE_EXT) src/generators/gencpp.$(MODULE_EXT) src/generators/genas3.$(MODULE_EXT) src/typing/common.$(MODULE_EXT) src/generators/codegen.$(MODULE_EXT) src/syntax/ast.$(MODULE_EXT) src/generators/gencommon.$(MODULE_EXT) src/generators/genjava.$(MODULE_EXT) src/generators/gencs.$(MODULE_EXT) src/generators/genpy.$(MODULE_EXT) src/generators/genhl.$(MODULE_EXT) src/version.$(MODULE_EXT) src/display/display.$(MODULE_EXT) libs/ilib/il.$(LIB_EXT)
  154. src/version.$(MODULE_EXT):
  155. $(MAKE) -f Makefile.version_extra -s --no-print-directory ADD_REVISION=$(ADD_REVISION) BRANCH=$(BRANCH) COMMIT_SHA=$(COMMIT_SHA) COMMIT_DATE=$(COMMIT_DATE) > src/version.ml
  156. $(COMPILER) $(CFLAGS) -c src/version.ml
  157. # Package
  158. package_src:
  159. mkdir -p $(PACKAGE_OUT_DIR)
  160. # use git-archive-all since we have submodules
  161. # https://github.com/Kentzo/git-archive-all
  162. curl -s https://raw.githubusercontent.com/Kentzo/git-archive-all/1.12/git-archive-all -o extra/git-archive-all
  163. python extra/git-archive-all $(PACKAGE_OUT_DIR)/$(PACKAGE_FILE_NAME)_src$(PACKAGE_SRC_EXTENSION)
  164. package_bin:
  165. mkdir -p $(PACKAGE_OUT_DIR)
  166. rm -rf $(PACKAGE_FILE_NAME) $(PACKAGE_FILE_NAME).tar.gz
  167. # Copy the package contents to $(PACKAGE_FILE_NAME)
  168. mkdir -p $(PACKAGE_FILE_NAME)
  169. cp -r $(OUTPUT) haxelib$(EXTENSION) std extra/LICENSE.txt extra/CONTRIB.txt extra/CHANGES.txt $(PACKAGE_FILE_NAME)
  170. # archive
  171. tar -zcf $(PACKAGE_OUT_DIR)/$(PACKAGE_FILE_NAME)_bin.tar.gz $(PACKAGE_FILE_NAME)
  172. rm -r $(PACKAGE_FILE_NAME)
  173. install_dox:
  174. haxelib git hxparse https://github.com/Simn/hxparse development src
  175. haxelib git hxtemplo https://github.com/Simn/hxtemplo
  176. haxelib git hxargs https://github.com/Simn/hxargs
  177. haxelib git markdown https://github.com/dpeek/haxe-markdown master src
  178. haxelib git hxcpp https://github.com/HaxeFoundation/hxcpp
  179. haxelib git hxjava https://github.com/HaxeFoundation/hxjava
  180. haxelib git hxcs https://github.com/HaxeFoundation/hxcs
  181. haxelib git dox https://github.com/dpeek/dox
  182. package_doc:
  183. mkdir -p $(PACKAGE_OUT_DIR)
  184. cd $$(haxelib path dox | head -n 1) && haxe run.hxml && haxe gen.hxml
  185. haxelib run dox --title "Haxe API" -o $(PACKAGE_OUT_DIR)/$(PACKAGE_FILE_NAME)_doc.zip -D version "$$(haxe -version 2>&1)" -i $$(haxelib path dox | head -n 1)bin/xml -ex microsoft -ex javax -ex cs.internal -D source-path https://github.com/HaxeFoundation/haxe/blob/$(BRANCH)/std/
  186. deploy_doc:
  187. scp $(PACKAGE_OUT_DIR)/$(PACKAGE_FILE_NAME)_doc.zip [email protected]:/data/haxeapi/www/v/dev/api-latest.zip
  188. ssh [email protected] "cd /data/haxeapi/www/v/dev && find . ! -name 'api-latest.zip' -maxdepth 1 -mindepth 1 -exec rm -rf {} + && unzip -q -o api-latest.zip"
  189. # Clean
  190. clean: clean_libs clean_haxe clean_tools clean_package
  191. clean_libs:
  192. make -C libs/extlib clean
  193. make -C libs/extc clean
  194. make -C libs/neko clean
  195. make -C libs/ziplib clean
  196. make -C libs/javalib clean
  197. make -C libs/ilib clean
  198. make -C libs/swflib clean
  199. make -C libs/xml-light clean
  200. make -C libs/ttflib clean
  201. make -C libs/objsize clean
  202. clean_haxe:
  203. rm -f -r $(MODULES:%=src/%.obj) $(MODULES:%=src/%.o) $(MODULES:%=src/%.cmx) $(MODULES:%=src/%.cmi) $(MODULES:%=src/%.cmo) src/syntax/lexer.ml src/version.ml $(OUTPUT)
  204. clean_tools:
  205. rm -f $(OUTPUT) haxelib
  206. clean_package:
  207. rm -rf $(PACKAGE_OUT_DIR)
  208. # SUFFIXES
  209. .ml.cmx:
  210. $(CC_CMD)
  211. .ml.cmo:
  212. $(CC_CMD)
  213. .mll.ml:
  214. ocamllex $<
  215. .PHONY: haxe libs version.cmx version.cmo haxelib