--- /dev/null
+MAKEFLAGS += --no-builtin-rules
+
+.PHONY: all clean
+.SUFFIXES:
+
+all: kconfig2sat
+
+SRC = kconfig2sat.cc lcp_utils.c kconfig/zconf.tab.c
+
+CFLAGS = -Wall -O2 -ggdb -DDEBUG
+CXXFLAGS = -std=c++11
+
+OBJ_C = $(patsubst %.c,%.o,$(filter %.c,$(SRC)))
+OBJ_CC = $(patsubst %.cc,%.o,$(filter %.cc,$(SRC)))
+
+
+kconfig2sat: $(OBJ_CC) $(OBJ_C)
+ g++ $(CXXFLAGS) $(CFLAGS) -o $@ $^
+
+%.o: %.c
+ gcc -c $(CFLAGS) -o $@ $^
+
+%.o: %.cc
+ g++ -c $(CXXFLAGS) $(CFLAGS) -o $@ $^
+
+%.hash.c: %.gperf
+ gperf -t --output-file $@ -a -C -E -g -k '1,3,$$' -p -t $<
+
+%.lex.c: %.l
+ flex -o $@ -L -P zconf $<
+
+kconfig/zconf.tab.c: kconfig/zconf.lex.c kconfig/zconf.hash.c
+%.tab.c: %.y
+ bison -o $@ $< -p zconf -t -l
+
+clean::
+ $(RM) kconfig2sat $(OBJ)
+ $(RM) kconfig/zconf.tab.c kconfig/zconf.lex.c kconfig/zconf.hash.c