make: Fix basic regex for portability (Alioth: #314345)
This commit is contained in:
parent
2da4ee9ad5
commit
3ac523f57e
@ -20,9 +20,9 @@ function _make_target_extract_script()
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
/^# Make data base/,/^# Files/d # skip until files section
|
/^# Make data base/,/^# Files/d; # skip until files section
|
||||||
/^# Not a target/,/^$/ d # skip not target blocks
|
/^# Not a target/,/^$/ d; # skip not target blocks
|
||||||
/^${prefix_pat}/,/^$/! d # skip anything user dont want
|
/^${prefix_pat}/,/^$/! d; # skip anything user dont want
|
||||||
|
|
||||||
# The stuff above here describes lines that are not
|
# The stuff above here describes lines that are not
|
||||||
# explicit targets or not targets other than special ones
|
# explicit targets or not targets other than special ones
|
||||||
@ -30,41 +30,42 @@ function _make_target_extract_script()
|
|||||||
# should be output.
|
# should be output.
|
||||||
|
|
||||||
/^# File is an intermediate prerequisite/ {
|
/^# File is an intermediate prerequisite/ {
|
||||||
s/^.*$//;x # unhold target
|
s/^.*$//;x; # unhold target
|
||||||
d # delete line
|
d; # delete line
|
||||||
}
|
}
|
||||||
|
|
||||||
/^$/ { # end of target block
|
/^$/ { # end of target block
|
||||||
x # unhold target
|
x; # unhold target
|
||||||
/^$/d # dont print blanks
|
/^$/d; # dont print blanks
|
||||||
s|^\(.\{${dirname_len}\}\)\(.\{${#basename}\}[^:/]*/\{0,1\}\)[^:]*:.*$|${output}|p
|
s|^\(.\{${dirname_len}\}\)\(.\{${#basename}\}[^:/]*/\{0,1\}\)[^:]*:.*$|${output}|p;
|
||||||
d # hide any bugs
|
d; # hide any bugs
|
||||||
}
|
}
|
||||||
|
|
||||||
/^[^#\t:%]\{1,\}:/ { # found target block
|
# This pattern includes a literal tab character as \t is not a portable
|
||||||
|
# representation and fails with BSD sed
|
||||||
|
/^[^# :%]\{1,\}:/ { # found target block
|
||||||
|
/^\.PHONY:/ d; # special target
|
||||||
|
/^\.SUFFIXES:/ d; # special target
|
||||||
|
/^\.DEFAULT:/ d; # special target
|
||||||
|
/^\.PRECIOUS:/ d; # special target
|
||||||
|
/^\.INTERMEDIATE:/ d; # special target
|
||||||
|
/^\.SECONDARY:/ d; # special target
|
||||||
|
/^\.SECONDEXPANSION:/ d; # special target
|
||||||
|
/^\.DELETE_ON_ERROR:/ d; # special target
|
||||||
|
/^\.IGNORE:/ d; # special target
|
||||||
|
/^\.LOW_RESOLUTION_TIME:/ d; # special target
|
||||||
|
/^\.SILENT:/ d; # special target
|
||||||
|
/^\.EXPORT_ALL_VARIABLES:/ d; # special target
|
||||||
|
/^\.NOTPARALLEL:/ d; # special target
|
||||||
|
/^\.ONESHELL:/ d; # special target
|
||||||
|
/^\.POSIX:/ d; # special target
|
||||||
|
/^\.NOEXPORT:/ d; # special target
|
||||||
|
/^\.MAKE:/ d; # special target
|
||||||
|
|
||||||
/^\.PHONY:/ d # special target
|
/^[^a-zA-Z0-9]/ d; # convention for hidden tgt
|
||||||
/^\.SUFFIXES:/ d # special target
|
|
||||||
/^\.DEFAULT:/ d # special target
|
|
||||||
/^\.PRECIOUS:/ d # special target
|
|
||||||
/^\.INTERMEDIATE:/ d # special target
|
|
||||||
/^\.SECONDARY:/ d # special target
|
|
||||||
/^\.SECONDEXPANSION:/ d # special target
|
|
||||||
/^\.DELETE_ON_ERROR:/ d # special target
|
|
||||||
/^\.IGNORE:/ d # special target
|
|
||||||
/^\.LOW_RESOLUTION_TIME:/ d # special target
|
|
||||||
/^\.SILENT:/ d # special target
|
|
||||||
/^\.EXPORT_ALL_VARIABLES:/ d # special target
|
|
||||||
/^\.NOTPARALLEL:/ d # special target
|
|
||||||
/^\.ONESHELL:/ d # special target
|
|
||||||
/^\.POSIX:/ d # special target
|
|
||||||
/^\.NOEXPORT:/ d # special target
|
|
||||||
/^\.MAKE:/ d # special target
|
|
||||||
|
|
||||||
/^[^a-zA-Z0-9]/ d # convention for hidden tgt
|
h; # hold target
|
||||||
|
d; # delete line
|
||||||
h # hold target
|
|
||||||
d # delete line
|
|
||||||
}
|
}
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
Loading…
x
Reference in New Issue
Block a user