1ALL_CSPROJ=$(wildcard *.csproj)
2MAIN_SLN=$(top_builddir)/Mono.Addins.sln
3
4if ENABLE_GUI
5PROFILE_NAME=Debug
6else
7if ENABLE_GUI_GTK3
8PROFILE_NAME=Debug
9else
10PROFILE_NAME=DebugNotGui
11endif
12endif
13
14XBUILD=xbuild
15XBUILD_VERBOSITY=quiet
16XBUILD_ARGS=/verbosity:$(XBUILD_VERBOSITY) /nologo /property:CodePage=65001
17XBUILD_PROFILE=/property:Configuration=$(PROFILE_NAME)
18
19# Figure out how far we are from top_builddir
20DEPTH=$(shell echo "$(top_builddir)" | tr '/' '\n' | grep -c '..')
21
22all: csproj_build
23
24clean: csproj_clean
25
26csproj_build: $(POLICY_ASSEMBLIES)
27	@if test x$(SKIP) != xy ; then \
28	echo Building $(ALL_CSPROJ); \
29	for p in $(ALL_CSPROJ); do $(XBUILD) $(XBUILD_ARGS) $$p; done \
30	fi
31
32csproj_clean:
33	@if test x$(SKIP) != xy -a $(DEPTH) -gt $(MAKELEVEL); then \
34	echo Cleaning $(ALL_CSPROJ); \
35	for p in $(ALL_CSPROJ); do $(XBUILD) $(XBUILD_ARGS) $$p /t:Clean; done \
36	fi
37	rm -f $(CLEANFILES)
38
39sln_build:
40	@echo Building $(MAIN_SLN)
41	@$(XBUILD) $(XBUILD_ARGS) $(MAIN_SLN) $(XBUILD_PROFILE)
42
43sln_clean:
44	@echo Cleaning $(MAIN_SLN)
45	@$(XBUILD) $(XBUILD_ARGS) $(MAIN_SLN) $(XBUILD_PROFILE) /t:Clean
46
47print_extradist:
48	@echo $(WILDCARDED_FILES)
49
50EXTS:=*.bmp *.cs *.csproj *.html *.png *.snk *.config *.stetic *.glade *.xml *.xsd *.exe.addins *.template *.tt *.txt
51
52ALL_FILES:=	$(EXTS) \
53		$(addprefix */,$(EXTS))		\
54		$(addprefix */*/,$(EXTS))	\
55		$(addprefix */*/*/,$(EXTS))	\
56		$(addprefix */*/*/*/,$(EXTS))	\
57		$(addprefix */*/*/*/*/,$(EXTS))	\
58		$(wildcard icons/*)		\
59		$(wildcard templates/*)
60
61WILDCARDED_FILES:=$(wildcard $(ALL_FILES))
62
63EXTRA_DIST = \
64	$(wildcard $(ALL_FILES))
65
66
67.PHONY: all clean csproj_build csproj_clean sln_build sln_clean
68