386BSD 0.1 development
authorWilliam F. Jolitz <wjolitz@soda.berkeley.edu>
Sun, 26 Jan 1992 02:16:31 +0000 (18:16 -0800)
committerWilliam F. Jolitz <wjolitz@soda.berkeley.edu>
Sun, 26 Jan 1992 02:16:31 +0000 (18:16 -0800)
Work on file usr/othersrc/public/bash-1.12/bash-1.12/cpp-Makefile

Co-Authored-By: Lynne Greer Jolitz <ljolitz@cardio.ucsf.edu>
Synthesized-from: 386BSD-0.1

usr/othersrc/public/bash-1.12/bash-1.12/cpp-Makefile [new file with mode: 0644]

diff --git a/usr/othersrc/public/bash-1.12/bash-1.12/cpp-Makefile b/usr/othersrc/public/bash-1.12/bash-1.12/cpp-Makefile
new file mode 100644 (file)
index 0000000..72cfb51
--- /dev/null
@@ -0,0 +1,822 @@
+/* This -*- C -*- file (cpp-Makefile) is run through the C preprocessor
+   to produce bash-Makefile which is machine specific.
+
+   If you have Gcc and/or Bison, you might wish to mention that right
+   below here.
+
+   Since this is to become a Makefile, blank lines which appear outside
+   of comments may not contain a TAB character.
+
+   Copyright (C) 1987,1991 Free Software Foundation, Inc.
+
+   This file is part of GNU Bash, the Bourne Again SHell.
+
+   Bash 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 1, or (at your option) any later
+   version.
+
+   Bash 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 Bash; see the file COPYING.  If not, write to the Free Software
+   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+
+/**/# This Makefile is automagically made from cpp-Makefile.  You should
+/**/# not be editing this file; edit cpp-Makefile, machines.h, or
+/**/# support/mksysdefs instead.  Then, assuming the edits were required
+/**/# to compile Bash on your system, mail the changes you had to make to
+/**/# bash-maintainers@ai.mit.edu.  We will do our best to incorporate
+/**/# them into the next release.
+
+/* **************************************************************** */
+/*                                                                 */
+/*                     Which compiler are you using?               */
+/*                                                                 */
+/* **************************************************************** */
+
+/* Define HAVE_GCC if you have the GNU C compiler. */
+/* #define HAVE_GCC */
+
+/* Define HAVE_FIXED_INCLUDES if you are using GCC with the fixed
+   header files. */
+#if defined (HAVE_GCC) && !defined (HAVE_FIXED_INCLUDES)
+/* #define HAVE_FIXED_INCLUDES */
+#endif /* HAVE_GCC && !HAVE_FIXED_INCLUDES */
+
+/* Define HAVE_BISON if you have the GNU replacement for Yacc. */
+/**/# We would like you to use Bison instead of Yacc since some
+/**/# versions of Yacc cannot handle reentrant parsing.  Unfortunately,
+/**/# this includes the Yacc currently being shipped with SunOS4.x.
+/**/# If you do use Yacc, please make sure that any bugs in parsing
+/**/# are not really manifestations of Yacc bugs before you report
+/**/# them.
+#define HAVE_BISON
+
+/* This includes the appropriate description for the machine that you are
+   using (we hope).  If the compilation doesn't work correctly, then you
+   will have to edit the file `machines.h' to include a description for the
+   machine that your Cpp uniquely identifies this as.  For example, Sun 4's
+   are recognized by the Cpp identifier `sparc', Vax is recognized with `vax',
+   etc.  The order of these files is very important.  Config.h must come last,
+   since it is capable of undef'ing various things. */
+#define BUILDING_MAKEFILE   /* Tell config.h to avoid #including anything. */
+#include "sysdefs.h"
+#include "machines.h"
+#include "config.h"
+
+/**/# Here is a rule for making .o files from .c files that does not
+/**/# force the type of the machine (like -M_MACHINE) into the flags.
+.c.o:
+       $(RM) $@
+       $(CC) $(CFLAGS) $(CPPFLAGS) -c $*.c
+
+#if defined (HAVE_BISON)
+BISON = bison -y
+#else
+BISON = yacc
+#endif
+
+#if defined (HAVE_GCC)
+#  if defined (GCC_FLAGS)
+GCC_EXTRAS = GCC_FLAGS
+#  endif /* GCC_FLAGS */
+#  if !defined (HAVE_FIXED_INCLUDES)
+/* This is guaranteed to work, even if you have the fixed includes!
+   (Unless, of course, you have the fixed include files installed in
+   /usr/include.  Then it will break.) */
+#    if defined (isc386)
+CC = gcc -traditional -posix -I/usr/include $(GCC_EXTRAS)
+#    else
+CC = gcc -traditional -I/usr/include $(GCC_EXTRAS)
+#    endif /* isc386 */
+#  else /* HAVE_FIXED_INCLUDES */
+#    if defined (isc386)
+CC = gcc -posix $(GCC_EXTRAS)
+#    else /* !isc386 */
+CC = gcc $(GCC_EXTRAS)
+#    endif /* isc386 */
+#  endif /* HAVE_FIXED_INCLUDES */
+#else /* !HAVE_GCC */
+CC = CPP_CC
+#endif /* !HAVE_GCC */
+
+/**/# Of course, you cannot do this the first time through...
+/**/#SHELL=$(DESTDIR)/bash
+SHELL=/bin/sh
+
+RM = rm -f
+AR = ar
+
+MACHINE = M_MACHINE
+OS = M_OS
+
+/**/# PROFILE_FLAGS is either -pg, to generate profiling info for use
+/**/# with gprof, or nothing (the default).
+PROFILE_FLAGS=
+
+#if defined (HAVE_SHARED_LIBS) && defined (sun)
+#  if !defined (HAVE_GCC)
+/**/# On Sun systems, we compile without shared libraries so we
+/**/# can debug the shell with gdb.
+NOSHARE = -Bstatic
+#  endif
+#endif
+
+#if defined (SYSDEP_CFLAGS)
+/**/# This system has some peculiar flags that must be passed to the
+/**/# the C compiler (or to cpp).
+SYSDEP = SYSDEP_CFLAGS
+#endif /* SYSDEP_CFLAGS */
+
+#if defined (SYSDEP_LDFLAGS)
+/**/# This system has some peculiar flags that must be passed to the
+/**/# link editor (ld).
+SYSDEP_LD = SYSDEP_LDFLAGS
+#endif /* SYSDEP_LDFLAGS */
+
+#if defined (HAVE_SETLINEBUF)
+/**/# This system has the setlinebuf () call.
+LINEBUF = -DHAVE_SETLINEBUF
+#endif
+
+#if defined (HAVE_VFPRINTF)
+/**/# This system has the vprintf () and vfprintf () calls.
+VPRINTF = -DHAVE_VFPRINTF
+#endif /* HAVE_VFPRINTF */
+
+#if defined (HAVE_UNISTD_H)
+/**/# This system has <unistd.h>.
+UNISTD = -DHAVE_UNISTD_H
+#endif
+
+#if defined (HAVE_GETGROUPS)
+/**/# This system has multiple groups.
+GROUPS = -DHAVE_GETGROUPS
+#endif
+
+#if defined (HAVE_RESOURCE)
+/**/# This system has <sys/resource.h>
+RESOURCE = -DHAVE_RESOURCE
+#endif
+
+#if defined (VOID_SIGHANDLER)
+/**/# The signal () call of this system returns a pointer to a function
+/**/# returning void.  The signal handlers themselves are thus void functions.
+SIGHANDLER = -DVOID_SIGHANDLER
+#endif
+
+#if defined (HAVE_STRERROR)
+/**/# This system has the strerror () function.
+STRERROR = -DHAVE_STRERROR
+#endif
+
+#if defined (HAVE_WAIT_H)
+/**/# This system has <sys/wait.h>
+WAITH = -DHAVE_WAIT_H
+#endif
+
+#if defined (HAVE_GETWD)
+/**/# This system has the getwd () call.
+GETWD = -DHAVE_GETWD
+#endif
+
+#if defined (HAVE_DUP2)
+/**/# This system has a working version of dup2 ().
+DUP2 = -DHAVE_DUP2
+#endif /* HAVE_DUP2 */
+
+SYSTEM_FLAGS = $(LINEBUF) $(VPRINTF) $(UNISTD) $(GROUPS) $(RESOURCE) \
+       $(SIGHANDLER) $(SYSDEP) $(WAITH) $(GETWD) $(DUP2) $(STRERROR) \
+       -D$(MACHINE) -D$(OS)
+DEBUG_FLAGS = $(PROFILE_FLAGS) -g
+LDFLAGS        = $(NOSHARE) $(SYSDEP_LD) $(EXTRA_LD_PATH) $(DEBUG_FLAGS)
+CFLAGS = $(DEBUG_FLAGS) $(SYSTEM_FLAGS) -DSHELL $(ALLOCA_CFLAGS)
+CPPFLAGS= -I$(LIBSRC)
+
+/* It is conceviable that you wish to edit some things beyond this point,
+   but I guess that it is highly unlikely, and may give you a headache. */
+
+/* **************************************************************** */
+/*                                                                 */
+/*                 How to Build a Library                          */
+/*                                                                 */
+/* **************************************************************** */
+
+/* Defines used when building libraries. */
+#define LIB_CFLAGS_DECL CFLAGS='$(LIBRARY_CFLAGS) '$(LIBINC_USAGE)
+#define LIB_CPPFLAGS_DECL CPPFLAGS='$(CPPFLAGS)'
+#define LIB_LDFLAGS_DECL LDFLAGS='$(LDFLAGS)'
+#define LIBMAKE_FLAGS LIB_CFLAGS_DECL LIB_CPPFLAGS_DECL LIB_LDFLAGS_DECL \
+       RANLIB='$(RANLIB)' AR='$(AR)' CC='$(CC)'
+
+/* Macro does library building. */
+#define build_lib_in_dir(directory) \
+       @echo "Building in " directory "..."; \
+       ($(LIBINC_DECL); cd directory; $(MAKE) $(MFLAGS) LIBMAKE_FLAGS)
+
+/* The builtins are somewhat special in that more information is needed
+   to compile them correctly. */
+#define build_builtins_in_dir(directory) \
+       ($(LIBINC_DECL); cd directory; \
+        $(MAKE) $(MFLAGS) CPPFLAGS='$(CPPFLAGS)' \
+        CFLAGS='$(CFLAGS) '$(LIBINC_USAGE)' -I.' LDFLAGS='$(LDFLAGS)' \
+        RANLIB='$(RANLIB)' AR='$(AR)' CC='$(CC)' DIRECTDEFINE='-D 'directory)
+
+/* Flags used when building libraries. */
+LIBRARY_CFLAGS  = $(DEBUG_FLAGS) $(SIGHANDLER) $(ALLOCA_CFLAGS) \
+                 $(SYSDEP) -D$(MACHINE) -D$(OS) $(UNISTD) -DSHELL
+
+/**/# These are required for sending bug reports.
+SYSTEM_NAME = $(MACHINE)
+OS_NAME = $(OS)
+
+/**/# The name of this program.
+PROGRAM = bash
+
+/**/# The type of machine Bash is being compiled on.
+HOSTTYPE_DECL = -DHOSTTYPE='$(SYSTEM_NAME)'
+
+#if defined (NotYet)
+/**/# The name of the manufacturer of this machine.
+MachineManufacturer = ConfiguredManufacturer
+
+/**/# The name of the operating system this machine is using.
+MachineSystem = ConfiguredOS
+
+/**/# How to pass the above two variables into a source compilation.
+MachineInfo = -DMachineManufacturer="$(MachineManufacturer)" \
+             -DMachineSystem="$(MachineSystem)"
+#endif /* NotYet */
+
+/**/# The default primary and secondary prompts.
+PPROMPT = '"${PROGRAM}\\$$ "'
+SPROMPT = '"> "'
+
+#if defined (MAINTAINER)
+bash_maintainer = MAINTAINER
+MAINTAIN_DEFINE = -DMAINTAINER='"$(bash_maintainer)"'
+#endif
+
+/**/# The group of configuration flags.  These are for shell.c
+CFG_FLAGS = -DPPROMPT=$(PPROMPT) -DSPROMPT=$(SPROMPT) -DOS_NAME='"$(OS_NAME)"'\
+           -DSYSTEM_NAME='$(SYSTEM_NAME)' $(SIGLIST_FLAG) $(MAINTAIN_DEFINE)
+
+/**/# The directory which contains the source for malloc.  The name must
+/**/# end in a slash, as in "./lib/malloc/".
+ALLOC_DIR = ./lib/malloc/
+
+/**/# Our malloc.
+#if defined (USE_GNU_MALLOC)
+MALLOC = $(ALLOC_DIR)malloc.o
+MALLOC_DEP = $(ALLOC_DIR)malloc.c $(ALLOC_DIR)getpagesize.h
+MALLOC_FLAGS = -Drcheck -Dbotch=programming_error
+#endif /* USE_GNU_MALLOC */
+
+/* If this user doesn't have alloca (), then we must try to supply them
+   with a working one. */
+#if !defined (HAVE_ALLOCA)
+ALLOCA = $(ALLOC_DIR)alloca.o
+#  if defined (ALLOCA_ASM)
+ALLOCA_SOURCE = $(ALLOC_DIR)ALLOCA_ASM
+#  else
+ALLOCA_SOURCE = $(ALLOC_DIR)alloca.c
+#  endif /* ALLOCA_ASM */
+#endif /* !HAVE_ALLOCA */
+
+/* Compilation flags to use in the shell directory and to pass to builds
+   in subdirectories (readline, termcap) to ensure that alloca is treated
+   in a consistent fashion. */
+#if defined (HAVE_ALLOCA_H)
+ALLOCA_H_DEFINE = -DHAVE_ALLOCA_H
+#else
+ALLOCA_H_DEFINE =
+#endif /* HAVE_ALLOCA_H */
+
+#if defined (HAVE_ALLOCA)
+ALLOCA_DEFINE = -DHAVE_ALLOCA
+#else
+ALLOCA_DEFINE =
+#endif /* HAVE_ALLOCA */
+
+ALLOCA_CFLAGS = $(ALLOCA_DEFINE) $(ALLOCA_H_DEFINE)
+
+/* Protect the `i386' used in the definition of ALLOC_FILES. */
+#if defined (i386)
+#  undef i386
+#  define i386_defined
+#endif /* i386 */
+
+ALLOC_HEADERS = $(ALLOC_DIR)getpagesize.h
+ALLOC_FILES = $(ALLOC_DIR)malloc.c $(ALLOC_DIR)alloca.c $(ALLOC_DIR)xmalloc.c \
+             $(ALLOC_DIR)i386-alloca.s $(ALLOC_DIR)x386-alloca.s
+
+/* Perhaps restore the `i386' define. */
+#if defined (i386_defined)
+#  define i386
+#  undef i386_defined
+#endif /* i386_defined */
+
+#if !defined (HAVE_SYS_SIGLIST)
+/**/# Since this system does not have sys_siglist, we define SIGLIST
+/**/# as siglist.o.
+SIGLIST = siglist.o
+SIGLIST_FLAG=-DINITIALIZE_SIGLIST
+#endif /* HAVE_SYS_SIGLIST */
+
+#if !defined (HAVE_GETCWD)
+/**/# Since this system does not have a correctly working getcwd (), we
+/**/# define GETCWD as getcwd.o.
+GETCWD = getcwd.o
+#endif /* !HAVE_GETCWD */
+
+/**/# The location of ranlib on your system.
+#if defined (RANLIB_LOCATION)
+RANLIB = RANLIB_LOCATION
+#else
+RANLIB = ranlib
+#endif /* RANLIB_LOCATION */
+
+/**/# Support for the libraries required.  Termcap, Glob, and Readline.
+/**/# The location of sources for the support libraries.
+LIBSRC = ./lib/
+LIBINC_DECL  = LIBINCDIR=`pwd`; export LIBINCDIR
+LIBINC_USAGE = "-I$${LIBINCDIR} -I$${LIBINCDIR}/$(LIBSRC)"
+
+/* Does this machine's linker need a space after -L? */
+#if defined (HAVE_GCC)
+#  undef SEARCH_LIB_NEEDS_SPACE
+#endif /* HAVE_GCC */
+
+#if defined (SEARCH_LIB_NEEDS_SPACE)
+/**/# The native compiler for this machines requires a space after '-L'.
+SEARCH_LIB = -L $(UNSET_VARIABLE_CREATES_SPACE)
+#else
+SEARCH_LIB = -L
+#endif /* !SEARCH_LIB_NEEDS_SPACE */
+
+#if defined (EXTRA_LIB_SEARCH_PATH)
+LOCAL_LD_PATH = EXTRA_LIB_SEARCH_PATH
+EXTRA_LD_PATH = $(SEARCH_LIB)$(LOCAL_LD_PATH)
+#endif /* EXTRA_LIB_SEARCH_PATH */
+
+RLIBSRC = $(LIBSRC)readline/
+RLIBDOC = $(RLIBSRC)doc/
+
+/**/# The source, object and documentation of the history library.
+HISTORY_SOURCE = $(RLIBSRC)history.c $(RLIBSRC)history.h
+HISTORY_OBJ    = $(RLIBSRC)history.o
+HISTORY_DOC    = $(RLIBDOC)hist.texinfo $(RLIBDOC)hsuser.texinfo \
+                 $(RLIBDOC)hstech.texinfo
+
+/**/# The source, object and documentation of the GNU Readline library.
+/**/# The source to the history library is inherently part of this.
+READLINE_SOURCE        = $(RLIBSRC)readline.c $(RLIBSRC)readline.h\
+                 $(RLIBSRC)chardefs.h $(RLIBSRC)keymaps.h\
+                 $(RLIBSRC)funmap.c $(RLIBSRC)emacs_keymap.c\
+                 $(RLIBSRC)vi_keymap.c $(RLIBSRC)keymaps.c\
+                 $(RLIBSRC)vi_mode.c $(GLIBSRC)tilde.c $(HISTORY_SOURCE)
+
+READLINE_OBJ   = $(RLIBSRC)readline.o $(RLIBSRC)funmap.o \
+                 $(RLIBSRC)keymaps.o $(GLIBSRC)tilde.o $(HISTORY_OBJ)
+
+READLINE_DOC   = $(RLIBDOC)rlman.texinfo $(RLIBDOC)rluser.texinfo \
+                 $(RLIBDOC)rltech.texinfo
+
+READLINE_DOC_SUPPORT  = $(RLIBDOC)Makefile $(RLIBDOC)texinfo.tex \
+                 $(RLIBDOC)texindex.c $(RLIBDOC)readline.dvi \
+                 $(RLIBDOC)readline.info $(RLIBDOC)history.dvi \
+                 $(RLIBDOC)history.info
+
+/**/# This has to be written funny to avoid looking like a C comment starter.
+READLINE_EXAMPLES = $(RLIBSRC)examples/[a-zA-Z]*.[ch] \
+                   $(RLIBSRC)examples/Makefile $(RLIBSRC)examples/Inputrc
+
+/**/# Support files for GNU Readline.
+READLINE_SUPPORT = $(RLIBSRC)Makefile $(RLIBSRC)ChangeLog $(RLIBSRC)COPYING \
+                  $(READLINE_EXAMPLES) $(READLINE_DOC_SUPPORT)
+
+#if defined (HAVE_READLINE_SOURCE)
+READLINE_CFLAGS = $(DEBUG_FLAGS) $(SIGHANDLER) $(ALLOCA_CFLAGS) \
+                 $(SYSDEP) -D$(MACHINE) -D$(OS) $(UNISTD)
+#define READLINE_LIBRARY ./lib/readline/libreadline.a
+#else
+#define READLINE_LIBRARY -lreadline
+#endif
+
+#if defined (USE_GNU_TERMCAP)
+#define HAVE_TERMCAP_SOURCE
+/**/# The source, object and documentation for the GNU Termcap library.
+TLIBSRC = $(LIBSRC)termcap/
+#define TERMCAP_LIBRARY ./lib/termcap/libtermcap.a
+
+TERMCAP_SOURCE = $(TLIBSRC)termcap.c $(TLIBSRC)tparam.c
+TERMCAP_OBJ    = $(TLIBSRC)libtermcap.a
+TERMCAP_DOC    = $(TLIBSRC)termcap.texinfo
+TERMCAP_SUPPORT = $(TLIBSRC)Makefile $(TLIBSRC)ChangeLog
+TERMCAP_LDFLAGS = $(SEARCH_LIB)$(TLIBSRC)
+#endif /* USE_GNU_TERMCAP */
+
+/* The glob library is always used. */
+#define USE_GLOB_LIBRARY
+
+/* If we have the source to the glob library, then compile it. */
+#if defined (USE_GLOB_LIBRARY)
+GLIBSRC = $(LIBSRC)glob/
+#define GLOB_LIBRARY ./lib/glob/libglob.a
+
+/* Sometime in the future, we will have the finished GNU C Library globber. */
+#if defined (POSIX_GLOBBING_SOURCE)
+GLOB_SOURCE = $(GLIBSRC)glob.c $(GLIBSRC)fnmatch.c $(GLIBSRC)tilde.c \
+             $(GLIBSRC)glob.h $(GLIBSRC)ndir.h $(GLIBSRC)fnmatch.h
+#else
+GLOB_SOURCE = $(GLIBSRC)glob.c $(GLIBSRC)tilde.c \
+               $(GLIBSRC)fnmatch.c $(GLIBSRC)fnmatch.h
+#endif /* POSIX_GLOBBING_SOURCE */
+
+GLOB_OBJ     = $(GLIBSRC)libglob.a
+GLOB_DOC     = $(GLIBSRC)glob.texinfo
+GLOB_SUPPORT = $(GLIBSRC)Makefile $(GLIBSRC)ChangeLog
+GLOB_LDFLAGS = $(SEARCH_LIB)$(GLIBSRC)
+GLOB_LIB     = -lglob
+#endif /* USE_GLOB_LIBRARY */
+
+/**/# Declare all of the sources for the libraries that we have.
+LIBRARY_SOURCE = $(READLINE_SOURCE) $(TERMCAP_SOURCE) $(GLOB_SOURCE)
+LIBRARY_DOC    = $(READLINE_DOC) $(HISTORY_DOC) $(TERMCAP_DOC) $(GLOB_DOC)
+LIBRARY_SUPPORT        = $(READLINE_SUPPORT) $(TERMCAP_SUPPORT) $(GLOB_SUPPORT)
+LIBRARY_TAR    = $(LIBRARY_SOURCE) $(LIBRARY_DOC) $(LIBRARY_SUPPORT)
+
+#if defined (READLINE)
+/**/# You wish to compile with the line editing features installed.
+READLINE_LIB = -lreadline
+
+/**/# You only need termcap for readline.
+#if defined (USE_TERMCAP_EMULATION)
+TERMCAP_LIB = -lcurses
+#else
+TERMCAP_LIB = -ltermcap
+#endif /* USE_TERMCAP_EMULATION */
+
+/**/# Directory list for -L so that the link editor (ld) can find -lreadline.
+#if defined (HAVE_READLINE_SOURCE)
+READLINE_LDFLAGS = $(SEARCH_LIB)$(RLIBSRC) $(TERMCAP_LDFLAGS)
+#else
+READLINE_LDFLAGS = $(TERMCAP_LDFLAGS) $(SEARCH_LIB)/usr/gnu/lib \
+                  $(SEARCH_LIB)/usr/local/lib
+#endif /* HAVE_READLINE_SOURCE */
+
+/**/# The source and object of the bash<->readline interface code.
+RL_SUPPORT_SRC = bashline.c
+RL_SUPPORT_OBJ = bashline.o
+#endif /* READLINE */
+
+#if defined (REQUIRED_LIBRARIES)
+/**/# Locally required libraries.
+LOCAL_LIBS = REQUIRED_LIBRARIES
+#endif /* REQUIRED_LIBRARIES */
+
+/**/# The order is important.  Most dependent first.
+LIBRARIES = $(READLINE_LIB) $(TERMCAP_LIB) $(GLOB_LIB) $(LOCAL_LIBS)
+
+#if defined (HAVE_TERMCAP_SOURCE)
+TERMCAP_DEP = TERMCAP_LIBRARY
+#endif
+
+#if defined (HAVE_READLINE_SOURCE)
+READLINE_DEP = READLINE_LIBRARY
+#endif
+
+#if defined (USE_GLOB_LIBRARY)
+GLOB_DEP = GLOB_LIBRARY
+#else
+GLOBC = glob.c tilde.c
+GLOBO = glob.o tilde.o
+#endif /* USE_GLOB_LIBRARY */
+
+/**/# Source files for libraries that Bash depends on.
+LIBDEP = $(READLINE_DEP) $(TERMCAP_DEP) $(GLOB_DEP)
+
+/**/# Rules for cleaning the readline and termcap sources.
+#if defined (HAVE_READLINE_SOURCE)
+#  define CLEAN_READLINE (cd $(RLIBSRC); $(MAKE) $(MFLAGS) clean)
+#else
+#  define CLEAN_READLINE :
+#endif /* HAVE_READLINE_SOURCE */
+
+#if defined (HAVE_TERMCAP_SOURCE)
+#  define CLEAN_TERMCAP (cd $(TLIBSRC); $(MAKE) $(MFLAGS) clean)
+#else
+#  define CLEAN_TERMCAP :
+#endif /* HAVE_TERMCAP_SOURCE */
+
+#if defined (USE_GLOB_LIBRARY)
+#  define CLEAN_GLOB (cd $(GLIBSRC); $(MAKE) $(MFLAGS) clean)
+#else
+#  define CLEAN_GLOB :
+#endif /* USE_GLOB_LIBRARY */
+
+BUILTINS_LIB = builtins/libbuiltins.a
+
+/**/# The main source code for the Bourne Again SHell.
+CSOURCES = shell.c parse.y general.c make_cmd.c print_cmd.c y.tab.c \
+          dispose_cmd.c execute_cmd.c variables.c $(GLOBC) version.c \
+          expr.c copy_cmd.c flags.c subst.c hash.c mailcheck.c \
+          test.c trap.c jobs.c nojobs.c $(ALLOC_FILES) braces.c \
+          unwind_prot.c siglist.c getcwd.c $(RL_SUPPORT_SRC) error.c
+
+HSOURCES = shell.h flags.h trap.h hash.h jobs.h builtins.h alias.c y.tab.h \
+          general.h variables.h config.h $(ALLOC_HEADERS) alias.h maxpath.h \
+          quit.h machines.h posixstat.h filecntl.h unwind_prot.h parser.h \
+          command.h input.h error.h
+
+SOURCES         = $(CSOURCES) $(HSOURCES) $(BUILTIN_DEFS)
+
+/**/# Matching object files.
+OBJECTS         = shell.o y.tab.o general.o make_cmd.o print_cmd.o $(GLOBO) \
+          dispose_cmd.o execute_cmd.o variables.o copy_cmd.o error.o \
+          expr.o flags.o jobs.o subst.o hash.o mailcheck.o test.o \
+          trap.o alias.o $(MALLOC) $(ALLOCA) braces.o unwind_prot.o \
+          $(SIGLIST) $(GETCWD) version.o $(RL_SUPPORT_OBJ) $(BUILTINS_LIB)
+
+/**/# Where the source code of the shell builtins resides.
+DEFDIR = builtins/
+BUILTIN_DEFS = $(DEFDIR)alias.def $(DEFDIR)bind.def $(DEFDIR)break.def \
+              $(DEFDIR)builtin.def $(DEFDIR)cd.def $(DEFDIR)colon.def \
+              $(DEFDIR)command.def $(DEFDIR)declare.def \
+              $(DEFDIR)echo.def $(DEFDIR)enable.def $(DEFDIR)eval.def \
+              $(DEFDIR)exec.def $(DEFDIR)exit.def $(DEFDIR)fc.def \
+              $(DEFDIR)fg_bg.def $(DEFDIR)hash.def $(DEFDIR)help.def \
+              $(DEFDIR)history.def $(DEFDIR)jobs.def $(DEFDIR)kill.def \
+              $(DEFDIR)let.def $(DEFDIR)read.def $(DEFDIR)return.def \
+              $(DEFDIR)set.def $(DEFDIR)setattr.def $(DEFDIR)shift.def \
+              $(DEFDIR)source.def $(DEFDIR)suspend.def $(DEFDIR)test.def \
+              $(DEFDIR)times.def $(DEFDIR)trap.def $(DEFDIR)type.def \
+              $(DEFDIR)ulimit.def $(DEFDIR)umask.def $(DEFDIR)wait.def \
+              $(DEFDIR)getopts.def $(DEFDIR)reserved.def
+BUILTIN_C_CODE  = $(DEFDIR)mkbuiltins.c $(DEFDIR)common.c \
+                 $(DEFDIR)hashcom.h $(GETOPT_SOURCE)
+GETOPT_SOURCE   = $(DEFDIR)getopt.c $(DEFDIR)getopt.h
+PSIZE_SOURCE   = $(DEFDIR)psize.sh $(DEFDIR)psize.c
+BUILTIN_SUPPORT = $(DEFDIR)Makefile $(DEFDIR)ChangeLog $(PSIZE_SOURCE) \
+                 $(BUILTIN_C_CODE)
+
+/**/# Documentation for the shell.
+DOCDIR = ./documentation/
+BASH_TEXINFO = $(DOCDIR)*.texi $(DOCDIR)*.tex $(DOCDIR)texindex.c \
+               $(DOCDIR)*.dvi $(DOCDIR)Makefile
+BASH_MAN = $(DOCDIR)bash.1
+BASHDOCS = $(BASH_TEXINFO) $(BASH_MAN) INSTALL README RELEASE
+DOCUMENTATION = $(BASHDOCS) $(LIBRARY_DOC)
+
+/**/# Some example files demonstrating use of the shell.
+/* This has to be written funny to avoid looking like a comment starter. */
+EXAMPLES = examples/[a-zA-Z]*
+
+ENDIAN_SUPPORT = endian.c
+SDIR = ./support/
+MKTARFILE = $(SDIR)mktarfile
+SCRIPTS_SUPPORT = $(SDIR)mksysdefs $(SDIR)cppmagic $(SDIR)cat-s \
+                 $(MKTARFILE) $(SDIR)mail-shell $(SDIR)inform
+
+TEST_SUITE = ./test-suite/
+TEST_SUITE_SUPPORT = $(TEST_SUITE)[a-zA-Z0-9]*
+
+CREATED_SUPPORT = endian.aux endian.h sysdefs.h $(SDIR)getcppsyms
+
+SUPPORT = configure $(ENDIAN_SUPPORT) $(SCRIPTS_SUPPORT) $(BUILTIN_SUPPORT) \
+         COPYING Makefile cpp-Makefile ChangeLog .distribution newversion.c \
+         $(EXAMPLES) $(SDIR)bash.xbm $(SDIR)getcppsyms.c $(TEST_SUITE_SUPPORT)
+
+/**/# BAGGAGE consists of things that you want to keep with the shell for some
+/**/# reason, but do not actually use; old source code, etc.
+BAGGAGE = longest_sig.c
+
+/**/# Things that the world at large needs.
+THINGS_TO_TAR = $(SOURCES) $(LIBRARY_TAR) $(BASHDOCS) $(SUPPORT) $(BAGGAGE)
+
+all: .made
+
+/**/# Keep GNU Make from exporting the entire environment for small machines.
+.NOEXPORT:
+
+.made: $(PROGRAM)
+       cp .machine .made
+
+$(PROGRAM):  .build $(OBJECTS) $(LIBDEP) .distribution
+       $(RM) $@
+       $(CC) $(LDFLAGS) $(READLINE_LDFLAGS) $(GLOB_LDFLAGS) \
+          -o $(PROGRAM) $(OBJECTS) $(LIBRARIES)
+
+.build:        $(SOURCES) cpp-Makefile newversion.aux
+       if ./newversion.aux -build; then mv -f newversion.h version.h; fi
+       @echo
+       @echo "   ***************************************************"
+       @echo "   *                                                 *"
+       @echo "   * Making Bash-`cat .distribution` for a $(MACHINE) running $(OS)."
+       @echo "   *                                                 *"
+       @echo "   ***************************************************"
+       @echo
+       @echo "$(PROGRAM) last made for a $(MACHINE) running $(OS)" >.machine
+
+version.h:     newversion.aux
+       if ./newversion.aux -build; then mv -f newversion.h version.h; fi
+
+y.tab.c:       parse.y parser.h command.h input.h
+               -if test -f y.tab.h; then mv -f y.tab.h old-y.tab.h; fi
+               @echo "Expect 12 reduce/reduce errors.  No Problem."
+               $(BISON) -d parse.y
+               -if cmp -s old-y.tab.h y.tab.h; then mv old-y.tab.h y.tab.h; fi
+
+#if defined (HAVE_READLINE_SOURCE)
+READLINE_LIBRARY: $(READLINE_SOURCE)
+       build_lib_in_dir ($(RLIBSRC))
+#endif /* HAVE_READLINE_SOURCE */
+
+#if defined (HAVE_TERMCAP_SOURCE)
+TERMCAP_LIBRARY: $(TERMCAP_SOURCE)
+       build_lib_in_dir ($(TLIBSRC))
+#endif /* HAVE_TERMCAP_SOURCE */
+
+#if defined (USE_GLOB_LIBRARY)
+GLOB_LIBRARY: $(GLOB_SOURCE)
+       build_lib_in_dir ($(GLIBSRC))
+#endif /* USE_GLOB_LIBRARY */
+
+version.o:     version.h version.c
+
+shell.o:       shell.h flags.h shell.c posixstat.h filecntl.h endian.h \
+               parser.h
+               $(CC) $(CFG_FLAGS) $(CFLAGS) $(CPPFLAGS) -c shell.c
+
+endian.h:      endian.aux
+               ./endian.aux endian.h
+
+endian.aux:    endian.c
+               $(CC) $(CFLAGS) -o $@ endian.c
+
+#if defined (USE_GNU_MALLOC)
+/* Note that gcc correctly leaves the output file in the source directory. */
+#if !defined (__GNUC__)
+$(MALLOC):     $(MALLOC_DEP)
+               $(CC) -I$(ALLOC_DIR) $(CFLAGS) $(MALLOC_FLAGS) -c $*.c
+               @-mv `basename $*`.o $(MALLOC) 2>/dev/null
+#else
+$(MALLOC):     $(MALLOC_DEP)
+               $(CC) -I$(ALLOC_DIR) $(CFLAGS) $(MALLOC_FLAGS) \
+                   -o $(MALLOC) -c $*.c
+#endif /* __GNUC__ */
+#endif /* USE_GNU_MALLOC */
+
+#if !defined (HAVE_ALLOCA)
+/* Note that gcc correctly leaves the output file in the source directory. */
+$(ALLOCA):     $(ALLOCA_SOURCE)
+               $(CC) -I$(ALLOC_DIR) $(CFLAGS) -c $(ALLOCA_SOURCE)
+               @-mv `basename $*`.o $(ALLOCA) >/dev/null 2>&1
+#endif /* !HAVE_ALLOCA */
+
+variables.o: shell.h hash.h flags.h variables.h variables.c
+       $(CC) -c $(CFLAGS) $(CPPFLAGS) $(HOSTTYPE_DECL) variables.c
+
+builtins/libbuiltins.a: $(BUILTIN_DEFS) $(BUILTIN_C_CODE)
+       build_builtins_in_dir ($(DEFDIR))
+
+/* Dependencies for the main bash source. */
+shell.h:       general.h variables.h config.h quit.h
+jobs.h:                endian.h quit.h
+variables.h:   hash.h
+braces.o: general.h
+copy_cmd.o: shell.h hash.h
+copy_cmd.o: general.h variables.h config.h quit.h
+dispose_cmd.o: shell.h
+dispose_cmd.o: general.h variables.h config.h quit.h
+error.o: error.h
+execute_cmd.o: shell.h y.tab.h posixstat.h flags.h jobs.h
+execute_cmd.o: general.h variables.h config.h quit.h hash.h endian.h
+execute_cmd.o: unwind_prot.h
+expr.o: shell.h hash.h
+expr.o: general.h variables.h config.h quit.h
+flags.o: flags.h config.h general.h quit.h
+general.o: shell.h maxpath.h
+general.o: general.h variables.h config.h quit.h
+hash.o: shell.h hash.h
+hash.o: general.h variables.h config.h quit.h
+jobs.o: shell.h hash.h trap.h jobs.h
+jobs.o: general.h variables.h config.h endian.h quit.h
+mailcheck.o: posixstat.h maxpath.h variables.h
+mailcheck.o: hash.h quit.h
+make_cmd.o: shell.h flags.h
+make_cmd.o: general.h variables.h config.h quit.h
+y.tab.o: shell.h flags.h maxpath.h
+y.tab.o: general.h variables.h config.h quit.h
+print_cmd.o: shell.h y.tab.h
+print_cmd.o: general.h variables.h config.h quit.h
+shell.o: shell.h flags.h
+shell.o: general.h variables.h config.h quit.h
+subst.o: shell.h flags.h alias.h jobs.h
+subst.o: general.h variables.h config.h endian.h quit.h
+test.o: posixstat.h
+trap.o: trap.h shell.h hash.h unwind_prot.h
+trap.o: general.h variables.h config.h quit.h
+unwind_prot.o: config.h general.h unwind_prot.h
+
+#if !defined (JOB_CONTROL)
+jobs.o: nojobs.c
+#endif
+
+#if defined (READLINE)
+bashline.o: shell.h hash.h builtins.h
+bashline.o: general.h variables.h config.h quit.h alias.h
+#endif
+
+/* Dependencies which rely on the user using the source to READLINE. */
+#if defined (HAVE_READLINE_SOURCE)
+bashline.o: $(RLIBSRC)chardefs.h $(RLIBSRC)history.h $(RLIBSRC)readline.h
+bashline.o: $(RLIBSRC)keymaps.h $(RLIBSRC)history.h
+y.tab.o: $(RLIBSRC)keymaps.h $(RLIBSRC)chardefs.h $(RLIBSRC)history.h
+y.tab.o: $(RLIBSRC)readline.h
+subst.o: $(RLIBSRC)history.h
+#endif /* HAVE_READLINE_SOURCE */
+
+#if defined (USE_GLOB_LIBRARY)
+subst.o: $(GLIBSRC)fnmatch.h
+execute_cmd.o: $(GLIBSRC)fnmatch.h
+#  if defined (POSIX_GLOBBING_SOURCE)
+subst.o: $(GLIBSRC)glob.h
+#  endif /* POSIX_GLOBBING_SOURCE */
+#endif /* USE_GLOB_LIBRARY */
+
+$(PROGRAM).tar: $(THINGS_TO_TAR) .distribution
+       @$(MKTARFILE) $(PROGRAM) `cat .distribution` $(THINGS_TO_TAR)
+
+$(PROGRAM).tar.Z:      $(PROGRAM).tar
+               compress -f $(PROGRAM).tar
+
+clone:         $(THINGS_TO_TAR)
+       @$(MKTARFILE) +notar $(MACHINE) $(OS) $(THINGS_TO_TAR)
+               
+install:       .made
+               -if [ -f $(DESTDIR)/$(PROGRAM) ]; \
+               then mv $(DESTDIR)/$(PROGRAM) $(DESTDIR)/$(PROGRAM).old; \
+               fi
+               cp $(PROGRAM) $(DESTDIR)/$(PROGRAM)
+               $(RM) installed-$(PROGRAM)
+               ln -s $(DESTDIR)/$(PROGRAM) installed-$(PROGRAM)
+
+mailable:      distribution
+               /bin/rm -rf uuencoded
+               mkdir uuencoded
+               $(SHELL) -c 'f=$(PROGRAM)-`cat .distribution`.tar.Z;uuencode $$f $$f | split -800 - uuencoded/$$f.uu.'
+
+.distribution:
+               ./newversion.aux -dist `$(PROGRAM) -c 'echo $$BASH_VERSION'`
+
+distribution:  $(PROGRAM) $(PROGRAM).tar.Z .distribution
+               @echo cp $(PROGRAM).tar.Z $(PROGRAM)-`cat .distribution`.tar.Z
+               @cp $(PROGRAM).tar.Z $(PROGRAM)-`cat .distribution`.tar.Z
+
+newversion.aux:        newversion.c
+               $(CC) $(DEBUG_FLAGS) -o newversion.aux newversion.c -lm
+
+newversion:    newversion.aux
+               $(RM) .build
+               ./newversion.aux -dist
+               mv -f newversion.h version.h
+               $(MAKE) $(MFLAGS)
+
+documentation:  documentation-frob
+               (cd $(DOCDIR); make)
+
+documentation-frob:
+
+tags:          $(SOURCES) $(BUILTIN_C_CODE) $(LIBRARY_SOURCE)
+               etags $(SOURCES) $(BUILTIN_C_CODE) $(LIBRARY_SOURCE)
+
+INDEX:         $(SOURCES) $(BUILTIN_C_CODE) $(LIBRARY_SOURCE)
+               ctags -x $(SOURCES) $(BUILTIN_C_CODE) $(LIBRARY_SOURCE) > $@
+
+clean:
+               $(RM) $(OBJECTS) $(PROGRAM) aix-Makefile *.aux
+               $(RM) .build .made version.h
+               $(RM) $(CREATED_SUPPORT) bash-Makefile
+               (cd $(DOCDIR); $(MAKE) $(MFLAGS) clean)
+               (cd builtins; $(MAKE) $(MFLAGS) clean)
+               CLEAN_READLINE;CLEAN_TERMCAP;CLEAN_GLOB
+
+/**/# Here is a convenient rule when you arrive at a new site and wish to
+/**/# install bash on several different architectures.  It creates a new
+/**/# directory to hold the results of compilatation.  The directory is
+/**/# named MACHINE-OS.
+architecture: $(MACHINE)-$(OS)/$(PROGRAM)
+
+$(MACHINE)-$(OS):
+       -mkdir $(MACHINE)-$(OS)
+
+$(MACHINE)-$(OS)/$(PROGRAM): $(MACHINE)-$(OS) $(PROGRAM)
+       mv $(PROGRAM) $(MACHINE)-$(OS)
+       mv sysdefs.h $(MACHINE)-$(OS)
+       mv $(SDIR)getcppsyms $(MACHINE)-$(OS)
+       $(MAKE) $(MFLAGS) clean