fix fehler37, ALWAYS RETURN 0 at end of main
[libfirm] / Makefile.in
index 095d4ca..01f22c5 100644 (file)
@@ -21,8 +21,37 @@ 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@
 
-subdirs := ir/adt ir/debug ir/tv ir/common ir/ident ir/ir ir/opt ir/tr ir/ana ir/stat ir/external ir/ana2
+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
+
+build_add_lib := libfirm_xmalloc.a
+
+subdirs := $(build_subdirs) ir/config
 
 SOURCES := Makefile.in MakeRules.in MakeTargets\
           aclocal.m4 config.h.in\
@@ -31,21 +60,21 @@ SOURCES := Makefile.in MakeRules.in MakeTargets\
 
 SHARED_LIB = libfirm.so
 
-INSTALL_LIBS = libfirm.a
+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
+firm: libfirm.a $(build_add_lib)
 
 shared: $(SHARED_LIB)
 
@@ -54,12 +83,17 @@ $(OFILES): config.h Makefile
 $(XOFILES): subdir_all
 
 libfirm.a: $(XOFILES) $(OFILES)
-       $(AR) $(ARFLAGS) $@.new $(XOFILES) $(OFILES)
+       $(AR) $(ARFLAGS) $@.new $^
        mv -f $@.new $@
        $(RANLIB) $@
 
-libfirm.so: subdir_all $(XOFILES) $(OFILES)
-       ld -Bshareable -o ./libfirm.so $(XOFILES) -lm -L/usr/public/libxml2/lib -lxml2
+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