]> matita.cs.unibo.it Git - helm.git/blob - Makefile
removed assembly that was causing an out-of-memory on my pc (1GB memory)
[helm.git] / Makefile
1 H=@
2
3 include Makefile.defs
4
5 SUBDIRS = components matita
6
7 ifeq ($(DISTRIBUTED),yes)
8 # 'world' is the default target when distributed, otherwise 'all' is
9 world: depend $(foreach d,$(SUBDIRS),rec@world@$(d))
10 all: depend $(foreach d,$(SUBDIRS),rec@all@$(d))
11 opt: depend $(foreach d,$(SUBDIRS),rec@opt@$(d))
12 else
13 all: $(foreach d,$(SUBDIRS),rec@all@$(d))
14 opt: $(foreach d,$(SUBDIRS),rec@opt@$(d))
15 world: depend $(foreach d,$(SUBDIRS),rec@world@$(d))
16 endif
17 depend: depend-stamp
18 depend-stamp:
19 ifeq ($(HAVE_OCAMLOPT),yes)
20  ifeq ($(DISTRIBUTED),yes)
21         $(MAKE) $(foreach d,$(SUBDIRS),rec@depend.opt@$(d))
22  else
23         $(MAKE) $(foreach d,$(SUBDIRS),rec@depend@$(d))
24  endif
25 else
26         $(MAKE) $(foreach d,$(SUBDIRS),rec@depend@$(d))
27 endif
28         $(H)touch depend-stamp
29
30 clean: 
31         $(H)make $(foreach d,$(SUBDIRS),rec@clean@$(d)) || true
32 distclean: 
33         $(H)make $(foreach d,$(SUBDIRS),rec@distclean@$(d)) || true
34         $(H)rm -rf .matita library-stamp depend-stamp
35 install-indep: $(foreach d,$(SUBDIRS),rec@install-indep@$(d))
36 install-arch: $(foreach d,$(SUBDIRS),rec@install-arch@$(d))
37 install: install-indep install-arch
38 uninstall: $(foreach d,$(SUBDIRS),rec@uninstall@$(d))
39
40 rec@%:
41         $(MAKE) -C $(word 2, $(subst @, ,$*)) $(word 1, $(subst @, ,$*)) DESTDIR=$(shell pwd)/$(DESTDIR)
42
43 # {{{ Distribution stuff
44
45 ifeq ($(DISTRIBUTED),yes)
46 library: library-stamp
47 library-stamp:
48         $(MAKE) -C matita/ dist_library
49         touch $@
50 endif
51
52 BASENAME = matita
53 NULL =
54 DISTDIR = $(BASENAME)-$(MATITA_VERSION)
55 CLEAN_ON_DIST =                 \
56         components/license      \
57         matita/TPTP/    \
58         matita/dama/    \
59         matita/dama_didactic/   \
60         matita/contribs/        \
61         matita/library_auto/    \
62         matita/library/assempbly/       \
63         $(NULL)
64 EXTRA_DIST =                    \
65         matita/AUTHORS          \
66         matita/LICENSE          \
67         matita/dist/BUGS        \
68         matita/dist/ChangeLog   \
69         matita/dist/COPYING     \
70         matita/dist/INSTALL     \
71         matita/dist/README      \
72         Makefile                \
73         Makefile.defs.in        \
74         $(NULL)
75 EXTRA_DIST_matita =                     \
76         matita/matitaGeneratedGui.ml    \
77         $(NULL)
78
79 distcheck: dist dist_extract dist_test
80
81 dist: dist_mktmpdir dist_pre dist_export dist_mktarball dist_rmtmpdir
82 dist/configure.ac: configure.ac matita/dist/configure.ac.sed
83         sed -f matita/dist/configure.ac.sed < $< > $@
84 dist/configure: dist/configure.ac
85         cd dist && autoconf
86 dist_mktmpdir:
87         test -d dist || mkdir dist
88 dist_rmtmpdir:
89         test -d dist && rm -rf dist/ || true
90 dist_pre:
91         $(MAKE) -C matita dist_pre
92 dist_export: dist/configure
93         rm -rf $(DISTDIR)
94         mkdir $(DISTDIR)
95         svn export components $(DISTDIR)/components
96         svn export matita $(DISTDIR)/matita
97         (cd $(DISTDIR) && find . -name .depend -exec rm \{\} \;)
98         (cd $(DISTDIR) && find . -name .depend.opt -exec rm \{\} \;)
99         (cd $(DISTDIR) && rm -rf $(CLEAN_ON_DIST))
100         cp $< $(DISTDIR)/configure
101         cp -r $(EXTRA_DIST) $(DISTDIR)
102         cp -r $(EXTRA_DIST_matita) $(DISTDIR)/matita
103         # distribute HTML version of the manual
104         mkdir -p $(DISTDIR)/docs/manual/
105         $(MAKE) -C matita/help/C/ install DESTDIR=$(CURDIR)/$(DISTDIR)/docs/manual/
106 dist_mktarball:
107         tar czf $(DISTDIR).tar.gz $(DISTDIR)
108         #tar cjf $(DISTDIR).tar.bz2 $(DISTDIR)
109         rm -rf $(DISTDIR)
110
111 dist_extract:
112         tar xzf $(DISTDIR).tar.gz
113 dist_test:
114         (cd $(DISTDIR)/ \
115           && ./configure \
116           && $(MAKE) world \
117           && $(MAKE) install DESTDIR=`pwd`/install)
118
119 .PHONY: dist dist_export dist_mktarball distcheck dist_extract dist_test dist_autotools
120
121 # }}} End of distribution stuff
122
123 .PHONY: all opt clean distclean
124
125 # vim: set foldmethod=marker: