From 4a6a7b566442cdb056806db25e63beab0f5de83d Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Thu, 23 Nov 2017 08:42:50 +0000 Subject: [PATCH] tools.mk: Add target expand-macros Add target expand-macros to tools.mk from within newly included cpp-extra-targets.mk Signed-off-by: Jan Lindemann --- make/cpp-extra-targets.mk | 4 ++ make/flex-bison.mk | 85 --------------------------------------- make/tools.mk | 1 + 3 files changed, 5 insertions(+), 85 deletions(-) create mode 100644 make/cpp-extra-targets.mk delete mode 100644 make/flex-bison.mk diff --git a/make/cpp-extra-targets.mk b/make/cpp-extra-targets.mk new file mode 100644 index 00000000..2b71502b --- /dev/null +++ b/make/cpp-extra-targets.mk @@ -0,0 +1,4 @@ +all: +expand-macros: + make 2>/dev/null | sed '/$(CC)\|$(CPP)/ !d; s/$(CC)\|$(CPP)//; s/-o .*//' | grep -v "Wl\|rdynamic" | xargs $(CPP) -E -C | indent + diff --git a/make/flex-bison.mk b/make/flex-bison.mk deleted file mode 100644 index fb634c2d..00000000 --- a/make/flex-bison.mk +++ /dev/null @@ -1,85 +0,0 @@ -FB_EXE ?= $(notdir $(shell pwd)) -FB_NAME ?= $(shell pwd | xargs dirname | sed 's/-/_/g') -FB_NAME_PREFIX ?= $(FB_NAME)_ -FB_SRC ?= $(wildcard *.y *.l) -FB_SRC_Y ?= $(filter %.y,$(FB_SRC)) -FB_SRC_L ?= $(filter %.l,$(FB_SRC)) -FB_FLEX_PREFIX ?= $(FB_NAME_PREFIX) -FB_HDRDIR ?= . -FB_OUT_EXT ?= c -FB_BISON_OUT_EXT ?= $(FB_OUT_EXT) -FB_FLEX_OUT_EXT ?= $(FB_OUT_EXT) -FB_CFLAGS ?= -D"FB_SYM(x)=$(FB_NAME_PREFIX)\#\#x" -FB_CPPFLAGS ?= -std=c++11 $(FB_CFLAGS) -FB_COMMON_H ?= -FB_FLEX_OUT_C = $(patsubst %.l,lex.%.$(FB_FLEX_OUT_EXT),$(FB_SRC_L)) -FB_FLEX_OUT_H = $(patsubst %.l,$(FB_HDRDIR)/lex.%.h,$(FB_SRC_L)) -FB_BISON_OUT_C ?= $(patsubst %.y,%.tab.$(FB_BISON_OUT_EXT),$(FB_SRC_Y)) -FB_BISON_OUT_H ?= $(patsubst %.y,$(FB_HDRDIR)/%.tab.h,$(FB_SRC_Y)) -FB_GENERATED_H += $(FB_FLEX_OUT_H) $(FB_BISON_OUT_H) $(FB_COMMON_H) -FB_GENERATED_C += $(FB_FLEX_OUT_C) $(FB_BISON_OUT_C) -FB_GENERATED_C_H += $(FB_GENERATED_C) $(FB_GENERATED_H) -FB_SRC_C += $(FB_GENERATED_C) $(filter-out $(FB_GENERATED_C),$(wildcard *.c) $(wildcard *.cpp)) -FB_OBJ = $(patsubst %.cpp,%.o,$(patsubst %.c,%.o,$(FB_SRC_C))) -FB_BISON_OPTS ?= --name-prefix=$(FB_NAME_PREFIX) -FB_BISON_EXTRA_OPTS ?= -FB_FLEX_OPTS ?= --prefix=$(FB_FLEX_PREFIX) -FB_FLEX_EXTRA_OPTS ?= -ifneq ($(filter cpp,$(FB_BISON_OUT_EXT) $(FB_FLEX_OUT_EXT)),) - FB_CPPFLAGS += -Wno-sign-compare -endif - -ifeq ($(FB_CASE_INSENSITIVE),true) - FB_FLEX_OPTS += -i -endif - -# serving tools.mk and friends -SRC_ALL_CPP += $(FB_GENERATED_C) -OBJ += $(FB_OBJ) -LOCAL_CFLAGS += $(FB_CFLAGS) -LOCAL_CPPFLAGS += $(FB_CPPFLAGS) -LOCAL_LDFLAGS += -lfl - -.PRECIOUS: lex.%.c %.tab.$(BISON_OUT_EXT) - -all: -install: -clean: clean.flex-bison -distclean: clean - -exe: $(FB_EXE) - -include $(MODDIR)/make/depend.mk - -$(DEPEND_MK): $(FB_GENERATED_C_H) - -%.tab.$(FB_BISON_OUT_EXT) $(FB_HDRDIR)/%.tab.h: %.y $(FB_COMMON_H) - bison \ - --report=state,solved \ - --defines=$(patsubst %.tab.$(FB_BISON_OUT_EXT),$(FB_HDRDIR)/%.tab.h,$@) \ - --report-file=$(patsubst %.tab.$(FB_BISON_OUT_EXT),report-%.tab.txt,$@) \ - --xml=$(patsubst %.tab.$(FB_BISON_OUT_EXT),report-%.tab.xml,$@) \ - --graph=$(patsubst %.tab.$(FB_BISON_OUT_EXT),graph-%.tab.txt,$@) \ - $(FB_BISON_OPTS) $(FB_BISON_EXTRA_OPTS) -v -t $< -o $@ - -lex.%.$(FB_FLEX_OUT_EXT) $(FB_HDRDIR)/lex.%.h: %.l $(FB_COMMON_H) - flex -i --header-file=$(FB_HDRDIR)/lex.$*.h $(FB_FLEX_OPTS) $(FB_FLEX_EXTRA_OPTS) -o $@ $< - -%.tab.o: lex.%.o - -#%.o: %.c -# gcc -D"FB_SYM(x)=$(FB_NAME_PREFIX)##x" $(FB_CFLAGS) -c $< -# -#%.o: %.cpp -# gcc -D"FB_SYM(x)=$(FB_NAME_PREFIX)##x" $(FB_CFLAGS) $(FB_CPPFLAGS) -c $< - -#$(FB_EXE): $(FB_OBJ) -# g++ -g -o $(FB_EXE) $^ -lfl - -clean.flex-bison: - $(RM) -f $(FB_GENERATED_C) $(FB_HDRDIR)/*.tab.h $(FB_HDRDIR)/lex.*.h *.output $(FB_EXE) *.tmp $(FB_OBJ) *.rep $(FB_HDRDIR)/*.rep - $(RM) -f graph-*.txt report-*.xml report-*.txt -echo-vars: echo-vars-flex-bison - -echo-vars-flex-bison: - @echo FB_GENERATED_C_H = $(FB_GENERATED_C_H) diff --git a/make/tools.mk b/make/tools.mk index f53b4814..e341e7b3 100644 --- a/make/tools.mk +++ b/make/tools.mk @@ -5,6 +5,7 @@ include $(MODDIR)/make/defs.mk include $(MODDIR)/make/targets-tools.mk +include $(MODDIR)/make/cpp-extra-targets.mk include $(MODDIR)/make/depend.mk include $(MODDIR)/make/backup.mk