X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=Makefile.in;h=01f22c5ad9110ac76268be5fd5dd7ebcf49f0ae3;hb=2088953d1501fb6aeec55b96decaab659703471c;hp=6e9b81b317bc692c6f5fd8dd1b1f9a6652c9b13a;hpb=5e8ca4935de6ec9274a6e008cd7a146a0d4c7dbc;p=libfirm diff --git a/Makefile.in b/Makefile.in index 6e9b81b31..01f22c5ad 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,9 +1,13 @@ -# Hey Emacs, this is a -*- makefile -*- # -# libFIRM Project -# -# Top level Makefile -# $Id$ +# Project: libFIRM +# File name: Makefile.in +# Purpose: Top level Makefile +# Author: Till Riedel +# Modified by: +# Created: +# CVS-ID: $Id$ +# Copyright: (c) 2002-2003 Universität Karlsruhe +# Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE. # @@ -15,72 +19,92 @@ srcdir := @srcdir@ topdir := . # subdirectory under topdir subdir := . +# do we want statistics +enable_statistics := @enable_statistics@ +# do we want external description of effects +enable_external_effects := @enable_external_effects@ +# do we want to use the libcore for debug and ADT support +enable_libcore := @enable_libcore@ +enable_backend := @enable_backend@ +backends := @BACKENDS@ + +LIBCORE_CFLAGS = @LIBCORE_CFLAGS@ +LIBCORE_LIBS = @LIBCORE_LFLAGS@ + +# suck in values for the linking procedure: +LDFLAGS = @LDFLAGS@ $(LIBCORE_CFLAGS) +LIBS = @LIBS@ $(LIBCORE_LIBS) + +# plugin subdirectories +plugin_subdirs := @plugin_subdirs@ + +build_subdirs := ir/adt ir/net ir/debug ir/tv ir/common ir/ident ir/ir \ + ir/opt ir/tr ir/ana ir/stat ir/arch ir/lower include/libfirm \ + $(plugin_subdirs) + +ifeq ($(enable_external_effects),yes) +build_subdirs += ir/external +endif +ifeq ($(enable_backend),yes) +build_subdirs += ir/be $(addprefix ir/be/, $(backends)) +endif -prefix := @prefix@ -exec_prefix := @exec_prefix@ -bindir = $(exec_prefix)/bin -datadir = $(prefix)/lib +build_add_lib := libfirm_xmalloc.a -subdirs := ir ir/adt ir/debug ir/tv ir/common ir/ident ir/ir ir/tr +subdirs := $(build_subdirs) ir/config SOURCES := Makefile.in MakeRules.in MakeTargets\ aclocal.m4 config.h.in\ config.guess config.sub configure.in \ - stamp-h.in install-sh README + stamp-h.in install-sh README configure -INSTALL_LIBS = libfirm.a +SHARED_LIB = libfirm.so + +INSTALL_LIBS = libfirm.a $(build_add_lib) GENFILES := stamp-h config.log config.cache +# config.status config.h.in $(srcdir)/stamp-h.in -# init -ARCHIVEDISTFILES := testprograms/Makefile.in \ - testprograms/array-heap_example.c testprograms/if_example.c \ - testprograms/array-stack_example.c testprograms/if_while_example.c \ - testprograms/call_str_example.c testprograms/inheritance_example.c \ - testprograms/cond_example.c testprograms/irr_cf_example.c \ - testprograms/const_eval_example.c testprograms/irr_loop_example.c \ - testprograms/dead_block_example.c testprograms/memory_example.c \ - testprograms/empty.c testprograms/oo_program_example.c \ - testprograms/global_var_example.c testprograms/three_cfpred_example.c \ - testprograms/if_else_example.c testprograms/while_example.c \ +include $(topdir)/MakeRules -DISTFILES = $(addprefix ../, $(ARCHIVEDISTFILES)) +XOFILES += $(addsuffix /subdir.o, $(build_subdirs)) -# config.status config.h.in $(srcdir)/stamp-h.in +include $(top_srcdir)/MakeTargets -include $(topdir)/MakeRules +# add target firmjni if configured with --enable-firmjni +all: firm -DISTFILES += $(addprefix $(srcdir)/, configure) -ARCHIVEDISTFILES += $(addprefix $(subdir)/, configure) +firm: libfirm.a $(build_add_lib) -XOFILES += $(addsuffix /subdir.o, $(subdirs)) +shared: $(SHARED_LIB) -include $(top_srcdir)/MakeTargets +$(OFILES): config.h Makefile +$(XOFILES): subdir_all -all: config.h Makefile libfirm.a +libfirm.a: $(XOFILES) $(OFILES) + $(AR) $(ARFLAGS) $@.new $^ + mv -f $@.new $@ + $(RANLIB) $@ -libfirm.a: subdir_all $(XOFILES) $(OFILES) - $(AR) $(ARFLAGS) $@.new $(XOFILES) $(OFILES) - $(RANLIB) $@.new +libfirm_xmalloc.a: subdir_all ir/adt/xmalloc.o + $(AR) $(ARFLAGS) $@.new ir/adt/xmalloc.o mv -f $@.new $@ +# dont know about xml here +libfirm.so: $(XOFILES) + ld -Bshareable -o ./libfirm.so $(XOFILES) -lm $(LDFLAGS) $(LIBS) + testprograms: libfirm.a $(MAKE) -C testprograms +firmjni:: libfirm.a + $(MAKE) -C firmjni -# generate program documentation +# gernerate program documentation .PHONY: autodoc -autodoc: autodoc_xref $(AUTODOCDIR) $(GLOBALXREFFILE) autodoc_html $(INDEXFILE) - -$(GLOBALXREFFILE): $(addsuffix /$(LOCALXREFSFILE), $(subdirs)) .xrefs -# cat $^ > $@ - $(RM) $@ - find $(PWD) -name "*.xref" -print > $@ - -$(INDEXFILE): $(GLOBALXREFFILE) - $(AUTODOC) $(GLOBALXREFFILE) $@ INDEX HTML - +autodoc: $(DOXYFILE) + $(DOXYGEN) $(DOXYFILE) #${srcdir}/configure: configure.in aclocal.m4 $(srcdir)/configure: configure.in @@ -100,3 +124,17 @@ stamp-h: config.h.in config.status config.status: configure ./config.status --recheck + +# add target test-firmjni if configured with --enable-firmjni +test:: + $(MAKE) -C testprograms test; + +test-firmjni:: + $(MAKE) -C firmjni test; + +test-reference:: + $(MAKE) -C testprograms reference; + +test-clean: + $(MAKE) -C testprograms realclean + $(MAKE) -C firmjni/testprograms clean;