mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 12:03:31 +01:00
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 <jan@janware.com>
This commit is contained in:
parent
7fc3f6d179
commit
4a6a7b5664
3 changed files with 5 additions and 85 deletions
4
make/cpp-extra-targets.mk
Normal file
4
make/cpp-extra-targets.mk
Normal file
|
|
@ -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
|
||||
|
||||
|
|
@ -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)
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue