added missing define for win32
[libfirm] / Makefile.in
index 162c0d7..856eea4 100644 (file)
@@ -21,8 +21,35 @@ 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@
+# do we want to disable xmalloc and friends
+disable_libiberty := @disable_libiberty@
 
-subdirs := ir/adt ir/debug ir/tv ir/common ir/ident ir/ir ir/opt ir/tr ir/ana ir/stat ir/external # ir/st
+# 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\
@@ -31,33 +58,40 @@ SOURCES := Makefile.in MakeRules.in MakeTargets\
 
 SHARED_LIB = libfirm.so
 
-INSTALL_LIBS = libfirm.a $(SHARED_LIB)
+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 $(SHARED_LIB)
+firm: libfirm.a $(build_add_lib)
+
+shared: $(SHARED_LIB)
 
 $(OFILES): config.h Makefile
 
 $(XOFILES): subdir_all
 
 libfirm.a: $(XOFILES) $(OFILES)
-       $(AR) $(ARFLAGS) $@.new $(XOFILES) $(OFILES)
-       $(RANLIB) $@.new
+       $(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 $@
 
-libfirm.so: subdir_all $(XOFILES) $(OFILES)
-       ld -Bshareable -o ./libfirm.so $(XOFILES) -lm -L/usr/public/libxml2/lib -lxml2
+# dont know about xml here
+libfirm.so: $(XOFILES)
+       ld -Bshareable -o ./libfirm.so $(XOFILES) -lm $(LDFLAGS) $(LIBS)
 
 testprograms:  libfirm.a
        $(MAKE) -C testprograms