aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.clang-format31
-rw-r--r--Makefile2
2 files changed, 32 insertions, 1 deletions
diff --git a/.clang-format b/.clang-format
new file mode 100644
index 0000000..60c2f59
--- /dev/null
+++ b/.clang-format
@@ -0,0 +1,31 @@
+# clang-format is fairly limited, and these rules are approximate:
+# - array initializers can get terribly mangled with clang-format 12.0,
+# - sometimes it still aligns with space characters,
+# - struct name NL { NL ... NL } NL name; is unachievable.
+BasedOnStyle: GNU
+ColumnLimit: 80
+IndentWidth: 4
+TabWidth: 4
+UseTab: ForContinuationAndIndentation
+BreakBeforeBraces: Allman
+SpaceAfterCStyleCast: true
+AlignAfterOpenBracket: DontAlign
+AlignOperands: DontAlign
+AlignConsecutiveMacros: Consecutive
+AllowAllArgumentsOnNextLine: false
+AllowAllParametersOfDeclarationOnNextLine: false
+AllowShortCaseLabelsOnASingleLine: true
+AllowShortEnumsOnASingleLine: true
+IndentGotoLabels: false
+
+# IncludeCategories has some potential, but it may also break the build.
+# Note that the documentation says the value should be "Never".
+SortIncludes: false
+
+# This is a compromise, it generally works out aesthetically better.
+BinPackArguments: false
+
+# Unfortunately, this can't be told to align to column 40 or so.
+SpacesBeforeTrailingComments: 2
+
+StatementMacros: ['CODE', 'DB', 'DW', 'DD', 'DQ']
diff --git a/Makefile b/Makefile
index d25311c..a7ff775 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-# All we need is C99 and POSIX, which this should make available
+# All we need is C99 and POSIX.1-2001, which this should make available
CFLAGS = -std=gnu99
NAMES = bfc-amd64-linux bfc-amd64-openbsd