Handle unoptimized end block smoothly.
[libfirm] / Makefile
index d17d8a7..8277cf3 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -22,6 +22,7 @@ CC ?= cc
 LINK ?= $(CC)
 AR ?= ar ru
 RANLIB ?= ranlib
+DLLEXT ?= .so
 
 # Variants
 CFLAGS_debug      = -O0 -g3 -DDEBUG_libfirm
@@ -38,6 +39,11 @@ VPATH = $(srcdir)
 .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 $@
@@ -70,11 +76,11 @@ libfirm_DIRS := \
        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
@@ -163,7 +169,7 @@ $(libfirm_a): $(libfirm_OBJECTS)
        @echo RANLIB $@
        $(Q)$(RANLIB) $@
 
-$(libfirm_so): $(libfirm_OBJECTS)
+$(libfirm_dll): $(libfirm_OBJECTS)
        @echo LINK $@
        $(Q)$(LINK) -shared -o $@ $^