BUGFIX: tf online <path> shouldn't croak if <path> is an add awaiting
[tfs.git] / Makefile
blob229f0976fb04bd9a5ab135b164620d34f719061f
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 ./configure --disable-magic --disable-keyring --disable-gtk
76 make clean all
77 makensis tfs.nsi
78 cp opentf.exe ../opentf-base-$(PACKAGE_VERSION).exe
79 ./configure --disable-magic --disable-keyring --enable-highlight
80 (cd tools/tf && make clean all)
81 makensis tfs.nsi
82 cp opentf.exe ../opentf-full-$(PACKAGE_VERSION).exe
84 distclean: clean
86 clean:
87 rm -rf debian/tmp debian/opentf-client debian/libopentf-cil \
88 opentf.exe tfs.spec
90 sample:
91 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
93 # if you want to run the unit tests against the MS versions of these
94 # assemblies you might find these targets useful
96 cp-mslibs:
97 cp /cygdrive/c/Program\ Files/Microsoft\ Visual\ Studio\ 8/Common7/IDE/PrivateAssemblies/Microsoft.TeamFoundation.* class/lib/net_2_0
99 sample-ondotnet:
100 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