diff options
Diffstat (limited to 'maint.mk')
-rw-r--r-- | maint.mk | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/maint.mk b/maint.mk new file mode 100644 index 0000000..b5ae6d7 --- /dev/null +++ b/maint.mk @@ -0,0 +1,52 @@ +# -*-Makefile-*- +# This Makefile fragment is intended to be useful by any GNU-like project. +# This file originate from coreutils, CPPI, Bison, and Autoconf. + +## Copyright (C) 2001-2006 Free Software Foundation, Inc. +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2, or (at your option) +## any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +## 02110-1301, USA. + +ME := maint.mk + +# List of all C-like source code files that will be tested for +# stylistic "errors". You may want to define this to something +# more complex in Makefile.cfg. +C_SOURCES ?= $(shell find . -name '*.[chly]') + +# Add some more files to check, typically set in Makefile.cfg. +C_SOURCES += $(C_SOURCES_ADD) + +# Do not save the original name or timestamp in the .tar.gz file. +# Use --rsyncable if available. +gzip_rsyncable := \ + $(shell gzip --help|grep rsyncable >/dev/null && echo --rsyncable) +GZIP_ENV = '--no-name --best $(gzip_rsyncable)' + +# Prevent programs like 'sort' from considering distinct strings to be equal. +# Doing it here saves us from having to set LC_ALL elsewhere in this file. +export LC_ALL = C + +# Casting arguments to free is never necessary. +sc_cast_of_argument_to_free: + @grep -nE '\<free *\( *\(' $(C_SOURCES) && \ + { echo '$(ME): don'\''t cast free argument' 1>&2; \ + exit 1; } || : + +# Collect the names of rules starting with `sc_'. +syntax-check-rules := $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' $(ME)) +.PHONY: $(syntax-check-rules) + +syntax-check: $(syntax-check-rules) |