summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Josefsson <simon@josefsson.org>2006-02-14 14:26:18 +0000
committerSimon Josefsson <simon@josefsson.org>2006-02-14 14:26:18 +0000
commit84debef8c277df6e8c89a0008b199205aed61263 (patch)
treead93334ca0386b52a8fe8ce0653059a0dcb05648
parente370ea93bf44aa7f03cbfeb61d7d152786159be5 (diff)
downloadgnutls-84debef8c277df6e8c89a0008b199205aed61263.tar.gz
Add maintainer-makefile module.
-rw-r--r--GNUmakefile61
-rw-r--r--gl/Makefile.am2
-rw-r--r--gl/m4/gnulib-cache.m44
-rw-r--r--gl/m4/gnulib-comp.m42
-rw-r--r--maint-cfg.mk32
-rw-r--r--maint.mk44
6 files changed, 142 insertions, 3 deletions
diff --git a/GNUmakefile b/GNUmakefile
new file mode 100644
index 0000000000..c9fad2d371
--- /dev/null
+++ b/GNUmakefile
@@ -0,0 +1,61 @@
+# Having a separate GNUmakefile lets me `include' the dynamically
+# generated rules created via Makefile.maint as well as Makefile.maint itself.
+# This makefile is used only if you run GNU Make.
+# It is necessary if you want to build targets usually of interest
+# only to the maintainer.
+
+# Copyright (C) 2001, 2003, 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 of the License, 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.
+
+# Systems where /bin/sh is not the default shell need this. The $(shell)
+# command below won't work with e.g. stock DOS/Windows shells.
+ifeq ($(wildcard /bin/s[h]),/bin/sh)
+SHELL = /bin/sh
+else
+# will be used only with the next shell-test line, then overwritten
+# by a configured-in value
+SHELL = sh
+endif
+
+# Make tar archive easier to reproduce.
+export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner
+
+# Ran autoreconf and configure or not?
+have-Makefile := $(shell test -f Makefile && echo yes)
+ifeq ($(have-Makefile),yes)
+
+include Makefile
+-include $(srcdir)/maint-cfg.mk
+include $(srcdir)/maint.mk
+
+else
+
+.DEFAULT_GOAL := abort-due-to-no-makefile
+
+-include ./maint-cfg.mk
+include ./maint.mk
+
+abort-due-to-no-makefile:
+ @echo There seems to be no Makefile in this directory. 1>&2
+ @echo "You must run ./configure before running \`make'." 1>&2
+ @exit 1
+
+endif
+
+# Tell version 3.79 and up of GNU make to not build goals in this
+# directory in parallel. This is necessary in case someone tries to
+# build multiple targets on one command line.
+.NOTPARALLEL:
diff --git a/gl/Makefile.am b/gl/Makefile.am
index 0ef215aad3..d01552e416 100644
--- a/gl/Makefile.am
+++ b/gl/Makefile.am
@@ -8,7 +8,7 @@
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=gl --m4-base=gl/m4 --aux-dir=. --lgpl --libtool --macro-prefix=gl gc gc-arcfour gc-arctwo gc-des gc-hmac-md5 gc-md2 gc-md4 gc-md5 gc-pbkdf2-sha1 gc-rijndael gc-sha1 getline getpass inet_ntop memmem memmove minmax readline snprintf socklen stdint
+# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=gl --m4-base=gl/m4 --aux-dir=. --lgpl --libtool --macro-prefix=gl gc gc-arcfour gc-arctwo gc-des gc-hmac-md5 gc-md2 gc-md4 gc-md5 gc-pbkdf2-sha1 gc-rijndael gc-sha1 getline getpass inet_ntop maintainer-makefile memmem memmove minmax readline snprintf socklen stdint
AUTOMAKE_OPTIONS = 1.5 gnits no-dependencies
diff --git a/gl/m4/gnulib-cache.m4 b/gl/m4/gnulib-cache.m4
index c51f658c59..fcf312d12c 100644
--- a/gl/m4/gnulib-cache.m4
+++ b/gl/m4/gnulib-cache.m4
@@ -14,10 +14,10 @@
# Specification in the form of a command-line invocation:
-# gnulib-tool --import --dir=. --lib=libgnu --source-base=gl --m4-base=gl/m4 --aux-dir=. --lgpl --libtool --macro-prefix=gl gc gc-arcfour gc-arctwo gc-des gc-hmac-md5 gc-md2 gc-md4 gc-md5 gc-pbkdf2-sha1 gc-rijndael gc-sha1 getline getpass inet_ntop memmem memmove minmax readline snprintf socklen stdint
+# gnulib-tool --import --dir=. --lib=libgnu --source-base=gl --m4-base=gl/m4 --aux-dir=. --lgpl --libtool --macro-prefix=gl gc gc-arcfour gc-arctwo gc-des gc-hmac-md5 gc-md2 gc-md4 gc-md5 gc-pbkdf2-sha1 gc-rijndael gc-sha1 getline getpass inet_ntop maintainer-makefile memmem memmove minmax readline snprintf socklen stdint
# Specification in the form of a few gnulib-tool.m4 macro invocations:
-gl_MODULES([gc gc-arcfour gc-arctwo gc-des gc-hmac-md5 gc-md2 gc-md4 gc-md5 gc-pbkdf2-sha1 gc-rijndael gc-sha1 getline getpass inet_ntop memmem memmove minmax readline snprintf socklen stdint])
+gl_MODULES([gc gc-arcfour gc-arctwo gc-des gc-hmac-md5 gc-md2 gc-md4 gc-md5 gc-pbkdf2-sha1 gc-rijndael gc-sha1 getline getpass inet_ntop maintainer-makefile memmem memmove minmax readline snprintf socklen stdint])
gl_AVOID([])
gl_SOURCE_BASE([gl])
gl_M4_BASE([gl/m4])
diff --git a/gl/m4/gnulib-comp.m4 b/gl/m4/gnulib-comp.m4
index b8a4b16d49..2003a2c1fc 100644
--- a/gl/m4/gnulib-comp.m4
+++ b/gl/m4/gnulib-comp.m4
@@ -63,7 +63,9 @@ AC_DEFUN([gl_INIT],
# This macro records the list of files which have been installed by
# gnulib-tool and may be removed by future gnulib-tool invocations.
AC_DEFUN([gl_FILE_LIST], [
+ build-aux/GNUmakefile
build-aux/config.rpath
+ build-aux/maint.mk
lib/alloca_.h
lib/arcfour.c
lib/arcfour.h
diff --git a/maint-cfg.mk b/maint-cfg.mk
new file mode 100644
index 0000000000..9ad44a31cc
--- /dev/null
+++ b/maint-cfg.mk
@@ -0,0 +1,32 @@
+# Copyright (C) 2006 Free Software Foundation
+#
+# Author: Simon Josefsson
+#
+# This file is part of GNUTLS.
+#
+# This file 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 of the License, or
+# (at your option) any later version.
+#
+# This file 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 file; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+CFGFLAGS ?= --enable-developer-mode --enable-gtk-doc
+
+ifeq ($(.DEFAULT_GOAL),abort-due-to-no-makefile)
+.DEFAULT_GOAL := bootstrap
+endif
+
+gtk-doc.make:
+ gtkdocize
+
+bootstrap: gtk-doc.make
+ test -f ./configure || autoreconf --install
+ ./configure $(CFGFLAGS)
diff --git a/maint.mk b/maint.mk
new file mode 100644
index 0000000000..be933983bc
--- /dev/null
+++ b/maint.mk
@@ -0,0 +1,44 @@
+# -*-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.
+
+# 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; } || :