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 *.h kconfig/*.h gcc -c $(CFLAGS) -o $@ $< %.o: %.cc *.h kconfig/*.h 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