]> rtime.felk.cvut.cz Git - linux-conf-perf.git/blobdiff - kconfig2sat/Makefile
Add skeleton for kconfig2sat tool
[linux-conf-perf.git] / kconfig2sat / Makefile
diff --git a/kconfig2sat/Makefile b/kconfig2sat/Makefile
new file mode 100644 (file)
index 0000000..5eb6871
--- /dev/null
@@ -0,0 +1,38 @@
+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