-GOAL = $(BUILDDIR)/cparser
-
-BUILDDIR ?= build
-variant ?= debug# Different libfirm variants (debug, optimize, profile)
-
-FIRM_HOME = libfirm
-FIRM_CPPFLAGS = -I$(FIRM_HOME)/include
-FIRM_LIBS = -lm
-LIBFIRM_FILE = build/$(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
+# include user-defined makefile settings
+-include config.mak
+
+top_srcdir ?=
+top_builddir ?= build
+
+variant ?= debug# Different libfirm variants (debug, optimize, profile, coverage)
+srcdir ?= $(top_srcdir)
+builddir ?= $(top_builddir)/$(variant)
+
+#VPATH = $(srcdir)
+
+# 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