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@
-ifeq (@enable_external_effects@,yes)
build_subdirs := ir/adt ir/debug ir/tv ir/common ir/ident ir/ir \
- ir/opt ir/tr ir/ana ir/stat ir/ana2 ir/external
+ 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_subdirs := ir/adt ir/debug ir/tv ir/common ir/ident ir/ir \
- ir/opt ir/tr ir/ana ir/stat ir/ana2
+build_add_lib :=
endif
subdirs := $(build_subdirs) ir/config
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
# add target firmjni if configured with --enable-firmjni
all: firm
-firm: libfirm.a
+firm: libfirm.a $(build_add_lib)
shared: $(SHARED_LIB)
$(XOFILES): subdir_all
libfirm.a: $(XOFILES) $(OFILES)
- $(AR) $(ARFLAGS) $@.new $(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: subdir_all $(XOFILES) $(OFILES)
- ld -Bshareable -o ./libfirm.so $(XOFILES) -lm -L/usr/public/libxml2/lib -lxml2
+libfirm.so: $(XOFILES)
+ ld -Bshareable -o ./libfirm.so $(XOFILES) -lm $(LDFLAGS) $(LIBS)
testprograms: libfirm.a
$(MAKE) -C testprograms