LINK ?= $(CC)
AR ?= ar ru
RANLIB ?= ranlib
+DLLEXT ?= .so
# Variants
CFLAGS_debug = -O0 -g3 -DDEBUG_libfirm
.PHONY: all
all: firm
+# This rule is necessary so that make does not abort if headers get deleted
+# (the deleted header might still be referenced in a .d file)
+%.h:
+ @:
+
# A very naive way to create a config.h if it is missing
$(srcdir)config.h:
@echo MakeConfig $@
ir/stat \
ir/tr \
ir/tv \
+ ir/kaps \
ir/be
libfirm_SOURCES = $(foreach dir,$(libfirm_DIRS),$(wildcard $(dir)/*.c))
libfirm_a = $(builddir)/libfirm.a
-libfirm_so = $(builddir)/libfirm.so
+libfirm_dll = $(builddir)/libfirm$(DLLEXT)
libfirm_CPPFLAGS = -Iinclude/libfirm -Iinclude/libfirm/adt -I. $(foreach dir,$(libfirm_DIRS),-I$(dir))
.PHONY: firm
-firm: $(libfirm_so)
+firm: $(libfirm_dll)
# backends
backends = amd64 arm ia32 sparc TEMPLATE
@echo RANLIB $@
$(Q)$(RANLIB) $@
-$(libfirm_so): $(libfirm_OBJECTS)
+$(libfirm_dll): $(libfirm_OBJECTS)
@echo LINK $@
$(Q)$(LINK) -shared -o $@ $^