/* 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@prep.ai.mit.edu. We will do our best to incorporate /**/# them into the next release. /**/# Make sure the first target in the makefile is the right one all: .made /* **************************************************************** */ /* */ /* Which compiler are you using? */ /* */ /* **************************************************************** */ /* Define HAVE_GCC if you have the GNU C compiler. */ /* #define HAVE_GCC */ #if defined (__GNUC__) && !defined (HAVE_GCC) && !defined (GCC_STANDARD) # define HAVE_GCC #endif /* Undefine HAVE_FIXED_INCLUDES if you are not 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 */ /* Include some boilerplate Gnu makefile definitions. */ prefix = /usr/local /**/#prefix = @prefix@ exec_prefix = $(prefix) bindir = $(exec_prefix)/bin libdir = $(exec_prefix)/lib manroot = $(prefix)/man man1ext = 1 man1dir = $(manroot)/man$(man1ext) man3ext = 3 man3dir = $(manroot)/man$(man3ext) mandir = $(man1dir) manext = $(man1ext) infodir = $(prefix)/info srcdir = . /**/#srcdir = @srcdir@ VPATH = .:$(srcdir) incdir = $(prefix)/include /**/#incdir = @incdir@ /* If you have purify, and want to use it, uncomment this definition or run the make as `make -f bash-Makefile bash PURIFY=purify'. */ PURIFY = # purify /* 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) $(CCFLAGS) $(CPPFLAGS) -c $< YACC = YACC_PROG #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.) */ CC = gcc -traditional -I/usr/include $(GCC_EXTRAS) # else /* HAVE_FIXED_INCLUDES */ CC = gcc $(GCC_EXTRAS) # endif /* HAVE_FIXED_INCLUDES */ #else /* !HAVE_GCC */ CC = CPP_CC #endif /* !HAVE_GCC */ SHELL=/bin/sh CP = cp RM = rm -f AR = ar #if defined (RANLIB_LOCATION) RANLIB = RANLIB_LOCATION #else RANLIB = ranlib #endif /* RANLIB_LOCATION */ INSTALL_PROGRAM = $(SUPPORT_SRC)install.sh -c -s INSTALL_DATA = $(SUPPORT_SRC)install -c -m 644 COMPRESS = gzip COMPRESS_EXT = .gz 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= /* These are defined in machines.h or sysdefs.h */ #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 (USE_VFPRINTF_EMULATION) VPRINTF = -DHAVE_VFPRINTF -DUSE_VFPRINTF_EMULATION #endif /* USE_VFPRINTF_EMULATION */ #if defined (VOID_SIGHANDLER) /**/# The signal () call provided by the 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_GETGROUPS) /**/# This system has multiple groups. GROUPS = -DHAVE_GETGROUPS #endif #if defined (HAVE_GETWD) /**/# This system has the getwd () call. GETWD = -DHAVE_GETWD #endif #if defined (HAVE_GETCWD) /**/# This system has the getcwd () call. GETCWD = -DHAVE_GETCWD #endif #if defined (HAVE_DUP2) /**/# This system has a working version of dup2 (). DUP2 = -DHAVE_DUP2 #endif /* HAVE_DUP2 */ #if defined (HAVE_DIRENT) /**/# This system uses struct dirent for reading directories with readdir. DIRENT = -DHAVE_DIRENT #endif /* HAVE_DIRENT */ #if defined (HAVE_STRCHR) /**/# This system has strchr () and strrchr () string functions. STRCHR = -DHAVE_STRCHR #endif /* HAVE_STRCHR */ #if defined (HAVE_STRCASECMP) STRCASE = -DHAVE_STRCASECMP #endif /* HAVE_STRCASECMP */ #if defined (HAVE_SYS_SIGLIST) SIGLIST = -DHAVE_SYS_SIGLIST #endif /* HAVE_SYS_SIGLIST */ #if defined (HAVE_DLOPEN) DLOPEN = -DHAVE_DLOPEN #endif #if defined (HAVE_DLSYM) DLSYM = -DHAVE_DLSYM #endif #if defined (HAVE_DLCLOSE) DLCLOSE = -DHAVE_DLCLOSE #endif #if defined (HAVE_ALLOCA) ALLOCA_DEFINE = -DHAVE_ALLOCA #else ALLOCA_DEFINE = #endif /* HAVE_ALLOCA */ #if defined (HAVE_SYS_STREAM_H) /**/# This system has STREAM = -DHAVE_SYS_STREAM_H #endif /* HAVE_SYS_STREAM_H */ #if defined (HAVE_SYS_PTEM_H) /**/# This system has PTEM = -DHAVE_SYS_PTEM_H #endif /* HAVE_SYS_PTEM_H */ #if defined (HAVE_SYS_PTE_H) /**/# This system has PTE = -DHAVE_SYS_PTE_H #endif /* HAVE_SYS_PTE_H */ /**/# This system has . #if defined (HAVE_UNISTD_H) UNISTD = -DHAVE_UNISTD_H #endif /**/# This system has #if defined (HAVE_STDLIB_H) STDLIB = -DHAVE_STDLIB_H #endif /**/# This system has #if defined (HAVE_LIMITS_H) LIMITSH = -DHAVE_LIMITS_H #endif /**/# This system has #if defined (HAVE_LOCALE_H) LOCALE = -DHAVE_LOCALE_H #endif #if defined (HAVE_ALLOCA_H) ALLOCA_H_DEFINE = -DHAVE_ALLOCA_H #else ALLOCA_H_DEFINE = #endif /* HAVE_ALLOCA_H */ #if defined (HAVE_RESOURCE) /**/# This system has RESOURCE = -DHAVE_RESOURCE #endif #if defined (HAVE_SYS_PARAM) /**/# This system has PARAM = -DHAVE_SYS_PARAM #endif #if defined (HAVE_WAIT_H) /**/# This system has WAITH = -DHAVE_WAIT_H #endif #if defined (HAVE_DIRENT_H) /**/# This system has /usr/include/dirent.h DIRENTH = -DHAVE_DIRENT_H #endif /* HAVE_DIRENT_H */ #if defined (HAVE_STRING_H) /**/# This system has /usr/include/string.h STRINGH = -DHAVE_STRING_H #endif /* HAVE_STRING_H */ #if defined (HAVE_VARARGS_H) /**/# This system has /usr/include/varargs.h VARARGSH = -DHAVE_VARARGS_H #endif /* HAVE_VARARGS_H */ #if defined (HAVE_DEV_FD) /**/# This system has the /dev/fd directory for naming open files. DEVFD = -DHAVE_DEV_FD #endif /* HAVE_DEV_FD */ /**/# The GNU coding standards don't recognize the possibility that /**/# other information besides optimization and debugging might be /**/# passed to cc. A different name should have been used. CFLAGS = -O -g SYSTEM_FLAGS = $(LINEBUF) $(VPRINTF) $(UNISTD) $(STDLIB) $(LIMITSH) $(LOCALE) \ $(GROUPS) $(RESOURCE) $(PARAM) $(SIGHANDLER) $(SYSDEP) $(WAITH) \ $(GETWD) $(GETCWD) $(DUP2) $(STRERROR) $(DIRENT) $(DIRENTH) $(STRINGH) \ $(VARARGSH) $(STRCHR) $(STRCASE) $(DEVFD) $(DLOPEN) $(DLSYM) \ $(DLCLOSE) $(SIGLIST) -D$(Machine) -D$(OS) -DPROGRAM='"$(Program)"' \ -DHOSTTYPE='$(Machine)' -DOSTYPE='$(OS)' /* 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. */ ALLOCA_CFLAGS = $(ALLOCA_DEFINE) $(ALLOCA_H_DEFINE) LDFLAGS = $(NOSHARE) $(SYSDEP_LD) $(EXTRA_LD_PATH) $(PROFILE_FLAGS) $(CFLAGS) CCFLAGS = $(PROFILE_FLAGS) $(SYSTEM_FLAGS) -DSHELL $(ALLOCA_CFLAGS) \ $(MALLOC_CFLAGS) $(CFLAGS) CPPFLAGS= -I. -I$(srcdir) -I$(LIBSRC) -I$(incdir) GCC_LINT_FLAGS = -ansi -Wall -Wshadow -Wpointer-arith -Wcast-qual \ -Wwrite-strings -Werror -Wstrict-prototypes \ -Wmissing-prototypes GCC_LINT_CFLAGS = $(CCFLAGS) $(GCC_LINT_FLAGS) /* It is conceivable 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 the support libraries. */ /* */ /* **************************************************************** */ /**/# The location of sources for the support libraries. LIBPATH = ./lib/ LIBSRC = $(srcdir)/$(LIBPATH) /**/# Preface building with the full path of the current library source. LIBINC_DECL = topdir=`sh $(srcdir)/support/srcdir $(srcdir)`; export topdir LIBINC_USAGE = "-I$${topdir} -I$${topdir}/$(LIBPATH) -I$(LIBSRC)" /* Defines used when building libraries. */ #define LIBMAKE_FLAGS CFLAGS='$(LIBRARY_CFLAGS) '$(LIBINC_USAGE) \ CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' \ RANLIB='$(RANLIB)' AR='$(AR)' CC='$(CC)' RM='$(RM)' \ /**/# Flags used when building libraries. LIBRARY_CFLAGS = $(PROFILE_FLAGS) $(CFLAGS) $(SIGHANDLER) $(ALLOCA_CFLAGS) \ $(SYSDEP) $(DIRENT) $(DIRENTH) $(STRINGH) $(VARARGSH) \ $(PTEM) $(PTE) $(STREAM) $(STRERROR) $(RESOURCE) \ $(STRCHR) -D$(Machine) -D$(OS) $(UNISTD) $(LIMITSH) \ $(STRCASE) $(STDLIB) -DSHELL /* Macro used to build a library. */ #define build_lib_in_dir(directory, target, srcdef, makefile) \ @echo "Building in " directory "..."; \ sh $(SUPPORT_SRC)mkdirs directory ; \ ($(LIBINC_DECL); cd directory; \ if [ ! -f Makefile ]; then cp makefile Makefile; fi; \ $(MAKE) target $(MFLAGS) LIBMAKE_FLAGS srcdef) BUILTIN_CFLAGS = $(CCFLAGS) BUILTIN_LIBFLAGS = "-I. -I$${topdir} -I$${topdir}/$(LIBPATH) -I$(incdir)" /* The builtins are somewhat special in that more information is needed to compile them correctly. */ #define build_builtins(target) \ @sh $(SUPPORT_SRC)mkdirs $(DEFDIR) ; \ ($(LIBINC_DECL); cd $(DEFDIR); \ if [ ! -f Makefile ]; then \ cp $(BUILTIN_ABSSRC)/Makefile Makefile; \ fi; \ $(MAKE) $(MFLAGS) target \ srcdir=$(BUILTIN_ABSSRC) CPPFLAGS='' \ CFLAGS='$(CCFLAGS) -I$(BUILTIN_ABSSRC) '$(BUILTIN_LIBFLAGS) \ LDFLAGS='$(LDFLAGS)' RANLIB='$(RANLIB)' AR='$(AR)' CC='$(CC)' \ RM='$(RM)' RL_LIBSRC='$(RL_ABSSRC)' \ DIRECTDEFINE='-D '$(BUILTIN_SRCDIR)) /**/# The name of this program. Program = bash /* **************************************************************** */ /* */ /* Support for desired libraries. */ /* This includes Termcap, Glob, Tilde, History, and Readline. */ /* */ /* **************************************************************** */ /* 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 /**/# The compiler being used to build Bash can handle -L/library/path. SEARCH_LIB = -L #endif /* !SEARCH_LIB_NEEDS_SPACE */ #if defined (EXTRA_LIB_SEARCH_PATH) /**/# Additional instructions to the linker telling it how to find libraries. LOCAL_LD_PATH = EXTRA_LIB_SEARCH_PATH EXTRA_LD_PATH = $(SEARCH_LIB)$(LOCAL_LD_PATH) #endif /* EXTRA_LIB_SEARCH_PATH */ /* Right now we assume that you have the full source code to Bash. If you simply have the library and header files installed, then undefine HAVE_READLINE_SOURCE. */ #define HAVE_READLINE_SOURCE #if defined (HAVE_READLINE_SOURCE) RL_LIBSRC = $(LIBSRC)readline/ RL_LIBDOC = $(RL_LIBSRC)doc/ RL_LIBDIR = $(LIBPATH)readline/ RL_ABSSRC = $${topdir}/$(RL_LIBDIR) READLINE_LIBRARY = $(RL_LIBDIR)libreadline.a /**/# The source, object and documentation of the GNU Readline library. READLINE_SOURCE = $(RL_LIBSRC)rldefs.h $(RL_LIBSRC)rlconf.h \ $(RL_LIBSRC)readline.h \ $(RL_LIBSRC)chardefs.h $(RL_LIBSRC)keymaps.h \ $(RL_LIBSRC)history.h $(RL_LIBSRC)histlib.h \ $(RL_LIBSRC)posixstat.h $(RL_LIBSRC)tilde.h \ $(RL_LIBSRC)funmap.c $(RL_LIBSRC)emacs_keymap.c \ $(RL_LIBSRC)search.c $(RL_LIBSRC)vi_keymap.c \ $(RL_LIBSRC)keymaps.c $(RL_LIBSRC)parens.c \ $(RL_LIBSRC)vi_mode.c $(RL_LIBSRC)callback.c \ $(RL_LIBSRC)readline.c $(RL_LIBSRC)tilde.c \ $(RL_LIBSRC)rltty.c $(RL_LIBSRC)complete.c \ $(RL_LIBSRC)bind.c $(RL_LIBSRC)isearch.c \ $(RL_LIBSRC)display.c $(RL_LIBSRC)signals.c \ $(RL_LIBSRC)util.c $(RL_LIBSRC)kill.c \ $(RL_LIBSRC)undo.c $(RL_LIBSRC)macro.c \ $(RL_LIBSRC)input.c $(RL_LIBSRC)xmalloc.c \ $(RL_LIBSRC)histexpand.c $(RL_LIBSRC)history.c \ $(RL_LIBSRC)histsearch.c $(RL_LIBSRC)histfile.c READLINE_OBJ = $(RL_LIBDIR)readline.o $(RL_LIBDIR)funmap.o \ $(RL_LIBDIR)parens.o $(RL_LIBDIR)search.o \ $(RL_LIBDIR)keymaps.o $(RL_LIBDIR)xmalloc.o \ $(RL_LIBDIR)rltty.o $(RL_LIBDIR)complete.o \ $(RL_LIBDIR)bind.o $(RL_LIBDIR)isearch.o \ $(RL_LIBDIR)display.o $(RL_LIBDIR)signals.o \ $(RL_LIBDIR)tilde.o $(RL_LIBDIR)util.o \ $(RL_LIBDIR)kill.o $(RL_LIBDIR)undo.o \ $(RL_LIBDIR)macro.o $(RL_LIBDIR)input.o \ $(RL_LIBDIR)callback.o \ $(RL_LIBDIR)history.o $(RL_LIBDIR)histexpand.o \ $(RL_LIBDIR)histsearch.o $(RL_LIBDIR)histfile.o READLINE_DOC = $(RL_LIBDOC)rlman.texinfo $(RL_LIBDOC)rluser.texinfo \ $(RL_LIBDOC)rltech.texinfo READLINE_DOC_SUPPORT = $(RL_LIBDOC)Makefile $(RL_LIBDOC)readline.dvi \ $(RL_LIBDOC)readline.info /**/# This has to be written funny to avoid looking like a C comment starter. READLINE_EXAMPLES = $(RL_LIBSRC)examples/[a-zA-Z]*.[ch] \ $(RL_LIBSRC)examples/Makefile $(RL_LIBSRC)examples/Inputrc /**/# Support files for GNU Readline. READLINE_SUPPORT = $(RL_LIBSRC)Makefile $(RL_LIBSRC)ChangeLog \ $(RL_LIBSRC)COPYING $(READLINE_EXAMPLES) \ $(READLINE_DOC_SUPPORT) #else /* !HAVE_READLINE_SOURCE */ # if defined (READLINE) READLINE_LIBRARY = -lreadline # endif /* READLINE */ RL_LIBDIR = $(srcdir)/$(LIBSRC)readline/ #endif /* !HAVE_READLINE_SOURCE */ #if defined (READLINE) /**/# You wish to compile with the line editing features installed. READLINE_LIB = -lreadline /**/# You only need termcap (or curses) if you are linking with GNU Readline. # if defined (USE_TERMCAP_EMULATION) TERMCAP_LIB = -lcurses # else /* !USE_TERMCAP_EMULATION */ TERMCAP_LIB = -ltermcap # endif /* !USE_TERMCAP_EMULATION */ /**/# Directory list for -L so that the link editor (ld) can find -lreadline. # if !defined (LD_HAS_NO_DASH_L) # if defined (HAVE_READLINE_SOURCE) READLINE_LDFLAGS = $(SEARCH_LIB)$(RL_LIBDIR) $(TERMCAP_LDFLAGS) # else READLINE_LDFLAGS = $(TERMCAP_LDFLAGS) $(SEARCH_LIB)$(libdir) \ $(SEARCH_LIB)/usr/local/lib # endif /* HAVE_READLINE_SOURCE */ # endif /* LD_HAS_NO_DASH_L */ #endif /* READLINE */ /* Right now we assume that you have the full source code to Bash, including the source code to the history library. If you only have the library and header files installed, then you can undefine HAVE_HISTORY_SOURCE. */ #define HAVE_HISTORY_SOURCE # if defined (HISTORY) && !defined (READLINE) /**/# You are compiling with history features but without line editing. HISTORY_LIB = -lhistory # endif /* HISTORY && !READLINE */ #if defined (HAVE_HISTORY_SOURCE) HIST_LIBSRC = $(LIBSRC)readline/ HIST_LIBDOC = $(HIST_LIBSRC)doc/ HIST_LIBDIR = $(LIBPATH)readline/ HIST_ABSSRC = $${topdir}/$(HIST_LIBDIR)/ /* If you are building with readline, then you do not explicitly need the history library. */ # if defined (READLINE) HISTORY_LIBRARY = # else HISTORY_LIBRARY = $(HIST_LIBDIR)libhistory.a # endif /* !READLINE */ /**/# The source, object and documentation of the history library. HISTORY_SOURCE = $(HIST_LIBSRC)history.c $(HIST_LIBSRC)histexpand.c \ $(HIST_LIBSRC)histsearch.c $(HIST_LIBSRC)histfile.c \ $(HIST_LIBSRC)history.h $(HIST_LIBSRC)histlib.h HISTORY_OBJ = $(HIST_LIBDIR)history.o $(HIST_LIBDIR)histexpand.o \ $(HIST_LIBDIR)histsearch.o $(HIST_LIBDIR)histfile.o HISTORY_DOC = $(HIST_LIBDOC)hist.texinfo $(HIST_LIBDOC)hsuser.texinfo \ $(HIST_LIBDOC)hstech.texinfo /**/# Directory list for -L so that the link editor (ld) can find -lhistory. # if defined (HISTORY) && !defined (READLINE) # if !defined (LD_HAS_NO_DASH_L) HISTORY_LDFLAGS = $(SEARCH_LIB)$(HIST_LIBDIR) # endif /* LD_HAS_NO_DASH_L */ # endif /* HISTORY && !READLINE */ #else /* !HAVE_HISTORY_SOURCE */ # if defined (HISTORY) && !defined (READLINE) HISTORY_LIBRARY = -lhistory HISTORY_LDFLAGS = $(SEARCH_LIB)$(libdir) $(SEARCH_LIB)/usr/local/lib # endif /* HISTORY && !READLINE */ #endif /* !HAVE_HISTORY_SOURCE */ #if defined (USE_GNU_TERMCAP) # define HAVE_TERMCAP_SOURCE TERM_LIBSRC = $(LIBSRC)termcap/ TERM_LIBDIR = $(LIBPATH)termcap/ TERM_ABSSRC = $${topdir}/$(TERM_LIBDIR) /**/# The source, object and documentation for the GNU Termcap library. TERMCAP_LIBRARY = $(TERM_LIBDIR)libtermcap.a TERMCAP_SOURCE = $(TERM_LIBSRC)termcap.c $(TERM_LIBSRC)tparam.c TERMCAP_OBJ = $(TERM_LIBDIR)termcap.o $(TERM_LIBDIR)tparam.o TERMCAP_DOC = $(TERM_LIBSRC)termcap.texinfo TERMCAP_SUPPORT = $(TERM_LIBSRC)Makefile $(TERM_LIBSRC)ChangeLog # if !defined (LD_HAS_NO_DASH_L) TERMCAP_LDFLAGS = $(SEARCH_LIB)$(TERM_LIBDIR) # endif /* !LD_HAS_NO_DASH_L */ #else /* !USE_GNU_TERMCAP */ /* Guessed at symbol for LIBRARIES, below. */ # if defined (USE_TERMCAP_EMULATION) TERMCAP_LIBRARY = -lcurses # else /* !USE_TERMCAP_EMULATION */ TERMCAP_LIBRARY = -ltermcap # endif /* !USE_TERMCAP_EMULATION */ #endif /* !USE_GNU_TERMCAP */ /* The glob library is always used. */ #define USE_GLOB_LIBRARY #if defined (USE_GLOB_LIBRARY) GLOB_LIBSRC = $(LIBSRC)glob/ GLOB_LIBDIR = $(LIBPATH)glob/ GLOB_ABSSRC = $${topdir}/$(GLOB_LIBDIR) GLOB_LIBRARY = $(GLOB_LIBDIR)libglob.a GLOB_SOURCE = $(GLOB_LIBSRC)glob.c $(GLOB_LIBSRC)fnmatch.c \ $(GLOB_LIBSRC)glob.h $(GLOB_LIBSRC)fnmatch.h GLOB_OBJ = $(GLOB_LIBDIR)glob.o $(GLOB_LIBDIR)fnmatch.o GLOB_DOC = $(GLOB_LIBSRC)doc/glob.texi $(GLOB_LIBSRC)doc/Makefile GLOB_SUPPORT= $(GLOB_LIBSRC)Makefile $(GLOB_LIBSRC)ChangeLog # if !defined (LD_HAS_NO_DASH_L) GLOB_LDFLAGS = $(SEARCH_LIB)$(GLOB_LIBDIR) # endif /* !LD_HAS_NO_DASH_L */ GLOB_LIB = -lglob #endif /* USE_GLOB_LIBRARY */ /* The source code for the tilde expansion library. */ #if defined (HAVE_READLINE_SOURCE) # define HAVE_TILDE_SOURCE #endif /* HAVE_READLINE_SOURCE */ #if defined (HAVE_TILDE_SOURCE) /**/# The source, object and documentation for the GNU Tilde library. TILDE_LIBSRC = $(LIBSRC)tilde/ TILDE_LIBDIR = $(LIBPATH)tilde/ TILDE_ABSSRC = $${topdir}/$(TILDE_LIBDIR) TILDE_LIBRARY = $(TILDE_LIBDIR)libtilde.a TILDE_SOURCE = $(TILDE_LIBSRC)tilde.c $(TILDE_LIBSRC)tilde.h TILDE_OBJ = $(TILDE_LIBDIR)tilde.o TILDE_DOC = $(TILDE_LIBSRC)doc/tilde.texi $(TILDE_LIBSRC)doc/Makefile TILDE_SUPPORT = $(TILDE_LIBSRC)Makefile $(TILDE_LIBSRC)ChangeLog TILDE_LIB = -ltilde # if !defined (LD_HAS_NO_DASH_L) TILDE_LDFLAGS = $(SEARCH_LIB)$(TILDE_LIBDIR) # endif /* !LD_HAS_NO_DASH_L */ #else /* !HAVE_TILDE_SOURCE */ /**/# Guessed at location of the tilde TILDE_LIBRARY = $(libdir)/libtilde.a #endif /* !HAVE_TILDE_SOURCE */ /**/# The directory which contains the source for malloc. The name must /**/# end in a slash, as in "./lib/malloc/". ALLOC_LIBSRC = $(LIBSRC)malloc/ ALLOC_LIBDIR = $(LIBPATH)malloc/ ALLOC_ABSSRC = $${topdir}/$(ALLOC_LIBDIR) /**/# Our malloc. #if defined (USE_GNU_MALLOC) MALLOC_OBJ = $(ALLOC_LIBDIR)malloc.o MALLOC_SRC = $(ALLOC_LIBSRC)malloc.c MALLOC_FLAGS = -Drcheck -Dbotch=programming_error MALLOC_LIBRARY = $(ALLOC_LIBDIR)libmalloc.a # if !defined (LD_HAS_NO_DASH_L) MALLOC_LDFLAGS = $(SEARCH_LIB)$(ALLOC_LIBDIR) # endif /* !LD_HAS_NO_DASH_L */ MALLOC_LIB = -lmalloc MALLOC_DEP = $(MALLOC_LIBRARY) #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 = alloca.o # if defined (ALLOCA_ASM) ALLOCA_SOURCE = ALLOCA_ASM ALLOCA_OBJECT = ALLOCA_OBJ # else ALLOCA_SOURCE = alloca.c ALLOCA_OBJECT = alloca.o # endif /* ALLOCA_ASM */ ALLOCA_DEP = $(ALLOC_LIBSRC)$(ALLOCA_SOURCE) #endif /* !HAVE_ALLOCA */ /* Protect the `i386' used in the definition of ALLOC_FILES. */ #if defined (i386) # undef i386 # define i386_defined #endif /* i386 */ ALLOC_HEADERS = $(ALLOC_LIBSRC)getpagesize.h ALLOC_FILES = $(ALLOC_LIBSRC)malloc.c $(ALLOC_LIBSRC)alloca.c \ $(ALLOC_LIBSRC)i386-alloca.s $(ALLOC_LIBSRC)x386-alloca.s \ $(ALLOC_LIBSRC)xmalloc.c /* Perhaps restore the `i386' define. */ #if defined (i386_defined) # define i386 # undef i386_defined #endif /* i386_defined */ #if defined (USE_GNU_MALLOC) $(ALLOC_LIBDIR)libmalloc.a: $(MALLOC_SRC) $(ALLOCA_DEP) @sh $(SUPPORT_SRC)mkdirs $(ALLOC_LIBDIR) @$(RM) $@ @($(LIBINC_DECL); cd $(ALLOC_LIBDIR) ; \ if [ ! -f Makefile ]; then cp $(ALLOC_ABSSRC)Makefile Makefile ; fi; \ $(MAKE) $(MFLAGS) CC=$(CC) \ CFLAGS='$(LIBRARY_CFLAGS) $(MALLOC_FLAGS)' \ CPPFLAGS='$(CPPFLAGS)' MALLOC_SOURCE=$(MALLOC_SRC) \ ALLOCA=$(ALLOCA) RANLIB=$(RANLIB) \ ALLOCA_SOURCE=$(ALLOCA_SOURCE) \ ALLOCA_OBJECT=$(ALLOCA_OBJECT) \ srcdir=$(ALLOC_ABSSRC) libmalloc.a ) #endif /* USE_GNU_MALLOC */ BASHPOSIX_LIB = $(LIBSRC)posixheaders/ BASHPOSIX_SUPPORT = $(BASHPOSIX_LIB)posixstat.h $(BASHPOSIX_LIB)ansi_stdlib.h \ $(BASHPOSIX_LIB)memalloc.h $(BASHPOSIX_LIB)stdc.h /**/# Declare all of the sources for the libraries that we have. LIBRARY_SOURCE = $(READLINE_SOURCE) $(HISTORY_SOURCE) $(TERMCAP_SOURCE) \ $(GLOB_SOURCE) $(TILDE_SOURCE) $(MALLOC_SOURCE) LIBRARY_DOC = $(READLINE_DOC) $(HISTORY_DOC) $(TERMCAP_DOC) $(GLOB_DOC) \ $(TILDE_DOC) $(MALLOC_DOC) LIBRARY_SUPPORT = $(READLINE_SUPPORT) $(HISTORY_SUPPORT) $(TERMCAP_SUPPORT) \ $(GLOB_SUPPORT) $(TILDE_SUPPORT) $(MALLOC_SUPPORT) LIBRARY_TAR = $(LIBRARY_SOURCE) $(LIBRARY_DOC) $(LIBRARY_SUPPORT) /**/# The order is important. Most dependent first. #if defined (LD_HAS_NO_DASH_L) /**/# This linker does not know how to grok the -l flag, or perhaps how /**/# to grok the -L flag, or both. LIBRARIES = $(READLINE_LIBRARY) $(HISTORY_LIBRARY) $(TERMCAP_LIBRARY) \ $(GLOB_LIBRARY) $(TILDE_LIBRARY) $(MALLOC_LIBRARY) $(LOCAL_LIBS) #else /* !LD_HAS_NO_DASH_L */ LIBRARIES = $(READLINE_LIB) $(HISTORY_LIB) $(TERMCAP_LIB) $(GLOB_LIB) \ $(TILDE_LIB) $(MALLOC_LIB) $(LOCAL_LIBS) #endif /* !LD_HAS_NO_DASH_L */ #if defined (READLINE) # if defined (HAVE_TERMCAP_SOURCE) TERMCAP_DEP = $(TERMCAP_LIBRARY) # endif /* HAVE_TERMCAP_SOURCE */ # if defined (HAVE_READLINE_SOURCE) READLINE_DEP = $(READLINE_LIBRARY) # endif /* HAVE_READLINE_SOURCE */ #endif /* READLINE */ #if defined (HISTORY) && defined (HAVE_HISTORY_SOURCE) && !defined (READLINE) HISTORY_DEP = $(HISTORY_LIBRARY) #endif #if defined (USE_GLOB_LIBRARY) GLOB_DEP = $(GLOB_LIBRARY) #else GLOBC = glob.c fnmatch.c GLOBO = glob.o fnmatch.o #endif /* USE_GLOB_LIBRARY */ #if defined (HAVE_TILDE_SOURCE) TILDE_DEP = $(TILDE_LIBRARY) #endif /**/# Source files for libraries that Bash depends on. LIBDEP = $(READLINE_DEP) $(TERMCAP_DEP) $(GLOB_DEP) $(HISTORY_DEP) \ $(TILDE_DEP) $(MALLOC_DEP) /**/# Rules for cleaning the readline and termcap sources. #if defined (HAVE_READLINE_SOURCE) CLEAN_READLINE = (cd $(RL_LIBDIR); $(MAKE) $(MFLAGS) clean) #else CLEAN_READLINE = : #endif /* !HAVE_READLINE_SOURCE */ #if defined (HAVE_HISTORY_SOURCE) # if !defined (READLINE) CLEAN_HISTORY = (cd $(HIST_LIBDIR); $(MAKE) $(MFLAGS) clean) # else CLEAN_HISTORY = : # endif /* READLINE */ #endif /* !HAVE_HISTORY_SOURCE */ #if defined (HAVE_TERMCAP_SOURCE) CLEAN_TERMCAP = (cd $(TERM_LIBDIR); $(MAKE) $(MFLAGS) clean) #else CLEAN_TERMCAP = : #endif /* !HAVE_TERMCAP_SOURCE */ #if defined (USE_GLOB_LIBRARY) CLEAN_GLOB = (cd $(GLOB_LIBDIR); $(MAKE) $(MFLAGS) clean) #else CLEAN_GLOB = : #endif /* !USE_GLOB_LIBRARY */ #if defined (HAVE_TILDE_SOURCE) CLEAN_TILDE = (cd $(TILDE_LIBDIR); $(MAKE) $(MFLAGS) clean) #else CLEAN_TILDE = : #endif /* !HAVE_TILDE_SOURCE */ CLEAN_MALLOC = (cd $(MALLOC_LIBDIR); $(MAKE) $(MFLAGS) clean) LIBRARY_LDFLAGS = $(READLINE_LDFLAGS) $(HISTORY_LDFLAGS) $(TILDE_LDFLAGS) \ $(GLOB_LDFLAGS) $(MALLOC_LDFLAGS) #if defined (REQUIRED_LIBRARIES) /**/# Locally required libraries. LOCAL_LIBS = REQUIRED_LIBRARIES #endif /* REQUIRED_LIBRARIES */ 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 \ vprint.c input.c bashhist.c array.c sig.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 bashansi.h dispose_cmd.h make_cmd.h \ subst.h externs.h siglist.h bashhist.h bashline.h bashtypes.h \ array.h sig.h mailcheck.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 input.o unwind_prot.o sig.o version.o \ alias.o array.o braces.o bracecomp.o bashhist.o bashline.o \ getcwd.o siglist.o vprint.o \ $(BUILTINS_LIB) /**/# Where the source code of the shell builtins resides. BUILTIN_SRCDIR=$(srcdir)/builtins/ DEFSRC=$(BUILTIN_SRCDIR) /**/# The trailing slash was left off this definition on purpose BUILTIN_ABSSRC=$${topdir}/builtins DEFDIR = builtins/ BUILTIN_DEFS = $(DEFSRC)alias.def $(DEFSRC)bind.def $(DEFSRC)break.def \ $(DEFSRC)builtin.def $(DEFSRC)cd.def $(DEFSRC)colon.def \ $(DEFSRC)command.def $(DEFSRC)declare.def \ $(DEFSRC)echo.def $(DEFSRC)enable.def $(DEFSRC)eval.def \ $(DEFSRC)exec.def $(DEFSRC)exit.def $(DEFSRC)fc.def \ $(DEFSRC)fg_bg.def $(DEFSRC)hash.def $(DEFSRC)help.def \ $(DEFSRC)history.def $(DEFSRC)jobs.def $(DEFSRC)kill.def \ $(DEFSRC)let.def $(DEFSRC)read.def $(DEFSRC)return.def \ $(DEFSRC)set.def $(DEFSRC)setattr.def $(DEFSRC)shift.def \ $(DEFSRC)source.def $(DEFSRC)suspend.def $(DEFSRC)test.def \ $(DEFSRC)times.def $(DEFSRC)trap.def $(DEFSRC)type.def \ $(DEFSRC)ulimit.def $(DEFSRC)umask.def $(DEFSRC)wait.def \ $(DEFSRC)getopts.def $(DEFSRC)reserved.def $(DEFSRC)pushd.def \ $(DEFSRC)shopt.def BUILTIN_C_SRC = $(DEFSRC)mkbuiltins.c $(DEFSRC)common.c \ $(DEFSRC)hashcom.h $(DEFSRC)/bashgetopt.c $(GETOPT_SOURCE) BUILTIN_C_OBJ = $(DEFDIR)common.o $(DEFDIR)bashgetopt.o BUILTIN_OBJS = $(DEFDIR)alias.o $(DEFDIR)bind.o $(DEFDIR)break.o \ $(DEFDIR)builtin.o $(DEFDIR)cd.o $(DEFDIR)colon.o \ $(DEFDIR)command.o $(DEFDIR)declare.o \ $(DEFDIR)echo.o $(DEFDIR)enable.o $(DEFDIR)eval.o \ $(DEFDIR)exec.o $(DEFDIR)exit.o $(DEFDIR)fc.o \ $(DEFDIR)fg_bg.o $(DEFDIR)hash.o $(DEFDIR)help.o \ $(DEFDIR)history.o $(DEFDIR)jobs.o $(DEFDIR)kill.o \ $(DEFDIR)let.o $(DEFDIR)pushd.o $(DEFDIR)read.o \ $(DEFDIR)return.o $(DEFDIR)shopt.o \ $(DEFDIR)set.o $(DEFDIR)setattr.o $(DEFDIR)shift.o \ $(DEFDIR)source.o $(DEFDIR)suspend.o $(DEFDIR)test.o \ $(DEFDIR)times.o $(DEFDIR)trap.o $(DEFDIR)type.o \ $(DEFDIR)ulimit.o $(DEFDIR)umask.o $(DEFDIR)wait.o \ $(DEFDIR)getopts.o $(BUILTIN_C_OBJ) GETOPT_SOURCE = $(DEFSRC)getopt.c $(DEFSRC)getopt.h PSIZE_SOURCE = $(DEFSRC)psize.sh $(DEFSRC)psize.c BUILTIN_SUPPORT = $(DEFSRC)Makefile $(PSIZE_SOURCE) $(BUILTIN_C_SRC) /**/# Documentation for the shell. DOCDIR = $(srcdir)/documentation/ ENDIAN_SUPPORT = $(SUPPORT_SRC)endian.c #if !defined (HAVE_WAIT_H) ENDIAN_HEADER = bash_endian.h #endif SIGNAMES_SUPPORT = $(SUPPORT_SRC)mksignames.c SUPPORT_SRC = $(srcdir)/support/ SDIR = ./support/ EXAMPLES = ./examples/ TEST_SUITE = ./test-suite/ CREATED_SUPPORT = bash_endian.h signames.h sysdefs.h \ $(SDIR)getcppsyms recho tests/recho /**/# Keep GNU Make from exporting the entire environment for small machines. .NOEXPORT: .made: $(Program) bashbug cp .machine .made $(Program): .build $(OBJECTS) $(LIBDEP) $(srcdir)/.distribution $(RM) $@ $(PURIFY) $(CC) $(LDFLAGS) $(LIBRARY_LDFLAGS) -o $(Program) $(OBJECTS) $(LIBRARIES) ls -l $(Program) size $(Program) .build: $(SOURCES) cpp-Makefile mkversion if ./mkversion -dir $(srcdir) -build; then mv -f newversion.h version.h; fi @echo @echo " ***************************************************" @echo " * *" @echo " * Making Bash-`cat $(srcdir)/.distribution`.`cat $(srcdir)/.patchlevel` for a $(Machine) running $(OS)" @echo " * *" @echo " ***************************************************" @echo @echo "$(Program) last made for a $(Machine) running $(OS)" >.machine bashbug: $(SUPPORT_SRC)bashbug.sh cpp-Makefile mkversion @sed -e "s:@MACHINE@:$(Machine):" -e "s:@OS@:$(OS):" \ -e "s:@CFLAGS@:$(CCFLAGS):" -e "s:@CC@:$(CC):" \ -e "s:@RELEASE@:`cat $(srcdir)/.distribution`:" \ -e "s:@PATCHLEVEL@:`cat $(srcdir)/.patchlevel`:" \ $(SUPPORT_SRC)bashbug.sh > $@ @chmod a+rx bashbug version.h: mkversion if ./mkversion -dir $(srcdir) -build; then mv -f newversion.h version.h; fi y.tab.c: parser-built y.tab.h: parser-built parser-built: parse.y parser.h command.h stdc.h input.h $(RM) $@ -if test -f y.tab.h; then mv -f y.tab.h old-y.tab.h; fi $(YACC) -d $(srcdir)/parse.y -if cmp -s old-y.tab.h y.tab.h; then mv old-y.tab.h y.tab.h; fi touch $@ #if defined (READLINE) && defined (HAVE_READLINE_SOURCE) $(READLINE_LIBRARY): $(READLINE_SOURCE) build_lib_in_dir ($(RL_LIBDIR), libreadline.a, srcdir=$(RL_ABSSRC), $(RL_ABSSRC)Makefile) #endif /* READLINE && HAVE_READLINE_SOURCE */ #if defined (HISTORY) && defined (HAVE_HISTORY_SOURCE) && !defined (READLINE) $(HISTORY_LIBRARY): $(HISTORY_SOURCE) build_lib_in_dir ($(HIST_LIBDIR), libhistory.a, srcdir=$(HIST_ABSSRC), $(HIST_ABSSRC)Makefile) #endif /* HISTORY && HAVE_HISTORY_SOURCE && !READLINE */ #if defined (HAVE_TERMCAP_SOURCE) $(TERMCAP_LIBRARY): $(TERMCAP_SOURCE) build_lib_in_dir ($(TERM_LIBDIR), libtermcap.a, srcdir=$(TERM_ABSSRC), $(TERM_ABSSRC)Makefile) #endif /* HAVE_TERMCAP_SOURCE */ #if defined (USE_GLOB_LIBRARY) $(GLOB_LIBRARY): $(GLOB_SOURCE) build_lib_in_dir ($(GLOB_LIBDIR), libglob.a, srcdir=$(GLOB_ABSSRC), $(GLOB_ABSSRC)Makefile) #endif /* USE_GLOB_LIBRARY */ #if defined (HAVE_TILDE_SOURCE) $(TILDE_LIBRARY): $(TILDE_SOURCE) build_lib_in_dir ($(TILDE_LIBDIR), libtilde.a, srcdir=$(TILDE_ABSSRC), $(TILDE_ABSSRC)Makefile) #endif /* HAVE_TILDE_SOURCE */ mkendian: $(SUPPORT_SRC)endian.c $(CC) $(CCFLAGS) $(CPPFLAGS) -o $@ $(SUPPORT_SRC)endian.c bash_endian.h: mkendian $(RM) $@ ./mkendian $@ mksignames: $(SUPPORT_SRC)mksignames.c $(CC) $(CCFLAGS) $(CPPFLAGS) -o $@ $(SUPPORT_SRC)mksignames.c signames.h: mksignames $(RM) $@ ./mksignames $@ builtins/libbuiltins.a: $(BUILTIN_OBJS) config.h memalloc.h build_builtins (libbuiltins.a) builtins/common.o: $(BUILTIN_SRCDIR)common.c build_builtins (common.o) builtins/bashgetopt.o: $(BUILTIN_SRCDIR)bashgetopt.c build_builtins (bashgetopt.o) builtins/builtext.h: builtins/libbuiltins.a /* Dependencies for the main bash source. */ copy_cmd.o: shell.h sig.h command.h stdc.h hash.h copy_cmd.o: general.h variables.h config.h memalloc.h quit.h copy_cmd.o: dispose_cmd.h make_cmd.h subst.h externs.h dispose_cmd.o: shell.h sig.h command.h stdc.h dispose_cmd.o: general.h variables.h config.h memalloc.h quit.h dispose_cmd.o: dispose_cmd.h make_cmd.h subst.h externs.h error.o: error.h execute_cmd.o: shell.h sig.h command.h stdc.h y.tab.h posixstat.h flags.h jobs.h execute_cmd.o: general.h variables.h config.h memalloc.h quit.h hash.h execute_cmd.o: unwind_prot.h siglist.h builtins/builtext.h execute_cmd.o: dispose_cmd.h make_cmd.h subst.h externs.h bashtypes.h expr.o: shell.h sig.h command.h stdc.h hash.h expr.o: general.h variables.h config.h memalloc.h quit.h expr.o: dispose_cmd.h make_cmd.h subst.h externs.h flags.o: flags.h stdc.h config.h memalloc.h general.h quit.h general.o: shell.h sig.h command.h stdc.h maxpath.h general.o: general.h variables.h config.h memalloc.h quit.h machines.h general.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h hash.o: shell.h sig.h command.h stdc.h hash.h hash.o: general.h variables.h config.h memalloc.h quit.h hash.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h jobs.o: shell.h sig.h command.h stdc.h hash.h trap.h jobs.h siglist.h jobs.o: general.h variables.h config.h memalloc.h quit.h jobs.o: dispose_cmd.h make_cmd.h subst.h externs.h builtins/builtext.h mailcheck.o: posixstat.h maxpath.h variables.h mailcheck.o: hash.h quit.h mailcheck.h make_cmd.o: shell.h sig.h command.h stdc.h flags.h input.h bashtypes.h make_cmd.o: general.h variables.h config.h memalloc.h quit.h make_cmd.o: dispose_cmd.h make_cmd.h subst.h externs.h y.tab.o: shell.h sig.h command.h stdc.h flags.h maxpath.h alias.h y.tab.o: general.h variables.h config.h memalloc.h quit.h mailcheck.h y.tab.o: dispose_cmd.h make_cmd.h subst.h externs.h bashtypes.h bashline.h print_cmd.o: shell.h sig.h command.h stdc.h y.tab.h print_cmd.o: general.h variables.h config.h memalloc.h quit.h print_cmd.o: dispose_cmd.h make_cmd.h subst.h externs.h shell.o: shell.h sig.h command.h stdc.h flags.h machines.h stdc.h parser.h shell.o: general.h variables.h config.h memalloc.h quit.h shell.o: dispose_cmd.h make_cmd.h subst.h externs.h mailcheck.h shell.o: posixstat.h filecntl.h jobs.h input.h $(ENDIAN_HEADER) subst.o: shell.h sig.h command.h stdc.h flags.h jobs.h siglist.h bashtypes.h subst.o: general.h variables.h config.h memalloc.h quit.h subst.o: dispose_cmd.h make_cmd.h subst.h externs.h execute_cmd.h subst.o: builtins/getopt.h $(GLOB_LIBSRC)glob.h bashline.h test.o: posixstat.h trap.o: trap.h shell.h sig.h command.h stdc.h hash.h unwind_prot.h signames.h trap.o: general.h variables.h config.h memalloc.h quit.h trap.o: dispose_cmd.h make_cmd.h subst.h externs.h unwind_prot.o: config.h memalloc.h general.h unwind_prot.h sig.h variables.o: shell.h sig.h command.h stdc.h hash.h flags.h mailcheck.h variables.o: config.h memalloc.h general.h variables.h quit.h variables.o: execute_cmd.h dispose_cmd.h make_cmd.h subst.h externs.h sig.o: shell.h sig.h command.h stdc.h hash.h flags.h sig.o: config.h memalloc.h general.h variables.h quit.h sig.o: bashtypes.h jobs.h bashline.h version.o: version.h .build alias.o: ansi_stdlib.h bashline.o: ansi_stdlib.h variables.o: ansi_stdlib.h shell.o: ansi_stdlib.h error.o: ansi_stdlib.h hash.o: ansi_stdlib.h signames.o: ansi_stdlib.h expr.o: ansi_stdlib.h general.o: ansi_stdlib.h input.o: ansi_stdlib.h #if !defined (JOB_CONTROL) jobs.o: nojobs.c #endif /* !JOB_CONTROL */ array.o: general.h shell.h sig.h variables.h quit.h config.h memalloc.h array.o: command.h error.h maxpath.h unwind_prot.h dispose_cmd.h array.o: make_cmd.h subst.h externs.h array.o: array.h stdc.h builtins/common.h braces.o: general.h shell.h sig.h variables.h quit.h config.h memalloc.h braces.o: dispose_cmd.h make_cmd.h subst.h externs.h braces.o: maxpath.h unwind_prot.h command.h stdc.h bracecomp.o: bracecomp.c bracecomp.o: shell.h sig.h command.h hash.h builtins.h general.h variables.h bracecomp.o: quit.h alias.h config.h bracecomp.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h #if defined (HAVE_READLINE_SOURCE) bracecomp.o: $(RL_LIBSRC)readline.h #endif /* HAVE_READLINE_SOURCE */ bashline.o: shell.h sig.h command.h stdc.h hash.h builtins.h execute_cmd.h bashline.o: general.h variables.h config.h memalloc.h quit.h alias.h bashline.o: dispose_cmd.h make_cmd.h subst.h externs.h config.h bashline.h bashline.o: $(GLOB_LIBSRC)glob.h bashhist.o: config.h bashansi.h posixstat.h filecntl.h bashhist.o: shell.h sig.h command.h stdc.h hash.h builtins.h execute_cmd.h bashhist.o: general.h variables.h memalloc.h quit.h alias.h bashhist.o: dispose_cmd.h make_cmd.h subst.h externs.h flags.h /* Dependencies which rely on the user using the source to READLINE. */ #if defined (READLINE) && defined (HAVE_READLINE_SOURCE) bashline.o: $(RL_LIBSRC)chardefs.h $(RL_LIBSRC)readline.h $(RL_LIBSRC)keymaps.h y.tab.o: $(RL_LIBSRC)keymaps.h $(RL_LIBSRC)chardefs.h $(RL_LIBSRC)readline.h #endif /* READLINE && HAVE_READLINE_SOURCE */ #if defined (HISTORY) && defined (HAVE_HISTORY_SOURCE) subst.o: $(HIST_LIBSRC)history.h bashline.o: $(HIST_LIBSRC)history.h bashhist.o: $(HIST_LIBSRC)history.h y.tab.o: $(HIST_LIBSRC)history.h #endif /* HISTORY && HAVE_HISTORY_SOURCE */ #if defined (USE_GLOB_LIBRARY) subst.o: $(GLOB_LIBSRC)fnmatch.h execute_cmd.o: $(GLOB_LIBSRC)fnmatch.h bashhist.o: $(GLOB_LIBSRC)fnmatch.h #endif /* USE_GLOB_LIBRARY */ #if defined (HAVE_TILDE_SOURCE) execute_cmd.o: $(TILDE_LIBSRC)tilde.h general.o: $(TILDE_LIBSRC)tilde.h mailcheck.o: $(TILDE_LIBSRC)tilde.h shell.o: $(TILDE_LIBSRC)tilde.h subst.o: $(TILDE_LIBSRC)tilde.h variables.o: $(TILDE_LIBSRC)tilde.h #endif /* HAVE_TILDE_SOURCE */ /* Dependencies for the shell builtins. */ builtins/common.o: shell.h sig.h command.h config.h memalloc.h general.h error.h builtins/common.o: variables.h input.h $(DEFDIR)hashcom.h siglist.h builtins/common.o: quit.h unwind_prot.h maxpath.h jobs.h builtins.h builtins/common.o: dispose_cmd.h make_cmd.h subst.h externs.h bashhist.h builtins/common.o: execute_cmd.h stdc.h builtins/alias.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/alias.o: quit.h builtins/common.h builtins/alias.o: shell.h sig.h command.h stdc.h unwind_prot.h variables.h builtins/alias.o: dispose_cmd.h make_cmd.h subst.h externs.h builtins/bind.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/bind.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/bind.o: shell.h sig.h unwind_prot.h variables.h quit.h builtins/bind.o: $(DEFDIR)bashgetopt.h builtins/break.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/break.o: shell.h sig.h unwind_prot.h variables.h quit.h builtins/break.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/builtin.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/builtin.o: quit.h $(DEFDIR)common.h builtins/builtin.o: shell.h sig.h unwind_prot.h variables.h builtins/builtin.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/cd.o: command.h config.h memalloc.h error.h general.h maxpath.h quit.h builtins/cd.o: shell.h sig.h unwind_prot.h variables.h $(DEFDIR)common.h builtins/cd.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/command.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/command.o: quit.h $(DEFDIR)bashgetopt.h builtins/command.o: shell.h sig.h unwind_prot.h variables.h builtins/command.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/declare.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/declare.o: shell.h sig.h unwind_prot.h variables.h quit.h builtins/declare.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/echo.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/echo.o: shell.h sig.h unwind_prot.h variables.h quit.h builtins/echo.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/enable.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/enable.o: shell.h sig.h unwind_prot.h variables.h quit.h builtins/enable.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/eval.o: command.h config.h memalloc.h error.h general.h maxpath.h quit.h builtins/eval.o: shell.h sig.h unwind_prot.h variables.h builtins/eval.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/exec.o: command.h config.h memalloc.h error.h general.h maxpath.h quit.h builtins/exec.o: shell.h sig.h unwind_prot.h variables.h $(DEFDIR)common.h stdc.h builtins/exec.o: dispose_cmd.h make_cmd.h subst.h externs.h execute_cmd.h builtins/exec.o: flags.h builtins/exit.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/exit.o: shell.h sig.h unwind_prot.h variables.h quit.h builtins/exit.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/fc.o: builtins.h command.h stdc.h builtins/fc.o: command.h config.h memalloc.h error.h general.h maxpath.h quit.h builtins/fc.o: flags.h unwind_prot.h variables.h shell.h sig.h builtins/fc.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/fc.o: $(DEFDIR)bashgetopt.h bashhist.h builtins/fg_bg.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/fg_bg.o: shell.h sig.h unwind_prot.h variables.h quit.h builtins/fg_bg.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/getopts.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/getopts.o: shell.h sig.h unwind_prot.h variables.h quit.h builtins/getopts.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/hash.o: builtins.h command.h execute_cmd.h stdc.h builtins/hash.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/hash.o: shell.h sig.h unwind_prot.h variables.h $(DEFDIR)common.h quit.h builtins/help.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/help.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/help.o: shell.h sig.h unwind_prot.h variables.h quit.h builtins/help.o: $(GLOB_LIBSRC)glob.h builtins/history.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/history.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/history.o: filecntl.h shell.h sig.h unwind_prot.h variables.h builtins/history.o: bashhist.h builtins/inlib.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/inlib.o: shell.h sig.h unwind_prot.h variables.h quit.h builtins/inlib.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/jobs.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/jobs.o: quit.h $(DEFDIR)bashgetopt.h builtins/jobs.o: shell.h sig.h unwind_prot.h variables.h builtins/jobs.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/kill.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/kill.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/kill.o: shell.h sig.h trap.h unwind_prot.h variables.h builtins/let.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/let.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/let.o: shell.h sig.h unwind_prot.h variables.h builtins/pushd.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/pushd.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/pushd.o: shell.h sig.h unwind_prot.h variables.h $(DEFDIR)common.h builtins/read.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/read.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/read.o: shell.h sig.h unwind_prot.h variables.h builtins/return.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/return.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/return.o: shell.h sig.h unwind_prot.h variables.h builtins/set.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/set.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h builtins/set.o: shell.h sig.h unwind_prot.h variables.h flags.h stdc.h builtins/setattr.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/setattr.o: quit.h $(DEFDIR)common.h $(DEFDIR)bashgetopt.h builtins/setattr.o: shell.h sig.h unwind_prot.h variables.h builtins/setattr.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/shift.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/shift.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/shift.o: shell.h sig.h unwind_prot.h variables.h builtins/shift.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/source.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/source.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/source.o: shell.h sig.h unwind_prot.h variables.h builtins/suspend.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/suspend.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/suspend.o: shell.h sig.h unwind_prot.h variables.h builtins/test.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/test.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/test.o: shell.h sig.h unwind_prot.h variables.h builtins/times.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/times.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/times.o: shell.h sig.h unwind_prot.h variables.h builtins/trap.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/trap.o: quit.h $(DEFDIR)common.h builtins/trap.o: shell.h sig.h unwind_prot.h variables.h builtins/trap.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/type.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/type.o: quit.h $(DEFDIR)common.h builtins/type.o: shell.h sig.h unwind_prot.h variables.h execute_cmd.h builtins/type.o: dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/ulimit.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/ulimit.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/ulimit.o: shell.h sig.h unwind_prot.h variables.h builtins/umask.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/umask.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/umask.o: shell.h sig.h unwind_prot.h variables.h builtins/wait.o: command.h config.h memalloc.h error.h general.h maxpath.h builtins/wait.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h stdc.h builtins/wait.o: shell.h sig.h unwind_prot.h variables.h builtins/shopt.o: command.h config.h memalloc.h error.h general.h builtins/shopt.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h builtins/shopt.o: shell.h unwind_prot.h variables.h maxpath.h builtins/shopt.o: builtins/common.h builtins/bashgetopt.h builtins/bashgetopt.o: bashansi.h ansi_stdlib.h builtins/mkbuiltins.o: bashansi.h ansi_stdlib.h builtins/fc.o: bashansi.h ansi_stdlib.h #if defined (READLINE) && defined (HAVE_READLINE_SOURCE) builtins/bind.o: $(RL_LIBSRC)chardefs.h $(RL_LIBSRC)readline.h $(RL_LIBSRC)keymaps.h #endif /* READLINE && HAVE_READLINE_SOURCE */ #if defined (HISTORY) && defined (HAVE_HISTORY_SOURCE) builtins/bind.o: $(HIST_LIBSRC)history.h builtins/fc.o: $(HIST_LIBSRC)history.h builtins/history.o: $(HIST_LIBSRC)history.h #endif /* HISTORY && HAVE_HISTORY_SOURCE */ #if defined (HAVE_TILDE_SOURCE) builtins/common.o: $(TILDE_LIBSRC)tilde.h builtins/cd.o: $(TILDE_LIBSRC)tilde.h #endif /* HAVE_TILDE_SOURCE */ builtins/alias.o: builtins/alias.def builtins/bind.o: builtins/bind.def builtins/break.o: builtins/break.def builtins/builtin.o: builtins/builtin.def builtins/cd.o: builtins/cd.def builtins/colon.o: builtins/colon.def builtins/command.o: builtins/command.def builtins/declare.o: builtins/declare.def builtins/echo.o: builtins/echo.def builtins/enable.o: builtins/enable.def builtins/eval.o: builtins/eval.def builtins/exec.o: builtins/exec.def builtins/exit.o: builtins/exit.def builtins/fc.o: builtins/fc.def builtins/fg_bg.o: builtins/fg_bg.def builtins/getopts.o: builtins/getopts.def builtins/hash.o: builtins/hash.def builtins/help.o: builtins/help.def builtins/history.o: builtins/history.def builtins/inlib.o: builtins/inlib.def builtins/jobs.o: builtins/jobs.def builtins/kill.o: builtins/kill.def builtins/let.o: builtins/let.def builtins/pushd.o: builtins/pushd.def builtins/read.o: builtins/read.def builtins/reserved.o: builtins/reserved.def builtins/return.o: builtins/return.def builtins/set.o: builtins/set.def builtins/setattr.o: builtins/setattr.def builtins/shift.o: builtins/shift.def builtins/shopt.o: builtins/shopt.def builtins/source.o: builtins/source.def builtins/suspend.o: builtins/suspend.def builtins/test.o: builtins/test.def builtins/times.o: builtins/times.def builtins/trap.o: builtins/trap.def builtins/type.o: builtins/type.def builtins/ulimit.o: builtins/ulimit.def builtins/umask.o: builtins/umask.def builtins/wait.o: builtins/wait.def install: .made $(INSTALL_PROGRAM) $(Program) $(bindir)/$(Program) $(INSTALL_PROGRAM) bashbug $(bindir)/bashbug $(RM) installed-$(Program) -ln -s $(bindir)/$(Program) installed-$(Program) ( cd $(DOCDIR) ; $(MAKE) $(MFLAGS) mandir=$(mandir) \ man3dir=$(man3dir) infodir=$(infodir) \ INSTALL_PROGRAM="${INSTALL_PROGRAM}" \ INSTALL_DATA="${INSTALL_DATA}" $@ ) uninstall: .made $(RM) $(bindir)/$(Program) installed-$(Program) $(bindir)/bashbug ( cd $(DOCDIR) ; $(MAKE) $(MFLAGS) mandir=$(mandir) man3dir=$(man3dir) infodir=$(infodir) $@ ) .distribution: ./mkversion -dir $(srcdir) -dist `$(Program) -c 'echo $$BASH_VERSION'` mkversion: $(SUPPORT_SRC)mkversion.c $(CC) $(CCFLAGS) $(CPPFLAGS) -I$(srcdir) -I.. -o $@ $(SUPPORT_SRC)mkversion.c newversion: mkversion $(RM) .build ./mkversion -dir $(srcdir) -dist mv -f newversion.h version.h $(MAKE) -f $(srcdir)/Makefile $(MFLAGS) srcdir=$(srcdir) texindex: force build_lib_in_dir($(LIBPATH)doc-support, texindex, $${topdir}/lib/doc-support, $${topdir}/lib/doc-support/Makefile) documentation: force texindex (cd $(DOCDIR); $(MAKE) $(MFLAGS) CFLAGS='$(CCFLAGS)') force: tags: $(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE) etags $(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE) TAGS: $(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE) ctags -x $(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE) > $@ clean: $(RM) $(OBJECTS) $(Program) bashbug ansi-Makefile *.aux $(RM) .build .made .machine version.h $(RM) $(CREATED_SUPPORT) bash-Makefile tags TAGS (cd $(DOCDIR); $(MAKE) $(MFLAGS) clean) (cd builtins; $(MAKE) $(MFLAGS) clean) $(CLEAN_READLINE) ; $(CLEAN_HISTORY) ; $(CLEAN_TERMCAP) ; $(CLEAN_GLOB) ; $(CLEAN_TILDE) ; $(CLEAN_MALLOC) ; distclean: clean $(RM) installed-bash realclean: clean $(RM) y.tab.c y.tab.h parser-built installed-bash recho: $(SUPPORT_SRC)recho.c @$(CC) -o $@ $(SUPPORT_SRC)recho.c tests: force $(Program) recho -[ -d tests ] || mkdir tests @cp recho $(SUPPORT_SRC)printenv tests ( cd tests ; sh run-all )