X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=Makefile.in;h=856eea4f844703cab25ea958d76de7a4e83be8f4;hb=91ba1eff56d080774e7e40c31c6570344d23b3d2;hp=4329a0c416e62aa7bd79364ccc9295a33c863a87;hpb=f0d338c505f258088ab0f3f2f54ed91a3ee02d72;p=libfirm diff --git a/Makefile.in b/Makefile.in index 4329a0c41..856eea4f8 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,45 +19,90 @@ srcdir := @srcdir@ topdir := . # subdirectory under topdir subdir := . - -subdirs := ir ir/adt ir/debug ir/tv ir/common ir/ident ir/ir ir/tr ir/ana ir/st +# 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@ +# do we want to disable xmalloc and friends +disable_libiberty := @disable_libiberty@ + +# suck in values for the linking procedure: +LDFLAGS = @LDFLAGS@ +LIBS = @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/ana2 ir/arch ir/lower \ + $(plugin_subdirs) + +ifeq (@enable_external_effects@,yes) +build_subdirs += ir/external +endif + +ifeq ($(disable_libiberty),yes) +build_add_lib := libfirm_xmalloc.a +else +build_add_lib := +endif + +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 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 include $(topdir)/MakeRules -XOFILES += $(addsuffix /subdir.o, $(subdirs)) +XOFILES += $(addsuffix /subdir.o, $(build_subdirs)) include $(top_srcdir)/MakeTargets +# add target firmjni if configured with --enable-firmjni +all: firm + +firm: libfirm.a $(build_add_lib) + +shared: $(SHARED_LIB) + +$(OFILES): config.h Makefile -all: config.h Makefile libfirm.a +$(XOFILES): subdir_all -libfirm.a: subdir_all $(XOFILES) $(OFILES) - $(AR) $(ARFLAGS) $@.new $(XOFILES) $(OFILES) - $(RANLIB) $@.new +libfirm.a: $(XOFILES) $(OFILES) + $(AR) $(ARFLAGS) $@.new $^ mv -f $@.new $@ + $(RANLIB) $@ + +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 # gernerate program documentation .PHONY: autodoc -autodoc: $(AUTODOCDIR) $(AUTODOCINDEXFILE) - -.PHONY: $(AUTDOCINDEXFILE) -$(AUTODOCINDEXFILE): $(CFILES) $(HFILES) - $(AUTODOC) $(srcdir)/$(AUTODOCFILE) - +autodoc: $(DOXYFILE) + $(DOXYGEN) $(DOXYFILE) #${srcdir}/configure: configure.in aclocal.m4 $(srcdir)/configure: configure.in @@ -74,11 +123,16 @@ 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;