1 # Hey Emacs, this is a -*- makefile -*-
10 # top directory of the source tree
11 top_srcdir := @top_srcdir@
12 # directory with the sources for this directory
14 # top directory of the configured tree
16 # subdirectory under topdir
19 subdirs := ir/adt ir/debug ir/tv ir/common ir/ident ir/ir ir/tr ir/ana ir/st
21 SOURCES := Makefile.in MakeRules.in MakeTargets\
22 aclocal.m4 config.h.in\
23 config.guess config.sub configure.in \
24 stamp-h.in install-sh README configure
26 INSTALL_LIBS = libfirm.a libfirm.so
28 GENFILES := stamp-h config.log config.cache
29 # config.status config.h.in $(srcdir)/stamp-h.in
31 include $(topdir)/MakeRules
33 XOFILES += $(addsuffix /subdir.o, $(subdirs))
35 include $(top_srcdir)/MakeTargets
37 # add target firmjni if configured with --enable-firmjni
40 firm: config.h Makefile libfirm.a
42 libfirm.a: subdir_all $(XOFILES) $(OFILES)
43 $(AR) $(ARFLAGS) $@.new $(XOFILES) $(OFILES)
47 libfirm.so: subdir_all $(XOFILES) $(OFILES)
48 ld -Bshareable -o ./libfirm.so $(XOFILES) -lm
50 testprograms: libfirm.a
51 $(MAKE) -C testprograms
56 # gernerate program documentation
58 autodoc: $(AUTODOCDIR) $(AUTODOCINDEXFILE)
60 .PHONY: $(AUTDOCINDEXFILE)
61 $(AUTODOCINDEXFILE): $(CFILES) $(HFILES)
62 $(AUTODOC) $(AUTODOCFILE)
65 #${srcdir}/configure: configure.in aclocal.m4
66 $(srcdir)/configure: configure.in
67 cd $(srcdir) && autoconf
69 # autoheader might not change config.h.in, so touch a stamp file.
70 $(srcdir)/config.h.in: stamp-h.in
72 #${srcdir
\1c2/stamp-h.in: configure.in aclocal.m4 acconfig.h \
73 $(srcdir)/stamp-h.in: configure.in
74 cd $(srcdir) && autoheader
75 echo timestamp > $(srcdir)/stamp-h.in
78 stamp-h: config.h.in config.status
81 config.status: configure
82 ./config.status --recheck
84 # add target test-firmjni if configured with --enable-firmjni
86 $(MAKE) -C testprograms test;
89 $(MAKE) -C firmjni test;
92 $(MAKE) -C testprograms reference;
95 $(MAKE) -C testprograms realclean
96 $(MAKE) -C firmjni/testprograms clean;