Makefile.am 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. AUTOMAKE_OPTIONS = foreign
  2. ACLOCAL_AMFLAGS = -I .
  3. SUBDIRS = po $(libgc_dir) $(eglib_dir) mono $(ikvm_native_dir) support data runtime scripts man samples web msvc $(docs_dir)
  4. # Keep in sync with SUBDIRS
  5. ## 'tools' is not normally built
  6. DIST_SUBDIRS = po libgc $(eglib_dir) mono ikvm-native support data runtime scripts man samples web tools msvc docs
  7. EXTRA_DIST= nls.m4 po.m4 progtest.m4 mono-uninstalled.pc.in build-mingw32.sh LICENSE mkinstalldirs
  8. DISTCHECK_CONFIGURE_FLAGS = EXTERNAL_MCS=false EXTERNAL_RUNTIME=false
  9. # Distribute the 'mcs' tree too
  10. dist-hook:
  11. test -d $(distdir)/mcs || mkdir $(distdir)/mcs
  12. d=`cd $(distdir)/mcs && pwd`; cd $(mcs_topdir) && $(MAKE) PROFILE=net_1_1 distdir=$$d dist-recursive
  13. d=`cd $(distdir)/mcs && pwd`; cd $(mcs_topdir) && $(MAKE) PROFILE=net_2_0 distdir=$$d dist-recursive
  14. pkgconfigdir = $(libdir)/pkgconfig
  15. noinst_DATA = mono-uninstalled.pc
  16. DISTCLEANFILES= mono-uninstalled.pc
  17. .PHONY: get-monolite-latest mcs-do-compiler-tests compiler-tests bootstrap-world
  18. # building with monolite
  19. mcslib = $(mcs_topdir)/class/lib
  20. monolite = $(mcslib)/monolite
  21. monolite_url = http://mono.ximian.com/daily/monolite-latest.tar.gz
  22. get-monolite-latest:
  23. -rm -fr $(mcslib)/monolite-*
  24. -mkdir -p $(mcslib)
  25. test ! -d $(monolite) || test ! -d $(monolite).old || rm -fr $(monolite).old
  26. test ! -d $(monolite) || mv -f $(monolite) $(monolite).old
  27. cd $(mcslib) && { (wget -O- $(monolite_url) || curl $(monolite_url)) | gzip -d | tar xf - ; }
  28. cd $(mcslib) && mv -f monolite-* monolite
  29. compiler-tests: build-test-mono-mcs-moon
  30. compiler-tests-net_2_0:
  31. -rm -f $(mcs_topdir)/build/common/Consts.cs.save
  32. -mv -f $(mcs_topdir)/build/common/Consts.cs $(mcs_topdir)/build/common/Consts.cs.save
  33. cd $(mcs_topdir) && $(MAKE) PROFILE=net_2_0_bootstrap clean
  34. cd $(mcs_topdir) && $(MAKE) PROFILE=net_2_0 clean
  35. -mv -f $(mcs_topdir)/build/common/Consts.cs.save $(mcs_topdir)/build/common/Consts.cs
  36. $(MAKE) all
  37. $(MAKE) test_profiles=net_2_0 mcs-do-compiler-tests
  38. bootstrap-world: compiler-tests
  39. $(MAKE) install
  40. bootstrap-world-net_2_0: compiler-tests-net_2_0
  41. $(MAKE) install
  42. # internal targets
  43. .PHONY: build-test-mono-mcs-moon
  44. build-test-mono-mcs-moon: do-build-moon-maybe
  45. $(MAKE) mcs-do-compiler-tests
  46. .PHONY: do-build-mono-mcs
  47. do-build-mono-mcs: mcs-do-clean
  48. $(MAKE) all
  49. .PHONY: do-build-moon-maybe
  50. do-build-moon-maybe: do-build-mono-mcs
  51. cd runtime && $(MAKE) moon-do-build
  52. mcs-do-clean:
  53. cd runtime && $(MAKE) clean-local
  54. cd mono/tests && $(MAKE) clean
  55. mcs-do-compiler-tests:
  56. cd runtime && $(MAKE) test_select='TEST_SUBDIRS="tests errors"' check-local
  57. cd mono/tests && $(MAKE) check
  58. win32getdeps:
  59. wget http://www.go-mono.com/archive/pkgconfig-0.11-20020310.zip
  60. wget http://www.go-mono.com/archive/glib-2.0.4-20020703.zip
  61. wget http://www.go-mono.com/archive/glib-dev-2.0.4-20020703.zip
  62. wget http://www.go-mono.com/archive/libiconv-1.7.zip
  63. wget http://www.go-mono.com/archive/libiconv-dev-1.7.zip
  64. wget http://www.go-mono.com/archive/libintl-0.10.40-20020101.zip
  65. unzip -n -d / pkgconfig-0.11-20020310.zip
  66. unzip -n -d / glib-2.0.4-20020703.zip
  67. unzip -n -d / glib-dev-2.0.4-20020703.zip
  68. unzip -n -d / libiconv-1.7.zip
  69. unzip -n -d / libiconv-dev-1.7.zip
  70. unzip -n -d / libintl-0.10.40-20020101.zip
  71. win32setup:
  72. makensis /DMILESTONE=$(VERSION) /DSOURCE_INSTALL_DIR=$(SOURCE_INSTALL_DIR) /DBUILDNUM=$(BUILDNUM) monowiz.win32.nsi
  73. bootstrap: all
  74. @echo "*** 'make bootstrap' is obsolete. Just run 'make' to perform a combined mono+mcs build"
  75. exit 1
  76. patch-quiet:
  77. find mono -name Makefile -exec scripts/patch-quiet.sh {} \;
  78. find libgc -name Makefile -exec scripts/patch-quiet.sh {} \;
  79. update-csproj:
  80. -rm msvc/scripts/order
  81. -mkdir msvc/scripts/inputs
  82. (cd runtime; make V=1 extra_targets=csproj-local)
  83. package-inputs:
  84. echo '<?xml version="1.0" encoding="utf-8"?>' > msvc/scripts/order.xml
  85. echo '<root>' >> msvc/scripts/order.xml
  86. for i in `cat msvc/scripts/order`; do \
  87. set `echo $$i | sed -e 's/:/ /' -e 's/.input//'`; \
  88. cat msvc/scripts/inputs/$$2.input | \
  89. (echo " <project dir=\"$$1\" library=\"$$2\">"; \
  90. read boot; echo " <boot>$$boot</boot>"; \
  91. read mcs; echo " <mcs>$$mcs</mcs>"; \
  92. read flags; echo " <flags>$$flags</flags>"; \
  93. read output; echo " <output>$$output</output>"; \
  94. read built; echo " <built_sources>$$built</built_sources>"; \
  95. read libou; echo " <library_output>$$libou</library_output>"; \
  96. read resp; echo " <response>$$resp</response>"; \
  97. echo " </project>") >> msvc/scripts/order.xml; \
  98. done
  99. echo "</root>" >> msvc/scripts/order.xml