[Buildroot] [PATCH 1/1] .mk files: bulk aligment and whitespace cleanup of assignments
Peter Korsgaard
jacmet at uclibc.org
Tue Oct 7 13:01:56 UTC 2014
>>>>> "Thomas" == Thomas De Schampheleire <patrickdepinguin at gmail.com> writes:
> From: Thomas De Schampheleire <thomas.de.schampheleire at gmail.com>
> The Buildroot coding style defines one space around make assignments and
> does not align the assignment symbols.
> This patch does a bulk fix of offending packages. The package
> infrastructures (or more in general assignments to calculated variable
> names, like $(2)_FOO) are not touched.
> Alignment of line continuation characters (\) is kept as-is.
> The sed command used to do this replacement is:
> find * -name "*.mk" | xargs sed -i \
> -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*$#\1 \2#'
> -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*\([^\\]\+\)$#\1 \2 \3#'
> -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*\([^\\ \t]\+\s*\\\)\s*$#\1 \2 \3#'
> -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\(\s*\\\)#\1 \2\3#'
> Brief explanation of this command:
> ^\([A-Z0-9a-z_]\+\) a regular variable at the beginning of the line
> \([?:+]\?=\) any assignment character =, :=, ?=, +=
> \([^\\]\+\) any string not containing a line continuation
> \([^\\ \t]\+\s*\\\) string, optional whitespace, followed by a
> line continuation character
> \(\s*\\\) optional whitespace, followed by a line
> continuation character
> Hence, the first subexpression handles empty assignments, the second
> handles regular assignments, the third handles regular assignments with
> line continuation, and the fourth empty assignments with line
> continuation.
> This expression was tested on following test text: (initial tab not
> included)
> FOO = spaces before
> FOO = spaces before and after
> FOO = tab before
> FOO = tab and spaces before
> FOO = tab after
> FOO = tab and spaces after
> FOO = spaces and tab after
> FOO = \
> FOO = bar \
> FOO = bar space \
> FOO = \
> GENIMAGE_DEPENDENCIES = host-pkgconf libconfuse
> FOO += spaces before
> FOO ?= spaces before and after
> FOO :=
> FOO =
> FOO =
> FOO =
> FOO =
> $(MAKE1) CROSS_COMPILE=$(TARGET_CROSS) -C
> AT91BOOTSTRAP3_DEFCONFIG = \
> AXEL_DISABLE_I18N=--i18n=0
> After this bulk change, following manual fixups were done:
> - fix line continuation alignment in cegui06 and spice (the sed
> expression leaves the number of whitespace between the value and line
> continuation character intact, but the whitespace before that could have
> changed, causing misalignment.
> - qt5base was reverted, as this package uses extensive alignment which
> actually makes the code more readable.
> Finally, the end result was manually reviewed.
Committed, thanks. I verified with git diff -w that it only contains
white space changes.
--
Bye, Peter Korsgaard
More information about the buildroot
mailing list