Created GNUmakefile and added coding style checker

This commit is contained in:
Lucian Popescu 2021-03-13 10:40:38 +02:00
parent e2812ec765
commit ac80889190
3 changed files with 7463 additions and 0 deletions

28
GNUmakefile Normal file
View File

@ -0,0 +1,28 @@
OUTPUT=so-cpp
SOURCES=$(wildcard *.c)
LIBRARY=none
INCPATHS=include
LIBPATHS=
LDFLAGS=
CCFLAGS=-c -Wall -g -Wextra -Werror
CC=gcc
CODING_STYLE_CHECKER=checkpatch_wrapper.sh
OBJECTS=$(SOURCES:.c=.o)
INCFLAGS=$(foreach TMP,$(INCPATHS),-I$(TMP))
LIBFLAGS=$(foreach TMP,$(LIBPATHS),-L$(TMP))
all: $(SOURCES) $(OUTPUT)
coding_style:
./$(CODING_STYLE_CHECKER) $(SOURCES) $(INCPATHS)/*
$(OUTPUT): $(OBJECTS)
$(CC) $(LIBFLAGS) $(OBJECTS) $(LDFLAGS) -o $@
.c.o:
$(CC) $(INCFLAGS) $(CCFLAGS) -fPIC $< -o $@
clean:
rm -f $(OUTPUT) $(OBJECTS)

7406
checkpatch.pl Normal file

File diff suppressed because it is too large Load Diff

29
checkpatch_wrapper.sh Executable file
View File

@ -0,0 +1,29 @@
#!/bin/bash
CHECKPATCH=$(which checkpatch.pl 2> /dev/null)
if [ -z "$CHECKPATCH" ]; then
echo "checkpatch.pl (https://raw.githubusercontent.com/torvalds/linux/master/scripts/checkpatch.pl) not in \$PATH"
exit 1
fi
COMMON_IGNORE_FLAGS=SPLIT_STRING,SSCANF_TO_KSTRTO,NEW_TYPEDEFS,VOLATILE,INLINE,USE_FUNC,AVOID_EXTERNS,CONST_STRUCT
LIN_IGNORE_FLAGS=$COMMON_IGNORE_FLAGS
WIN_IGNORE_FLAGS=$COMMON_IGNORE_FLAGS,DOS_LINE_ENDINGS
if [ $(uname -s) = "Linux" ]; then
IGNORE_FLAGS=$LIN_IGNORE_FLAGS
else
IGNORE_FLAGS=$WIN_IGNORE_FLAGS
fi
CHECKPATCH_ARGS="--no-tree --no-summary --terse --show-types
--ignore $IGNORE_FLAGS"
if [ $# -eq 1 ]; then
$CHECKPATCH $CHECKPATCH_ARGS -f $1
else
find . -type f -iregex '.*\.\(c\|h\|cpp\|hpp\|cc\|hh\|cxx\|hxx\)' | \
xargs $CHECKPATCH $CHECKPATCH_ARGS -f
fi