-GOAL = $(BUILDDIR)/cparser
-
-BUILDDIR ?= build
-
-FIRM_CFLAGS ?= `pkg-config --cflags libfirm`
-FIRM_LIBS ?= `pkg-config --libs libfirm`
+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