mirror of https://github.com/ArduPilot/ardupilot
Adjust the awk scanners to deal with the somewhat less featureful awk found on many Linux systems.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1365 f9c3cf11-9bcb-44bc-f272-b75c42450872
This commit is contained in:
parent
0b48a85ddf
commit
338c60bfb1
|
@ -167,6 +167,9 @@ SKETCHPDESRCS := $(wildcard $(SRCROOT)/*.pde)
|
||||||
SKETCHSRCS := $(wildcard $(addprefix $(SRCROOT)/,$(SRCSUFFIXES)))
|
SKETCHSRCS := $(wildcard $(addprefix $(SRCROOT)/,$(SRCSUFFIXES)))
|
||||||
SKETCHPDE := $(wildcard $(SRCROOT)/$(SKETCH).pde)
|
SKETCHPDE := $(wildcard $(SRCROOT)/$(SKETCH).pde)
|
||||||
SKETCHCPP := $(BUILDROOT)/$(SKETCH).cpp
|
SKETCHCPP := $(BUILDROOT)/$(SKETCH).cpp
|
||||||
|
ifeq ($(SKETCHPDE),)
|
||||||
|
$(error ERROR: sketch $(SKETCH) is missing $(SKETCH).pde)
|
||||||
|
endif
|
||||||
|
|
||||||
# Sketch object files
|
# Sketch object files
|
||||||
SKETCHOBJS := $(subst $(SRCROOT),$(BUILDROOT),$(SKETCHSRCS)) $(SKETCHCPP)
|
SKETCHOBJS := $(subst $(SRCROOT),$(BUILDROOT),$(SKETCHSRCS)) $(SKETCHCPP)
|
||||||
|
@ -441,10 +444,10 @@ define SKETCH_SPLITTER
|
||||||
(FNR == 1) && printing { \
|
(FNR == 1) && printing { \
|
||||||
printf "#line %d \"%s\"\n", FNR, FILENAME; \
|
printf "#line %d \"%s\"\n", FNR, FILENAME; \
|
||||||
} \
|
} \
|
||||||
/^[[:space:]]*\/\*/,/\*\// { \
|
/^[ \t\n\r]*\/\*/,/\*\// { \
|
||||||
toggles = 0; \
|
toggles = 0; \
|
||||||
} \
|
} \
|
||||||
/^[[:space:]]*$$/ || /^[[:space:]]*\/\/.*/ || /^\#.*$$/ { \
|
/^[ \t\n\r]*$$/ || /^[ \t\n\r]*\/\/.*/ || /^\#.*$$/ { \
|
||||||
toggles = 0; \
|
toggles = 0; \
|
||||||
} \
|
} \
|
||||||
scanning && toggles { \
|
scanning && toggles { \
|
||||||
|
@ -472,14 +475,23 @@ endef
|
||||||
# and backslashes are doubled in the partial patterns to satisfy
|
# and backslashes are doubled in the partial patterns to satisfy
|
||||||
# escaping rules.
|
# escaping rules.
|
||||||
#
|
#
|
||||||
|
# The space/alnum variables are used to work around the lack of the
|
||||||
|
# [:space:] and [:alnum:] classes in mawk, commonly found on Linux
|
||||||
|
# systems. We cheat and sneak _ into the class as well.
|
||||||
|
#
|
||||||
define SKETCH_PROTOTYPER
|
define SKETCH_PROTOTYPER
|
||||||
BEGIN { \
|
BEGIN { \
|
||||||
RS="{"; \
|
RS="{"; \
|
||||||
type = "((\\n)|(^))[[:space:]]*[[:alnum:]_]+[[:space:]]+"; \
|
space = "[ \\t\\n\\r]"; \
|
||||||
qualifiers = "([[:alnum:]_\\*&]+[[:space:]]*)*"; \
|
spaces = space "+"; \
|
||||||
name = "[[:alnum:]_]+[[:space:]]*"; \
|
spaceok = space "*"; \
|
||||||
args = "\\([[:space:][:alnum:]_,&\\*\\[\\]]*\\)"; \
|
alnum = "[0-9a-zA-Z_]"; \
|
||||||
bodycuddle = "[[:space:]]*$$"; \
|
alnums = alnum "+"; \
|
||||||
|
type = "((\\n)|(^))" spaceok alnums spaces; \
|
||||||
|
qualifiers = "([0-9a-zA-Z_\\*&]+" spaceok ")*"; \
|
||||||
|
name = alnums spaceok; \
|
||||||
|
args = "\\([ \\t\\n\\r0-9a-zA-Z_,&\\*\\[\\]]*\\)"; \
|
||||||
|
bodycuddle = "[ \\t\\n\\r]*$$"; \
|
||||||
pattern = type qualifiers name args bodycuddle; \
|
pattern = type qualifiers name args bodycuddle; \
|
||||||
} \
|
} \
|
||||||
match($$0, pattern) { \
|
match($$0, pattern) { \
|
||||||
|
|
Loading…
Reference in New Issue