[bcl] Enable parallel build for parts of the 4.5 class libs/tools.
[mono.git] / mcs / class / System.ServiceModel / Makefile
1 thisdir = class/System.ServiceModel
2 SUBDIRS = 
3 include ../../build/rules.make
4
5 RESOURCE_FILES = \
6         resources/WS-Addressing.schema  \
7         resources/ws-addr.xsd
8
9 LIBRARY = System.ServiceModel.dll
10
11 LIB_REFS = System System.Xml System.Core System.Runtime.Serialization
12 LIB_MCS_FLAGS = \
13                 /nowarn:414,169,67,3005,436,219,618 \
14                 /unsafe \
15                 /d:TRACE \
16                 /r:System.dll \
17                 /r:System.Xml.dll \
18                 /r:System.Core.dll \
19                 /r:System.Runtime.Serialization.dll \
20                 $(RESOURCE_FILES:%=/resource:%)
21
22 ifneq (2.1, $(FRAMEWORK_VERSION))
23 LIB_REFS += System.Configuration System.Data System.Security System.IdentityModel System.IdentityModel.Selectors System.Transactions System.Messaging System.Web System.Web.Services Mono.Security
24 LIB_MCS_FLAGS += /d:NET_3_0     \
25                         /r:System.Configuration.dll \
26                         /r:System.Data.dll      \
27                         /r:System.Security.dll \
28                         /r:System.IdentityModel.dll \
29                         /r:System.IdentityModel.Selectors.dll \
30                         /r:System.Transactions.dll \
31                         /r:System.Messaging.dll \
32                         /r:System.Web.dll \
33                         /r:System.Web.Services.dll \
34                         /r:Mono.Security.dll
35 endif
36
37 ifeq (4, $(FRAMEWORK_VERSION_MAJOR))
38 LIB_REFS += System.Web.ApplicationServices
39 LIB_MCS_FLAGS += /r:System.Web.ApplicationServices.dll
40 activation = $(the_libdir_base)System.ServiceModel.Activation.dll
41 servicemodel_deps = $(activation)
42
43 LIB_REFS += System.ServiceModel.Activation
44 LIB_REFS += System.Web.ApplicationServices
45
46 ifneq (plainservice/,$(intermediate))
47 LIB_MCS_FLAGS += -define:HAS_ACTIVATION -r:System.ServiceModel.Activation.dll
48 LIB_MCS_FLAGS += -r:System.Web.ApplicationServices.dll
49 endif
50 endif
51
52 TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
53
54 TEST_EXTRA_FILES = \
55         System.ServiceModel_test_net_3_0.dll.config \
56         Test/config/* \
57         Test/Resources/* \
58         Test/XmlFiles/* \
59         Test/System.ServiceModel.Channels/soap-fault*.xml \
60         Test/System.ServiceModel.Channels/binary-message.raw \
61         Test/System.ServiceModel.Description/dump.xml \
62         Test/MetadataTests/Resources/*
63
64 EXTRA_DISTFILES = $(RESOURCE_FILES) $(TEST_EXTRA_FILES)
65
66 # Useful for debugging under Visual Studio 2005
67 # NO_SIGN_ASSEMBLY = yes
68
69 VALID_PROFILE := $(filter 2 4, $(FRAMEWORK_VERSION_MAJOR))
70 ifndef VALID_PROFILE
71 LIBRARY_NAME = dummy-System.ServiceModel.dll
72 NO_INSTALL = yes
73 NO_SIGN_ASSEMBLY = yes
74 NO_TEST = yes
75 endif
76
77 include ../../build/library.make
78
79 $(the_libdir_base)System.ServiceModel.dll: $(servicemodel_deps)
80
81 $(activation):
82         (cd ../System.ServiceModel.Activation; $(MAKE) $@)
83
84 ifneq (plainservice/,$(intermediate))
85 $(the_libdir_base)plainservice/System.ServiceModel.dll:
86         $(MAKE) intermediate=plainservice/ $(the_libdir_base)plainservice/System.ServiceModel.dll
87 endif
88
89 .NOTPARALLEL: $(servicemodel_deps)
90
91 CLEAN_FILES = $(the_libdir_base)plainservice/System.ServiceModel.dll
92
93 ifndef intermediate
94 csproj-local:
95         $(MAKE) csproj-local intermediate=plainservice/
96 endif