forked from mono/monodevelop
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Makefile
118 lines (96 loc) · 3.19 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
include main/monodevelop_version
EXTRA_DIST = configure
SPACE :=
SPACE +=
AOT_DIRECTORIES:=$(subst $(SPACE),:,$(shell find main/build/* -type d))
MONO_AOT:=MONO_PATH=$(AOT_DIRECTORIES):$(MONO_PATH) mono --aot --debug
all: update_submodules all-recursive
update_submodules:
if test -d ".git"; then \
git submodule update --init --recursive || exit 1; \
fi
top_srcdir=.
include $(top_srcdir)/config.make
CONFIG_MAKE=$(top_srcdir)/config.make
%-recursive: $(CONFIG_MAKE)
@export PKG_CONFIG_PATH="`pwd`/$(top_srcdir)/local-config:$(prefix)/lib/pkgconfig:$(prefix)/share/pkgconfig:$$PKG_CONFIG_PATH"; \
export MONO_GAC_PREFIX="$(prefix):$$MONO_GAC_PREFIX"; \
set . $$MAKEFLAGS; final_exit=:; \
case $$2 in --unix) shift ;; esac; \
case $$2 in *=*) dk="exit 1" ;; *k*) dk=: ;; *) dk="exit 1" ;; esac; \
for dir in $(SUBDIRS); do \
case $$dir in \
.) $(MAKE) $*-local || { final_exit="exit 1"; $$dk; };;\
*) (cd $$dir && $(MAKE) $*) || { final_exit="exit 1"; $$dk; };;\
esac \
done
$$final_exit
$(CONFIG_MAKE): $(top_srcdir)/configure
@if test -e "$(CONFIG_MAKE)"; then exec $(top_srcdir)/configure --prefix=$(prefix); \
else \
echo "You must run configure first"; \
exit 1; \
fi
clean: clean-recursive
install: install-recursive
uninstall: uninstall-recursive
distcheck: distcheck-recursive
distclean: distclean-recursive
rm -rf config.make local-config
remove-stale-tarballs:
rm -rf tarballs
dist: update_submodules remove-stale-tarballs dist-recursive
mkdir -p tarballs
for t in $(SUBDIRS); do \
if test -e $$t/*.tar.gz; then \
mv -f $$t/*.tar.gz tarballs ;\
fi \
done
for t in `ls tarballs/*.tar.gz`; do \
gunzip $$t ;\
done
for t in `ls tarballs/*.tar`; do \
bzip2 $$t ;\
done
rm -rf specs
mkdir -p specs
for t in $(SUBDIRS); do \
if test -a $$t/*.spec; then \
cp -f $$t/*.spec specs ;\
fi \
done
@cd tarballs && for tb in `ls external`; do \
echo Decompressing $$tb; \
tar xvjf external/$$tb; \
done
@rm -rf tarballs/external
@echo Decompressing monodevelop-$(PACKAGE_VERSION).tar.bz2
@cd tarballs && tar xvjf monodevelop-$(PACKAGE_VERSION).tar.bz2
@echo Generating merged tarball
@cd tarballs && tar -cjf monodevelop-$(PACKAGE_VERSION).tar.bz2 monodevelop-$(PACKAGE_VERSION)
@cd tarballs && rm -rf monodevelop-$(PACKAGE_VERSION)
aot:
@for i in main/build/bin/*.dll; do ($(MONO_AOT) $$i &> /dev/null && echo AOT successful: $$i) || (echo AOT failed: $$i); done
@for i in main/build/AddIns/*.dll; do ($(MONO_AOT) $$i &> /dev/null && echo AOT successful: $$i) || (echo AOT failed: $$i); done
@for i in main/build/AddIns/*/*.dll; do ($(MONO_AOT) $$i &> /dev/null && echo AOT successful: $$i) || (echo AOT failed: $$i); done
@for i in main/build/AddIns/*/*/*.dll; do ($(MONO_AOT) $$i &> /dev/null && echo AOT successful: $$i) || (echo AOT failed: $$i); done
run:
cd main && $(MAKE) run
run-boehm:
cd main && $(MAKE) run-boehm
run-sgen:
cd main && $(MAKE) run-sgen
run-gdb:
cd main && $(MAKE) run-gdb
test:
cd main && $(MAKE) test assembly=$(assembly)
check-addins:
cd main && $(MAKE) check-addins
app-dir:
cd main && $(MAKE) app-dir
reset-versions: reset-all
check-versions: check-all
reset-%:
@./version-checks --reset $*
check-%:
@./version-checks --check $*