mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-20 10:12:06 +00:00
Add checkpatch.pl config file and Makefile targets
This is used to verify the coding style of patches. Signed-off-by: Antonio Niño Díaz <antonio_nd@outlook.com>
This commit is contained in:
63
.checkpatch.conf
Normal file
63
.checkpatch.conf
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
# Configuration for checkpatch.pl
|
||||||
|
# ===============================
|
||||||
|
|
||||||
|
# Enable more tests
|
||||||
|
--strict
|
||||||
|
|
||||||
|
# Quiet
|
||||||
|
--quiet
|
||||||
|
|
||||||
|
# No per-file summary
|
||||||
|
--no-summary
|
||||||
|
|
||||||
|
# Don't expect the Linux kernel tree
|
||||||
|
--no-tree
|
||||||
|
|
||||||
|
# Show file line, not input line
|
||||||
|
--showfile
|
||||||
|
|
||||||
|
# List of ignored rules
|
||||||
|
# ---------------------
|
||||||
|
|
||||||
|
# Allow the usage of 'extern' in .c files
|
||||||
|
--ignore AVOID_EXTERNS
|
||||||
|
|
||||||
|
# There's no BIT macro
|
||||||
|
--ignore BIT_MACRO
|
||||||
|
|
||||||
|
# Allow CamelCase
|
||||||
|
--ignore CAMELCASE
|
||||||
|
|
||||||
|
# Comparing to NULL explicitly isn't a bad thing
|
||||||
|
--ignore COMPARISON_TO_NULL
|
||||||
|
|
||||||
|
# Causes false positives
|
||||||
|
--ignore COMPLEX_MACRO
|
||||||
|
|
||||||
|
# Don't complain about structs not being const
|
||||||
|
--ignore CONST_STRUCT
|
||||||
|
|
||||||
|
# Do not check the format of commit messages
|
||||||
|
--ignore GIT_COMMIT_ID
|
||||||
|
|
||||||
|
# We don't have a MAINTAINERS file, don't complain about it.
|
||||||
|
--ignore FILE_PATH_CHANGES
|
||||||
|
|
||||||
|
# Writing the continuation on the start of the line can make it clearer
|
||||||
|
--ignore LOGICAL_CONTINUATIONS
|
||||||
|
|
||||||
|
# Don't complain if a line that contains a string is too long. It's better to
|
||||||
|
# have a really long line that can be found with grep.
|
||||||
|
--ignore LONG_LINE_STRING
|
||||||
|
|
||||||
|
# Allow new typedefs
|
||||||
|
--ignore NEW_TYPEDEFS
|
||||||
|
|
||||||
|
# Prefer stdint.h types over kernel types
|
||||||
|
--ignore PREFER_KERNEL_TYPES
|
||||||
|
|
||||||
|
# Parentheses can make the code clearer
|
||||||
|
--ignore UNNECESSARY_PARENTHESES
|
||||||
|
|
||||||
|
# Don't complain when files are modified in 'include/asm'
|
||||||
|
--ignore MODIFIED_INCLUDE_ASM
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -5,3 +5,4 @@ rgbgfx
|
|||||||
*.o
|
*.o
|
||||||
*.exe
|
*.exe
|
||||||
*.html
|
*.html
|
||||||
|
.checkpatch-camelcase.*
|
||||||
|
|||||||
20
Makefile
20
Makefile
@@ -7,6 +7,7 @@ mandir := ${PREFIX}/man
|
|||||||
STRIP := -s
|
STRIP := -s
|
||||||
BINMODE := 555
|
BINMODE := 555
|
||||||
MANMODE := 444
|
MANMODE := 444
|
||||||
|
CHECKPATCH := ../linux/scripts/checkpatch.pl
|
||||||
|
|
||||||
# Other variables
|
# Other variables
|
||||||
|
|
||||||
@@ -144,6 +145,25 @@ install: all
|
|||||||
$Qinstall -m ${MANMODE} src/link/rgblink.5 ${DESTDIR}${mandir}/man5/rgblink.5
|
$Qinstall -m ${MANMODE} src/link/rgblink.5 ${DESTDIR}${mandir}/man5/rgblink.5
|
||||||
$Qinstall -m ${MANMODE} src/gfx/rgbgfx.1 ${DESTDIR}${mandir}/man1/rgbgfx.1
|
$Qinstall -m ${MANMODE} src/gfx/rgbgfx.1 ${DESTDIR}${mandir}/man1/rgbgfx.1
|
||||||
|
|
||||||
|
# Target used to check the coding style of the whole codebase. '.y' and '.l'
|
||||||
|
# files aren't checked, unfortunately...
|
||||||
|
checkcodebase:
|
||||||
|
$Qfor file in `git ls-files | grep -E '\.c|\.h'`; do \
|
||||||
|
${CHECKPATCH} -f "$$file"; \
|
||||||
|
done
|
||||||
|
|
||||||
|
# Target used to check the coding style of the patches from the upstream branch
|
||||||
|
# to the HEAD. Runs checkpatch once for each commit between the current HEAD and
|
||||||
|
# the first common commit between the HEAD and origin/develop. '.y' and '.l'
|
||||||
|
# files aren't checked, unfortunately...
|
||||||
|
checkpatch:
|
||||||
|
$Qeval COMMON_COMMIT=$$(git merge-base HEAD origin/develop); \
|
||||||
|
for commit in `git rev-list $$COMMON_COMMIT..HEAD`; do \
|
||||||
|
echo "[*] Analyzing commit "$$commit"" && \
|
||||||
|
git format-patch --stdout "$$commit~..$$commit" \
|
||||||
|
| ${CHECKPATCH} - || true;\
|
||||||
|
done
|
||||||
|
|
||||||
# Target for the project maintainer to easily create web manuals.
|
# Target for the project maintainer to easily create web manuals.
|
||||||
# It relies on mandoc: http://mdocml.bsd.lv
|
# It relies on mandoc: http://mdocml.bsd.lv
|
||||||
|
|
||||||
|
|||||||
@@ -123,9 +123,11 @@ This is the complete list of user-defined variables:
|
|||||||
|
|
||||||
- `PREFIX`: Location where RGBDS will be installed. Defaults to `/usr/local`.
|
- `PREFIX`: Location where RGBDS will be installed. Defaults to `/usr/local`.
|
||||||
|
|
||||||
- `bindir`: Location where the binaries will be installed. Defaults to `${PREFIX}/bin`.
|
- `bindir`: Location where the binaries will be installed. Defaults to
|
||||||
|
`${PREFIX}/bin`.
|
||||||
|
|
||||||
- `mandir`: Location where the manpages will be installed. Defaults to `${PREFIX}/man`.
|
- `mandir`: Location where the manpages will be installed. Defaults to
|
||||||
|
`${PREFIX}/man`.
|
||||||
|
|
||||||
- `DESTDIR`: This is prepended to all paths during the installation. It is
|
- `DESTDIR`: This is prepended to all paths during the installation. It is
|
||||||
mainly used for packaging.
|
mainly used for packaging.
|
||||||
@@ -140,6 +142,9 @@ This is the complete list of user-defined variables:
|
|||||||
|
|
||||||
- `MANMODE`: Permissions of the installed manpages. Defaults to `444`.
|
- `MANMODE`: Permissions of the installed manpages. Defaults to `444`.
|
||||||
|
|
||||||
|
- `CHECKPATCH`: Path of the script `checkpatch.pl` of the Linux kernel. Defaults
|
||||||
|
to `../linux/scripts/checkpatch.pl`.
|
||||||
|
|
||||||
## 3 History
|
## 3 History
|
||||||
|
|
||||||
- Around 1997, Carsten Sorensen (AKA SurfSmurf) writes ASMotor as a
|
- Around 1997, Carsten Sorensen (AKA SurfSmurf) writes ASMotor as a
|
||||||
|
|||||||
Reference in New Issue
Block a user