-FIRM_HOME = libfirm
-FIRM_CPPFLAGS = -I$(FIRM_HOME)/include
-FIRM_LIBS = -lm
-LIBFIRM_FILE = $(BUILDDIR)/$(variant)/libfirm.a
-FIRM_VERSION = 1.19.1
-FIRM_URL = http://downloads.sourceforge.net/project/libfirm/libfirm/$(FIRM_VERSION)/libfirm-$(FIRM_VERSION).tar.bz2?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Flibfirm%2Ffiles%2Flibfirm%2F&ts=1299786346&use_mirror=ignum
+# Use libfirm subdir if it exists, otherwise use pkg-config
+ifneq ("$(wildcard libfirm)", "")
+FIRM_HOME ?= libfirm
+FIRM_CPPFLAGS ?= -I$(FIRM_HOME)/include
+FIRM_LIBS ?= -lm
+LIBFIRM_FILE_BASE ?= build/$(variant)/libfirm.a
+LIBFIRM_FILE ?= $(FIRM_HOME)/$(LIBFIRM_FILE_BASE)
+else
+FIRM_CPPFLAGS ?= `pkg-config --cflags libfirm`
+FIRM_LIBS ?= `pkg-config --libs libfirm`
+LIBFIRM_FILE =
+endif