--enable-statistics option and stat directory added
[libfirm] / Makefile.in
1 #
2 # Project:     libFIRM
3 # File name:   Makefile.in
4 # Purpose:     Top level Makefile
5 # Author:      Till Riedel
6 # Modified by:
7 # Created:
8 # CVS-ID:      $Id$
9 # Copyright:   (c) 2002-2003 Universität Karlsruhe
10 # Licence:     This file protected by GPL -  GNU GENERAL PUBLIC LICENSE.
11 #
12
13
14 # top directory of the source tree
15 top_srcdir := @top_srcdir@
16 # directory with the sources for this directory
17 srcdir := @srcdir@
18 # top directory of the configured tree
19 topdir := .
20 # subdirectory under topdir
21 subdir := .
22
23 subdirs := ir/adt ir/debug ir/tv ir/common ir/ident ir/ir ir/tr ir/ana ir/st ir/stat
24
25 SOURCES := Makefile.in MakeRules.in MakeTargets\
26            aclocal.m4 config.h.in\
27            config.guess config.sub configure.in \
28            stamp-h.in install-sh README configure
29
30 INSTALL_LIBS = libfirm.a
31
32 GENFILES := stamp-h config.log config.cache
33 # config.status config.h.in $(srcdir)/stamp-h.in
34
35 include $(topdir)/MakeRules
36
37 XOFILES += $(addsuffix /subdir.o, $(subdirs))
38
39 include $(top_srcdir)/MakeTargets
40
41 # add target firmjni if configured with --enable-firmjni
42 all: firm
43
44 firm: libfirm.a
45
46 $(OFILES): config.h Makefile
47
48 $(XOFILES): subdir_all
49
50 libfirm.a: $(XOFILES) $(OFILES)
51         $(AR) $(ARFLAGS) $@.new $(XOFILES) $(OFILES)
52         $(RANLIB) $@.new
53         mv -f $@.new $@
54
55 libfirm.so: subdir_all $(XOFILES) $(OFILES)
56         ld -Bshareable -o ./libfirm.so $(XOFILES) -lm
57
58 testprograms:   libfirm.a
59         $(MAKE) -C testprograms
60
61 firmjni:: libfirm.a
62         $(MAKE) -C firmjni
63
64 # gernerate program documentation
65 .PHONY: autodoc
66 autodoc: $(AUTODOCDIR) $(AUTODOCINDEXFILE)
67
68 .PHONY: $(AUTDOCINDEXFILE)
69 $(AUTODOCINDEXFILE): $(CFILES) $(HFILES)
70         $(AUTODOC) $(AUTODOCFILE)
71
72
73 #${srcdir}/configure: configure.in aclocal.m4
74 $(srcdir)/configure: configure.in
75         cd $(srcdir) && autoconf
76
77 # autoheader might not change config.h.in, so touch a stamp file.
78 $(srcdir)/config.h.in: stamp-h.in
79
80 #${srcdir\1c2/stamp-h.in: configure.in aclocal.m4 acconfig.h \
81 $(srcdir)/stamp-h.in: configure.in
82         cd $(srcdir) && autoheader
83         echo timestamp > $(srcdir)/stamp-h.in
84
85 config.h: stamp-h
86 stamp-h: config.h.in config.status
87         ./config.status
88
89 config.status: configure
90         ./config.status --recheck
91
92 # add target test-firmjni if configured with --enable-firmjni
93 test::
94         $(MAKE) -C testprograms test;
95
96 test-firmjni::
97         $(MAKE) -C firmjni test;
98
99 test-reference::
100         $(MAKE) -C testprograms reference;
101
102 test-clean:
103         $(MAKE) -C testprograms realclean
104         $(MAKE) -C firmjni/testprograms clean;