1 thisdir = class/reference-assemblies
3 include ../../build/rules.make
7 PROFILE_DIR=$(DESTDIR)$(mono_libdir)/mono
9 build-reference-assemblies:
10 $(MAKE) -C ../../../external/binary-reference-assemblies CSC="MONO_PATH=$(abspath $(topdir)/class/lib/$(BUILD_TOOLS_PROFILE)) $(INTERNAL_CSC)"
13 $(MKINSTALLDIRS) $(PROFILE_DIR)/2.0-api
14 $(MKINSTALLDIRS) $(PROFILE_DIR)/3.5-api
15 $(MKINSTALLDIRS) $(PROFILE_DIR)/4.0-api
16 $(MKINSTALLDIRS) $(PROFILE_DIR)/4.5-api
17 $(MKINSTALLDIRS) $(PROFILE_DIR)/4.5.1-api
18 $(MKINSTALLDIRS) $(PROFILE_DIR)/4.5.2-api
19 $(MKINSTALLDIRS) $(PROFILE_DIR)/4.6-api
20 $(MKINSTALLDIRS) $(PROFILE_DIR)/4.6.1-api
21 $(MKINSTALLDIRS) $(PROFILE_DIR)/4.6.2-api
22 $(MKINSTALLDIRS) $(PROFILE_DIR)/4.7-api
23 $(MKINSTALLDIRS) $(PROFILE_DIR)/4.5-api/Facades
24 $(MKINSTALLDIRS) $(PROFILE_DIR)/4.5.1-api/Facades
25 $(MKINSTALLDIRS) $(PROFILE_DIR)/4.5.2-api/Facades
26 $(MKINSTALLDIRS) $(PROFILE_DIR)/4.6-api/Facades
27 $(MKINSTALLDIRS) $(PROFILE_DIR)/4.6.1-api/Facades
28 $(MKINSTALLDIRS) $(PROFILE_DIR)/4.6.2-api/Facades
29 $(MKINSTALLDIRS) $(PROFILE_DIR)/4.7-api/Facades
31 $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v2.0/*.dll $(PROFILE_DIR)/2.0-api
32 $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v3.5/*.dll $(PROFILE_DIR)/3.5-api
33 $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.0/*.dll $(PROFILE_DIR)/4.0-api
34 $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.5/*.dll $(PROFILE_DIR)/4.5-api
35 $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.5.1/*.dll $(PROFILE_DIR)/4.5.1-api
36 $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.5.2/*.dll $(PROFILE_DIR)/4.5.2-api
37 $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.6/*.dll $(PROFILE_DIR)/4.6-api
38 $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.6.1/*.dll $(PROFILE_DIR)/4.6.1-api
39 $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.6.2/*.dll $(PROFILE_DIR)/4.6.2-api
40 $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.7/*.dll $(PROFILE_DIR)/4.7-api
41 $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.5/Facades/*.dll $(PROFILE_DIR)/4.5-api/Facades
42 $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.5.1/Facades/*.dll $(PROFILE_DIR)/4.5.1-api/Facades
43 $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.5.2/Facades/*.dll $(PROFILE_DIR)/4.5.2-api/Facades
44 $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.6/Facades/*.dll $(PROFILE_DIR)/4.6-api/Facades
45 $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.6.1/Facades/*.dll $(PROFILE_DIR)/4.6.1-api/Facades
46 $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.6.2/Facades/*.dll $(PROFILE_DIR)/4.6.2-api/Facades
47 $(INSTALL_LIB) ../../../external/binary-reference-assemblies/v4.7/Facades/*.dll $(PROFILE_DIR)/4.7-api/Facades
49 # Unfortunately, a few programs (most notably NUnit and FSharp) have hardcoded checks for <prefix>/lib/mono/4.0/mscorlib.dll or Mono.Posix.dll,
50 # so we need to place something there or those tools break. We decided to symlink to the reference assembly for now.
51 # See https://bugzilla.xamarin.com/show_bug.cgi?id=38331 and https://bugzilla.xamarin.com/show_bug.cgi?id=41052
52 $(MKINSTALLDIRS) $(PROFILE_DIR)/4.0
53 ln -sf ../4.0-api/mscorlib.dll $(PROFILE_DIR)/4.0/mscorlib.dll
54 ln -sf ../4.0-api/Mono.Posix.dll $(PROFILE_DIR)/4.0/Mono.Posix.dll
57 $(wildcard ../../../external/binary-reference-assemblies/v4.7/Facades/*.dll) \
58 $(wildcard ../../../external/binary-reference-assemblies/v4.6.2/Facades/*.dll) \
59 $(wildcard ../../../external/binary-reference-assemblies/v4.6.1/Facades/*.dll) \
60 $(wildcard ../../../external/binary-reference-assemblies/v4.6/Facades/*.dll) \
61 $(wildcard ../../../external/binary-reference-assemblies/v4.5.2/Facades/*.dll) \
62 $(wildcard ../../../external/binary-reference-assemblies/v4.5.1/Facades/*.dll) \
63 $(wildcard ../../../external/binary-reference-assemblies/v4.5/Facades/*.dll) \
64 $(wildcard ../../../external/binary-reference-assemblies/v4.7/*.dll) \
65 $(wildcard ../../../external/binary-reference-assemblies/v4.6.2/*.dll) \
66 $(wildcard ../../../external/binary-reference-assemblies/v4.6.1/*.dll) \
67 $(wildcard ../../../external/binary-reference-assemblies/v4.6/*.dll) \
68 $(wildcard ../../../external/binary-reference-assemblies/v4.5.2/*.dll) \
69 $(wildcard ../../../external/binary-reference-assemblies/v4.5.1/*.dll) \
70 $(wildcard ../../../external/binary-reference-assemblies/v4.5/*.dll) \
71 $(wildcard ../../../external/binary-reference-assemblies/v4.0/*.dll) \
72 $(wildcard ../../../external/binary-reference-assemblies/v3.5/*.dll) \
73 $(wildcard ../../../external/binary-reference-assemblies/v2.0/*.dll) \
74 $(wildcard ../../../external/binary-reference-assemblies/src/v4.7/Facades/*.cs) \
75 $(wildcard ../../../external/binary-reference-assemblies/src/v4.6.2/Facades/*.cs) \
76 $(wildcard ../../../external/binary-reference-assemblies/src/v4.6.1/Facades/*.cs) \
77 $(wildcard ../../../external/binary-reference-assemblies/src/v4.6/Facades/*.cs) \
78 $(wildcard ../../../external/binary-reference-assemblies/src/v4.5.2/Facades/*.cs) \
79 $(wildcard ../../../external/binary-reference-assemblies/src/v4.5.1/Facades/*.cs) \
80 $(wildcard ../../../external/binary-reference-assemblies/src/v4.5/Facades/*.cs) \
81 $(wildcard ../../../external/binary-reference-assemblies/src/v4.7/*.cs) \
82 $(wildcard ../../../external/binary-reference-assemblies/src/v4.6.2/*.cs) \
83 $(wildcard ../../../external/binary-reference-assemblies/src/v4.6.1/*.cs) \
84 $(wildcard ../../../external/binary-reference-assemblies/src/v4.6/*.cs) \
85 $(wildcard ../../../external/binary-reference-assemblies/src/v4.5.2/*.cs) \
86 $(wildcard ../../../external/binary-reference-assemblies/src/v4.5.1/*.cs) \
87 $(wildcard ../../../external/binary-reference-assemblies/src/v4.5/*.cs) \
88 $(wildcard ../../../external/binary-reference-assemblies/src/v4.0/*.cs) \
89 $(wildcard ../../../external/binary-reference-assemblies/src/v3.5/*.cs) \
90 $(wildcard ../../../external/binary-reference-assemblies/src/v2.0/*.cs) \
91 ../../../external/binary-reference-assemblies/v4.7/Makefile \
92 ../../../external/binary-reference-assemblies/v4.6.2/Makefile \
93 ../../../external/binary-reference-assemblies/v4.6.1/Makefile \
94 ../../../external/binary-reference-assemblies/v4.6/Makefile \
95 ../../../external/binary-reference-assemblies/v4.5.2/Makefile \
96 ../../../external/binary-reference-assemblies/v4.5.1/Makefile \
97 ../../../external/binary-reference-assemblies/v4.5/Makefile \
98 ../../../external/binary-reference-assemblies/v4.0/Makefile \
99 ../../../external/binary-reference-assemblies/v3.5/Makefile \
100 ../../../external/binary-reference-assemblies/v2.0/Makefile \
101 ../../../external/binary-reference-assemblies/Makefile \
104 dist-local: dist-default