add.brief.option.add.gnome.vfs.binary.helper
[tfs.git] / Makefile
blob080afa48c7c35f4f42ef18743811c894cb87af6a
1 thisdir := .
3 SUBDIRS := build
5 net_2_0_SUBDIRS := $(SUBDIRS)
7 include build/config.make
8 include build/rules.make
10 ifeq ($(HAVE_MSLIBS),no)
11 PROFILE_SUBDIRS += class
12 endif
14 ifeq ($(HAVE_DOC_TOOLS),yes)
15 PROFILE_SUBDIRS += docs
16 endif
18 PROFILE_SUBDIRS += tools data
20 all-recursive $(STD_TARGETS:=-recursive): platform-check profile-check
22 .PHONY: all-local $(STD_TARGETS:=-local)
23 all-local $(STD_TARGETS:=-local):
26 # fun specialty targets
28 PROFILES = default net_2_0
30 .PHONY: all-profiles $(STD_TARGETS:=-profiles)
31 all-profiles $(STD_TARGETS:=-profiles): %-profiles: profiles-do--%
34 profiles-do--%:
35 $(MAKE) $(PROFILES:%=profile-do--%--$*)
37 # The % below looks like profile-name--target-name
38 profile-do--%:
39 $(MAKE) PROFILE=$(subst --, ,$*)
41 # We don't want to run the tests in parallel. We want behaviour like -k.
42 profiles-do--run-test:
43 ret=:; $(foreach p,$(PROFILES), { $(MAKE) PROFILE=$(p) run-test || ret=false; }; ) $$ret
45 # Orchestrate the bootstrap here.
46 _boot_ = all clean install
47 $(_boot_:%=profile-do--net_2_0--%): profile-do--net_2_0--%: profile-do--net_2_0_bootstrap--%
48 $(_boot_:%=profile-do--net_2_0_bootstrap--%): profile-do--net_2_0_bootstrap--%: profile-do--default--%
49 $(_boot_:%=profile-do--default--%): profile-do--default--%: profile-do--net_1_1_bootstrap--%
50 $(_boot_:%=profile-do--net_1_1_bootstrap--%): profile-do--net_1_1_bootstrap--%: profile-do--basic--%
52 compiler-tests:
53 $(MAKE) TEST_SUBDIRS="tests errors" run-test-profiles
55 test-installed-compiler:
56 $(MAKE) TEST_SUBDIRS="tests errors" PROFILE=default TEST_RUNTIME=mono MCS=mcs run-test
57 $(MAKE) TEST_SUBDIRS="tests errors" PROFILE=net_2_0 TEST_RUNTIME=mono MCS=gmcs run-test
59 dist:
60 git-archive --format=tar --prefix=opentf-$(PACKAGE_VERSION)/ master . |gzip > ../opentf-$(PACKAGE_VERSION).tgz
61 cp docs/tf.html ../tf-$(PACKAGE_VERSION).html
63 dist.deb:
64 dpkg-buildpackage -rfakeroot -uc -b
66 dist.reset:
67 ./configure --prefix=/usr --enable-highlight
68 make clean all
70 dist.rpm:
71 rpmbuild -ba tfs.spec
73 # ok, now this is ugly
74 dist.win:
75 MSBuild.exe opentf.sln /p:Configuration=Release /p:Platform="Any CPU"
76 makensis tfs.nsi
78 distclean: clean
80 clean:
81 rm -rf debian/tmp debian/opentf-client debian/libopentf-cil \
82 opentf.exe tfs.spec
84 sample:
85 gmcs sample.cs -r:Microsoft.TeamFoundation.dll -r:Microsoft.TeamFoundation.Client.dll -r:Microsoft.TeamFoundation.VersionControl.Client.dll -r:Microsoft.TeamFoundation.VersionControl.Common.dll -r:Microsoft.TeamFoundation.Common.dll
87 # if you want to run the unit tests against the MS versions of these
88 # assemblies you might find these targets useful
90 cp-mslibs:
91 cp /cygdrive/c/Program\ Files/Microsoft\ Visual\ Studio\ 8/Common7/IDE/PrivateAssemblies/Microsoft.TeamFoundation.* class/lib/net_2_0
93 sample-ondotnet:
94 csc sample.cs -r:Microsoft.TeamFoundation.dll -r:Microsoft.TeamFoundation.Client.dll -r:Microsoft.TeamFoundation.VersionControl.Client.dll -r:Microsoft.TeamFoundation.VersionControl.Common.dll -r:Microsoft.TeamFoundation.Common.dll