Makefile.win 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. include Makefile
  2. OUTPUT=haxe.exe
  3. EXTENSION=.exe
  4. PACKAGE_SRC_EXTENSION=.zip
  5. OCAMLOPT=ocamlopt.opt
  6. kill:
  7. -@taskkill /F /IM haxe.exe
  8. # allow Ocaml/Mingw as well
  9. NATIVE_LIBS += -I "c:/program files/mingw/lib/"
  10. # use make WODI=wodi32 -f Makefile.win to build using WODI 32bit
  11. ifdef WODI
  12. NATIVE_LIBS += -I "/opt/${WODI}/lib"
  13. endif
  14. # use make MSVC=1 -f Makefile.win to build for OCaml/MSVC
  15. ifeq (${MSVC}, 1)
  16. NATIVE_LIBS = shell32.lib libs/extc/extc_stubs.obj libs/extc/process_stubs.obj libs/extc/zlib/zlib.lib libs/objsize/c_objsize.obj
  17. endif
  18. ifeq (${MSVC_OUTPUT}, 1)
  19. FILTER=sed 's/File "\([^"]\+\)", line \([0-9]\+\), \(.*\)/\1(\2): \3/' tmp.cmi
  20. endif
  21. ifeq (${FD_OUTPUT}, 1)
  22. FILTER=sed '/File/{ N; s/File "\([^"]\+\)", line \([0-9]\+\), characters \([0-9-]\+\):[\r\n]*\(.*\)/\1:\2: characters \3 : \4/ }' tmp.cmi
  23. endif
  24. ifdef FILTER
  25. CC_CMD=($(OCAMLOPT) $(CFLAGS) -c $< 2>tmp.cmi && $(FILTER)) || ($(FILTER) && exit 1)
  26. CC_PARSER_CMD=($(OCAMLOPT) -pp camlp4o $(CFLAGS) -c parser.ml 2>tmp.cmi && $(FILTER)) || ($(FILTER) && exit 1)
  27. endif
  28. package_bin:
  29. mkdir -p out
  30. rm -rf $(PACKAGE_FILE_NAME) $(PACKAGE_FILE_NAME).zip temp.zip
  31. # Copy the package contents to $(PACKAGE_FILE_NAME)
  32. # Using poor man's cp (zip then unzip), because cp in cygwin is quite broken
  33. mkdir -p $(PACKAGE_FILE_NAME)
  34. 7za a -y -tzip -mx0 temp.zip $(OUTPUT) haxelib$(EXTENSION) std > log.txt || type log.txt
  35. cd extra && 7za a -y -tzip -mx0 ../temp.zip LICENSE.txt CONTRIB.txt CHANGES.txt > log.txt || type log.txt
  36. 7za x -y temp.zip -o$(PACKAGE_FILE_NAME) > log.txt || type log.txt
  37. rm temp.zip
  38. # archive
  39. 7za a -r -tzip out/$(PACKAGE_FILE_NAME)_bin.zip $(PACKAGE_FILE_NAME) > log.txt || type log.txt
  40. rm -r $(PACKAGE_FILE_NAME)
  41. rm log.txt extra/log.txt