]> git.saurik.com Git - bison.git/blame - GNUmakefile
* doc/yacc.1.in: New.
[bison.git] / GNUmakefile
CommitLineData
d074a105
AD
1# Having a separate GNUmakefile lets me `include' the dynamically
2# generated rules created via Makefile.maint as well as Makefile.maint itself.
3# This makefile is used only if you run GNU Make.
4# It is necessary if you want to build targets usually of interest
5# only to the maintainer.
6
6d8e724d 7# Copyright (C) 2001, 2003, 2006-2007 Free Software Foundation, Inc.
603f1cfd 8#
f16b0819 9# This program is free software: you can redistribute it and/or modify
603f1cfd 10# it under the terms of the GNU General Public License as published by
f16b0819 11# the Free Software Foundation, either version 3 of the License, or
603f1cfd 12# (at your option) any later version.
6d8e724d 13
603f1cfd
AD
14# This program is distributed in the hope that it will be useful,
15# but WITHOUT ANY WARRANTY; without even the implied warranty of
16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17# GNU General Public License for more details.
6d8e724d 18
f16b0819
PE
19# You should have received a copy of the GNU General Public License
20# along with this program. If not, see <http://www.gnu.org/licenses/>.
603f1cfd 21
d074a105
AD
22# Systems where /bin/sh is not the default shell need this. The $(shell)
23# command below won't work with e.g. stock DOS/Windows shells.
603f1cfd 24ifeq ($(wildcard /bin/s[h]),/bin/sh)
d074a105 25SHELL = /bin/sh
603f1cfd
AD
26else
27# will be used only with the next shell-test line, then overwritten
28# by a configured-in value
29SHELL = sh
30endif
d074a105
AD
31
32have-Makefile := $(shell test -f Makefile && echo yes)
33
34# If the user runs GNU make but has not yet run ./configure,
35# give them a diagnostic.
36ifeq ($(have-Makefile),yes)
37
603f1cfd
AD
38# Make tar archive easier to reproduce.
39export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner
40
d074a105 41include Makefile
6d8e724d
PE
42
43# Ensure that $(VERSION) is up to date for dist-related targets, but not
44# for others: rerunning autoconf and recompiling everything isn't cheap.
45ifeq (0,$(MAKELEVEL))
46 _is-dist-target = $(filter dist% alpha beta major,$(MAKECMDGOALS))
47 ifneq (,$(_is-dist-target))
48 _curr-ver := $(shell build-aux/git-version-gen 0 .version)
49 ifneq ($(_curr-ver),$(VERSION))
50 $(info INFO: rerunning autoconf for new version string: $(_curr-ver))
51 dummy := $(shell rm -rf autom4te.cache; $(AUTOCONF))
52 endif
53 endif
54endif
55
603f1cfd 56include $(srcdir)/Makefile.cfg
d074a105
AD
57include $(srcdir)/Makefile.maint
58
59else
60
61all:
6d8e724d
PE
62 @echo There seems to be no Makefile in this directory. 1>&2
63 @echo "You must run ./configure before running \`make'." 1>&2
d074a105
AD
64 @exit 1
65
66endif
67
68# Tell version 3.79 and up of GNU make to not build goals in this
69# directory in parallel. This is necessary in case someone tries to
70# build multiple targets on one command line.
71.NOTPARALLEL: