1# Makefile for bash-4.0, version 3.4
2#
3# Copyright (C) 1996-2009 Free Software Foundation, Inc.
4
5#   This program is free software: you can redistribute it and/or modify
6#   it under the terms of the GNU General Public License as published by
7#   the Free Software Foundation, either version 3 of the License, or
8#   (at your option) any later version.
9
10#   This program is distributed in the hope that it will be useful,
11#   but WITHOUT ANY WARRANTY; without even the implied warranty of
12#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13#   GNU General Public License for more details.
14
15#   You should have received a copy of the GNU General Public License
16#   along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
18# Make sure the first target in the makefile is the right one
19all: .made
20
21PACKAGE = @PACKAGE_NAME@
22VERSION = @PACKAGE_VERSION@
23
24PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
25PACKAGE_NAME = @PACKAGE_NAME@
26PACKAGE_STRING = @PACKAGE_STRING@
27PACKAGE_VERSION = @PACKAGE_VERSION@
28
29# Include some boilerplate Gnu makefile definitions.
30prefix = @prefix@
31
32exec_prefix = @exec_prefix@
33
34datarootdir = @datarootdir@
35
36bindir = @bindir@
37libdir = @libdir@
38infodir = @infodir@
39includedir = @includedir@
40datadir = @datadir@
41localedir = @localedir@
42
43mandir = @mandir@
44manpfx = man
45
46man1ext = .1
47man1dir = $(mandir)/$(manpfx)1
48man3ext = .3
49man3dir = $(mandir)/$(manpfx)3
50
51htmldir = @htmldir@
52
53# Support an alternate destination root directory for package building
54DESTDIR =
55
56topdir = @top_srcdir@
57BUILD_DIR = @BUILD_DIR@
58top_builddir = @BUILD_DIR@
59srcdir = @srcdir@
60VPATH = .:@srcdir@
61
62@SET_MAKE@
63CC = @CC@
64CC_FOR_BUILD = @CC_FOR_BUILD@
65YACC = @YACC@
66SHELL = @MAKE_SHELL@
67CP = cp
68RM = rm -f
69AR = @AR@
70ARFLAGS = @ARFLAGS@
71RANLIB = @RANLIB@
72SIZE = @SIZE@
73
74INSTALL = @INSTALL@
75INSTALL_PROGRAM = @INSTALL_PROGRAM@
76INSTALL_SCRIPT = @INSTALL_SCRIPT@
77INSTALL_DATA = @INSTALL_DATA@
78INSTALLMODE= -m 0755
79INSTALLMODE2 = -m 0555
80
81TESTSCRIPT = @TESTSCRIPT@
82
83DEBUGGER_START_FILE = @DEBUGGER_START_FILE@
84
85#If you have purify, and want to use it, uncomment this definition or
86# run the make as `make PURIFY=purify'
87# or run configure with the --with-purify argument.
88PURIFY = @PURIFY@
89
90# Here is a rule for making .o files from .c files that does not
91# force the type of the machine (like -M_MACHINE) into the flags.
92.c.o:
93	$(RM) $@
94	$(CC) $(CCFLAGS) -c $<
95
96EXEEXT = @EXEEXT@
97OBJEXT = @OBJEXT@
98
99# The name of this program and some version information.
100VERSPROG = bashversion$(EXEEXT)
101VERSOBJ = bashversion.$(OBJEXT)
102
103Program = bash$(EXEEXT)
104Version = @BASHVERS@
105PatchLevel = `$(BUILD_DIR)/$(VERSPROG) -p`
106RELSTATUS = @RELSTATUS@
107
108Machine = @host_cpu@
109OS = @host_os@
110VENDOR = @host_vendor@
111MACHTYPE = @host@
112
113# comment out for release
114DEBUG = @DEBUG@
115MALLOC_DEBUG = @MALLOC_DEBUG@
116
117THIS_SH = $(BUILD_DIR)/$(Program)
118
119# PROFILE_FLAGS is either -pg, to generate profiling info for use
120# with gprof, or nothing (the default).
121PROFILE_FLAGS= @PROFILE_FLAGS@
122
123CFLAGS = @CFLAGS@
124CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ @CROSS_COMPILE@
125CPPFLAGS = @CPPFLAGS@
126CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
127LOCAL_CFLAGS = @LOCAL_CFLAGS@ ${DEBUG} ${MALLOC_DEBUG}
128DEFS = @DEFS@
129LOCAL_DEFS = @LOCAL_DEFS@
130
131LOCALE_DEFS = -DLOCALEDIR='"$(localedir)"' -DPACKAGE='"$(PACKAGE)"'
132
133LOCAL_LIBS = @LOCAL_LIBS@
134LIBS = $(BUILTINS_LIB) $(LIBRARIES) @LIBS@
135LIBS_FOR_BUILD = 
136
137STATIC_LD = @STATIC_LD@
138LOCAL_LDFLAGS = @LOCAL_LDFLAGS@
139
140SYSTEM_FLAGS = -DPROGRAM='"$(Program)"' -DCONF_HOSTTYPE='"$(Machine)"' -DCONF_OSTYPE='"$(OS)"' -DCONF_MACHTYPE='"$(MACHTYPE)"' -DCONF_VENDOR='"$(VENDOR)"' $(LOCALE_DEFS)
141
142BASE_CCFLAGS = $(PROFILE_FLAGS) $(SYSTEM_FLAGS) $(LOCAL_DEFS) \
143	  $(DEFS) $(LOCAL_CFLAGS) $(INCLUDES)
144
145CCFLAGS = $(BASE_CCFLAGS) $(CPPFLAGS) $(CFLAGS)
146
147CCFLAGS_FOR_BUILD = $(BASE_CCFLAGS) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD)
148
149LDFLAGS = @LDFLAGS@ $(STATIC_LD) $(LOCAL_LDFLAGS) $(PROFILE_FLAGS) $(CFLAGS)
150LDFLAGS_FOR_BUILD = $(LDFLAGS)
151
152INCLUDES = -I. @RL_INCLUDE@ -I$(srcdir) -I$(BASHINCDIR) -I$(LIBSRC) $(INTL_INC)
153
154# Maybe add: -Wextra
155GCC_LINT_FLAGS = -O -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wno-parentheses \
156		 -Wcast-align -Wstrict-prototypes -Wconversion -Wformat \
157		 -Wformat-nonliteral -Wmissing-braces -Wuninitialized \
158		 -Wmissing-declarations  -Winline \
159		 -Wmissing-prototypes -Wtraditional -Wredundant-decls -pedantic
160
161GCC_LINT_CFLAGS = $(BASE_CCFLAGS) $(CPPFLAGS) $(GCC_LINT_FLAGS)
162
163BEOSSETVERSION = 
164
165#
166# Support libraries
167# 
168
169dot = .
170
171LIBSUBDIR = lib
172LIBSRC = $(srcdir)/$(LIBSUBDIR)
173
174LIBBUILD = ${BUILD_DIR}/${LIBSUBDIR}
175
176SUBDIR_INCLUDES = -I. @RL_INCLUDE@ -I$(topdir) -I$(topdir)/$(LIBSUBDIR)
177
178BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
179USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
180
181# the bash library
182# the library is a mix of functions that the C library does not provide on
183# some platforms and general shell utility functions
184SH_LIBSRC = $(LIBSRC)/sh
185SH_LIBDIR = $(dot)/${LIBSUBDIR}/sh
186SH_ABSSRC = ${topdir}/${SH_LIBSRC}
187
188SHLIB_SOURCE =	${SH_LIBSRC}/clktck.c ${SH_LIBSRC}/getcwd.c \
189		${SH_LIBSRC}/getenv.c ${SH_LIBSRC}/oslib.c \
190		${SH_LIBSRC}/setlinebuf.c \
191		${SH_LIBSRC}/strcasecmp.c ${SH_LIBSRC}/strerror.c \
192		${SH_LIBSRC}/strtod.c ${SH_LIBSRC}/strtol.c \
193		${SH_LIBSRC}/strtoul.c ${SH_LIBSRC}/vprint.c \
194		${SH_LIBSRC}/itos.c ${SH_LIBSRC}/rename.c \
195		${SH_LIBSRC}/zread.c ${SH_LIBSRC}/zwrite.c \
196		${SH_LIBSRC}/shtty.c ${SH_LIBSRC}/inet_aton.c \
197		${SH_LIBSRC}/netopen.c ${SH_LIBSRC}/strpbrk.c \
198		${SH_LIBSRC}/timeval.c ${SH_LIBSRC}/clock.c \
199		${SH_LIBSRC}/makepath.c ${SH_LIBSRC}/pathcanon.c \
200		${SH_LIBSRC}/pathphys.c ${SH_LIBSRC}/stringlist.c \
201		${SH_LIBSRC}/stringvec.c ${SH_LIBSRC}/tmpfile.c \
202		${SH_LIBSRC}/spell.c ${SH_LIBSRC}/strtrans.c \
203		${SH_LIBSRC}/strindex.c ${SH_LIBSRC}/shquote.c \
204		${SH_LIBSRC}/snprintf.c ${SH_LIBSRC}/mailstat.c \
205		${SH_LIBSRC}/fmtulong.c ${SH_LIBSRC}/fmtullong.c \
206		${SH_LIBSRC}/strtoll.c ${SH_LIBSRC}/strtoull.c \
207		${SH_LIBSRC}/strtoimax.c ${SH_LIBSRC}/strtoumax.c \
208		${SH_LIBSRC}/fmtumax.c ${SH_LIBSRC}/netconn.c \
209		${SH_LIBSRC}/mktime.c ${SH_LIBSRC}/strftime.c \
210		${SH_LIBSRC}/memset.c ${SH_LIBSRC}/xstrchr.c \
211		${SH_LIBSRC}/zcatfd.c ${SH_LIBSRC}/shmatch.c \
212		${SH_LIBSRC}/strnlen.c ${SH_LIBSRC}/winsize.c \
213		${SH_LIBSRC}/eaccess.c ${SH_LIBSRC}/wcsdup.c \
214		${SH_LIBSRC}/zmapfd.c ${SH_LIBSRC}/fpurge.c \
215		${SH_LIBSRC}/zgetline.c ${SH_LIBSRC}/mbscmp.c \
216		${SH_LIBSRC}/casemod.c ${SH_LIBSRC}/uconvert.c \
217		${SH_LIBSRC}/ufuncs.c ${SH_LIBSRC}/fdprintf.c \
218		${SH_LIBSRC}/input_avail.c
219
220SHLIB_LIB = -lsh
221SHLIB_LIBNAME = libsh.a
222SHLIB_LIBRARY = ${SH_LIBDIR}/${SHLIB_LIBNAME}
223SHLIB_LDFLAGS = -L${SH_LIBDIR}
224SHLIB_DEP = ${SHLIB_LIBRARY}
225
226# we assume for now that readline source is being shipped with bash
227RL_LIBSRC = $(LIBSRC)/readline
228RL_LIBDOC = $(RL_LIBSRC)/doc
229RL_LIBDIR = @RL_LIBDIR@
230RL_ABSSRC = ${topdir}/$(RL_LIBDIR)
231
232RL_INCLUDEDIR = @RL_INCLUDEDIR@
233
234READLINE_LIB = @READLINE_LIB@
235READLINE_LIBRARY = $(RL_LIBDIR)/libreadline.a
236READLINE_LDFLAGS = -L${RL_LIBDIR}
237READLINE_DEP = @READLINE_DEP@
238
239# The source, object and documentation of the GNU Readline library.
240READLINE_SOURCE	= $(RL_LIBSRC)/rldefs.h $(RL_LIBSRC)/rlconf.h \
241		  $(RL_LIBSRC)/readline.h $(RL_LIBSRC)/tcap.h \
242		  $(RL_LIBSRC)/chardefs.h $(RL_LIBSRC)/keymaps.h \
243		  $(RL_LIBSRC)/history.h $(RL_LIBSRC)/histlib.h \
244		  $(RL_LIBSRC)/posixstat.h $(RL_LIBSRC)/tilde.h \
245		  $(RL_LIBSRC)/rlstdc.h ${RL_LIBSRC}/xmalloc.h \
246		  $(RL_LIBSRC)/rlshell.h ${RL_LIBSRC}/rlprivate.h \
247		  $(RL_LIBSRC)/funmap.c $(RL_LIBSRC)/emacs_keymap.c \
248		  $(RL_LIBSRC)/search.c $(RL_LIBSRC)/vi_keymap.c \
249		  $(RL_LIBSRC)/keymaps.c $(RL_LIBSRC)/parens.c \
250		  $(RL_LIBSRC)/vi_mode.c $(RL_LIBSRC)/callback.c \
251		  $(RL_LIBSRC)/readline.c $(RL_LIBSRC)/tilde.c \
252		  $(RL_LIBSRC)/rltty.c $(RL_LIBSRC)/complete.c \
253		  $(RL_LIBSRC)/bind.c $(RL_LIBSRC)/isearch.c \
254		  $(RL_LIBSRC)/display.c $(RL_LIBSRC)/signals.c \
255		  $(RL_LIBSRC)/util.c $(RL_LIBSRC)/kill.c $(RL_LIBSRC)/text.c \
256		  $(RL_LIBSRC)/undo.c $(RL_LIBSRC)/macro.c \
257		  $(RL_LIBSRC)/terminal.c $(RL_LIBSRC)/nls.c \
258		  $(RL_LIBSRC)/input.c $(RL_LIBSRC)/xmalloc.c \
259		  $(RL_LIBSRC)/shell.c $(RL_LIBSRC)/savestring.c \
260		  $(RL_LIBSRC)/misc.c $(RL_LIBSRC)/mbutil.c $(RL_LIBSRC)/compat.c \
261		  $(RL_LIBSRC)/histexpand.c $(RL_LIBSRC)/history.c \
262		  $(RL_LIBSRC)/histsearch.c $(RL_LIBSRC)/histfile.c
263
264READLINE_OBJ	= $(RL_LIBDIR)/readline.o $(RL_LIBDIR)/funmap.o \
265		  $(RL_LIBDIR)/parens.o $(RL_LIBDIR)/search.o \
266		  $(RL_LIBDIR)/keymaps.o $(RL_LIBDIR)/xmalloc.o \
267		  $(RL_LIBDIR)/rltty.o $(RL_LIBDIR)/complete.o \
268		  $(RL_LIBDIR)/bind.o $(RL_LIBDIR)/isearch.o \
269		  $(RL_LIBDIR)/display.o $(RL_LIBDIR)/signals.o \
270		  $(RL_LIBDIR)/tilde.o $(RL_LIBDIR)/util.o \
271		  $(RL_LIBDIR)/kill.o $(RL_LIBDIR)/undo.o $(RL_LIBDIR)/nls.o \
272		  $(RL_LIBDIR)/macro.o $(RL_LIBDIR)/input.o \
273		  $(RL_LIBDIR)/terminal.o $(RL_LIBDIR)/callback.o \
274		  $(RL_LIBDIR)/shell.o $(RL_LIBDIR)/savestring.o \
275		  $(RL_LIBDIR)/mbutil.o $(RL_LIBDIR)/compat.o \
276		  $(RL_LIBDIR)/history.o $(RL_LIBDIR)/histexpand.o \
277		  $(RL_LIBDIR)/histsearch.o $(RL_LIBDIR)/histfile.o
278
279HIST_LIBSRC = $(LIBSRC)/readline
280HIST_LIBDIR = @HIST_LIBDIR@
281HIST_ABSSRC = ${topdir}/$(HIST_LIBDIR)
282
283HISTORY_LIB = @HISTORY_LIB@
284HISTORY_LIBRARY = $(HIST_LIBDIR)/libhistory.a
285HISTORY_LDFLAGS = -L$(HIST_LIBDIR)
286HISTORY_DEP = @HISTORY_DEP@
287
288# The source, object and documentation of the history library.
289HISTORY_SOURCE	= $(HIST_LIBSRC)/history.c $(HIST_LIBSRC)/histexpand.c \
290		  $(HIST_LIBSRC)/histsearch.c $(HIST_LIBSRC)/histfile.c \
291		  $(HIST_LIBSRC)/shell.c \
292		  $(HIST_LIBSRC)/history.h $(HIST_LIBSRC)/histlib.h
293HISTORY_OBJ	= $(HIST_LIBDIR)/history.o $(HIST_LIBDIR)/histexpand.o \
294		  $(HIST_LIBDIR)/histsearch.o $(HIST_LIBDIR)/histfile.o \
295		  $(HIST_LIBDIR)/shell.o
296
297# You only need termcap (or curses) if you are linking with GNU Readline.
298TERM_LIBSRC = $(LIBSRC)/termcap
299TERM_LIBDIR = $(dot)/$(LIBSUBDIR)/termcap
300TERM_ABSSRC = ${topdir}/$(TERM_LIBDIR)
301
302TERMCAP_LIB = @TERMCAP_LIB@
303TERMCAP_LIBRARY = $(TERM_LIBDIR)/libtermcap.a
304TERMCAP_LDFLAGS = -L$(TERM_LIBDIR)
305TERMCAP_DEP = @TERMCAP_DEP@
306
307TERMCAP_SOURCE	= $(TERM_LIBSRC)/termcap.c $(TERM_LIBSRC)/tparam.c
308TERMCAP_OBJ	= $(TERM_LIBDIR)/termcap.o $(TERM_LIBDIR)/tparam.o
309
310GLOB_LIBSRC = $(LIBSRC)/glob
311GLOB_LIBDIR = $(dot)/$(LIBSUBDIR)/glob
312GLOB_ABSSRC = ${topdir}/$(GLOB_LIBDIR)
313
314GLOB_LIB     = -lglob
315GLOB_LIBRARY = $(GLOB_LIBDIR)/libglob.a
316GLOB_LDFLAGS = -L$(GLOB_LIBDIR)
317GLOB_DEP = $(GLOB_LIBRARY)
318
319GLOB_SOURCE = $(GLOB_LIBSRC)/glob.c $(GLOB_LIBSRC)/strmatch.c \
320	      $(GLOB_LIBSRC)/smatch.c $(GLOB_LIBSRC)/xmbsrtowcs.c \
321	      $(GLOB_LIBSRC)/glob_loop.c $(GLOB_LIBSRC)/sm_loop.c \
322	      $(GLOB_LIBSRC)/glob.h $(GLOB_LIBSRC)/strmatch.h
323GLOB_OBJ    = $(GLOB_LIBDIR)/glob.o $(GLOB_LIBDIR)/strmatch.o \
324	      $(GLOB_LIBDIR)/smatch.o $(GLOB_LIBDIR)/xmbsrtowcs.o
325
326# The source, object and documentation for the GNU Tilde library.
327TILDE_LIBSRC = $(LIBSRC)/tilde
328TILDE_LIBDIR = $(dot)/$(LIBSUBDIR)/tilde
329TILDE_ABSSRC = ${topdir}/$(TILDE_LIBDIR)
330
331TILDE_LIB = @TILDE_LIB@
332TILDE_LIBRARY = $(TILDE_LIBDIR)/libtilde.a
333TILDE_LDFLAGS = -L$(TILDE_LIBDIR)
334TILDE_DEP = $(TILDE_LIBRARY)
335
336TILDE_SOURCE	= $(TILDE_LIBSRC)/tilde.c $(TILDE_LIBSRC)/tilde.h
337TILDE_OBJ	= $(TILDE_LIBDIR)/tilde.o
338
339# libintl
340INTL_LIBSRC = $(LIBSRC)/intl
341INTL_LIBDIR = $(dot)/$(LIBSUBDIR)/intl
342INTL_ABSSRC = ${topdir}/$(INTL_LIB)
343INTL_BUILDDIR = ${LIBBUILD}/intl
344
345INTL_LIB     = @LIBINTL@
346INTL_LIBRARY = $(INTL_LIBDIR)/libintl.a
347INTL_DEP = @INTL_DEP@
348INTL_INC = @INTL_INC@
349
350LIBINTL_H = @LIBINTL_H@
351
352# tests
353LIBINTL = @LIBINTL@
354LTLIBINTL = @LTLIBINTL@
355INTLLIBS = @INTLLIBS@
356INTLOBJS = @INTLOBJS@
357
358# Our malloc.
359MALLOC_TARGET = @MALLOC_TARGET@
360
361# set to alloca.o if we are using the C alloca in lib/malloc
362ALLOCA = @ALLOCA@
363
364ALLOC_LIBSRC = $(LIBSRC)/malloc
365ALLOC_LIBDIR = $(dot)/$(LIBSUBDIR)/malloc
366ALLOC_ABSSRC = ${topdir}/$(ALLOC_LIBDIR)
367
368MALLOC_SRC = @MALLOC_SRC@
369MALLOC_OTHERSRC = ${ALLOC_LIBSRC}/trace.c ${ALLOC_LIBSRC}/stats.c \
370		  ${ALLOC_LIBSRC}/table.c ${ALLOC_LIBSRC}/watch.c
371MALLOC_SOURCE = ${ALLOC_LIBSRC}/${MALLOC_SRC} ${MALLOC_OTHERSRC}
372MALLOC_CFLAGS = -DRCHECK -Dbotch=programming_error ${MALLOC_DEBUG}
373
374MALLOC_LIB     = @MALLOC_LIB@
375MALLOC_LIBRARY = @MALLOC_LIBRARY@
376MALLOC_LDFLAGS = @MALLOC_LDFLAGS@
377MALLOC_DEP = @MALLOC_DEP@
378
379ALLOC_HEADERS = $(ALLOC_LIBSRC)/getpagesize.h $(ALLOC_LIBSRC)/shmalloc.h \
380		$(ALLOC_LIBSRC)/imalloc.h $(ALLOC_LIBSRC)/mstats.h \
381		$(ALLOC_LIBSRC)/table.h $(ALLOC_LIBSRC)/watch.h
382
383$(MALLOC_LIBRARY):	${MALLOC_SOURCE} ${ALLOC_HEADERS} config.h
384		@(cd $(ALLOC_LIBDIR) && \
385		 $(MAKE) $(MFLAGS) \
386		 MALLOC_CFLAGS="$(MALLOC_CFLAGS)" ${MALLOC_TARGET} ) || exit 1
387
388BASHINCDIR = ${srcdir}/include
389BASHINCFILES =	 $(BASHINCDIR)/posixstat.h $(BASHINCDIR)/ansi_stdlib.h \
390		 $(BASHINCDIR)/filecntl.h $(BASHINCDIR)/posixdir.h \
391		 $(BASHINCDIR)/memalloc.h $(BASHINCDIR)/stdc.h \
392		 $(BASHINCDIR)/posixjmp.h $(BASHINCDIR)/posixwait.h \
393		 $(BASHINCDIR)/posixtime.h $(BASHINCDIR)/systimes.h \
394		 $(BASHINCDIR)/unionwait.h $(BASHINCDIR)/maxpath.h \
395		 $(BASHINCDIR)/shtty.h $(BASHINCDIR)/typemax.h \
396		 $(BASHINCDIR)/ocache.h
397
398LIBRARIES = $(SHLIB_LIB) $(READLINE_LIB) $(HISTORY_LIB) $(TERMCAP_LIB) $(GLOB_LIB) \
399	    $(TILDE_LIB) $(MALLOC_LIB) $(INTL_LIB) $(LOCAL_LIBS)
400
401LIBDEP = $(SHLIB_DEP) $(INTL_DEP) $(READLINE_DEP) $(HISTORY_DEP) $(TERMCAP_DEP) $(GLOB_DEP) \
402	 $(TILDE_DEP) $(MALLOC_DEP)
403
404LIBRARY_LDFLAGS = $(READLINE_LDFLAGS) $(HISTORY_LDFLAGS) $(GLOB_LDFLAGS) \
405		  $(TILDE_LDFLAGS) $(MALLOC_LDFLAGS) $(SHLIB_LDFLAGS)
406
407#
408# The shell itself
409#
410
411# The main source code for the Bourne Again SHell.
412CSOURCES = shell.c eval.c parse.y general.c make_cmd.c print_cmd.c y.tab.c \
413	   dispose_cmd.c execute_cmd.c variables.c $(GLOBC) version.c \
414	   expr.c copy_cmd.c flags.c subst.c hashcmd.c hashlib.c mailcheck.c \
415	   test.c trap.c alias.c jobs.c nojobs.c $(ALLOC_FILES) braces.c \
416	   input.c bashhist.c array.c arrayfunc.c assoc.c sig.c pathexp.c \
417	   unwind_prot.c siglist.c bashline.c bracecomp.c error.c \
418	   list.c stringlib.c locale.c findcmd.c redir.c \
419	   pcomplete.c pcomplib.c syntax.c xmalloc.c
420
421HSOURCES = shell.h flags.h trap.h hashcmd.h hashlib.h jobs.h builtins.h \
422	   general.h variables.h config.h $(ALLOC_HEADERS) alias.h \
423	   quit.h unwind_prot.h syntax.h ${GRAM_H} \
424	   command.h input.h error.h bashansi.h dispose_cmd.h make_cmd.h \
425	   subst.h externs.h siglist.h bashhist.h bashline.h bashtypes.h \
426	   array.h arrayfunc.h sig.h mailcheck.h bashintl.h bashjmp.h \
427	   execute_cmd.h parser.h pathexp.h pathnames.h pcomplete.h assoc.h \
428	   $(BASHINCFILES)
429
430SOURCES	 = $(CSOURCES) $(HSOURCES) $(BUILTIN_DEFS)
431
432# header files chosen based on running of configure
433SIGNAMES_H = @SIGNAMES_H@
434
435# object files chosen based on running of configure
436JOBS_O = @JOBS_O@
437SIGLIST_O = @SIGLIST_O@
438SIGNAMES_O = @SIGNAMES_O@
439
440# Matching object files.
441OBJECTS	 = shell.o eval.o y.tab.o general.o make_cmd.o print_cmd.o $(GLOBO) \
442	   dispose_cmd.o execute_cmd.o variables.o copy_cmd.o error.o \
443	   expr.o flags.o $(JOBS_O) subst.o hashcmd.o hashlib.o mailcheck.o \
444	   trap.o input.o unwind_prot.o pathexp.o sig.o test.o version.o \
445	   alias.o array.o arrayfunc.o assoc.o braces.o bracecomp.o bashhist.o \
446	   bashline.o $(SIGLIST_O) list.o stringlib.o locale.o findcmd.o redir.o \
447	   pcomplete.o pcomplib.o syntax.o xmalloc.o $(SIGNAMES_O)
448
449# Where the source code of the shell builtins resides.
450BUILTIN_SRCDIR=$(srcdir)/builtins
451DEFSRC=$(BUILTIN_SRCDIR)
452BUILTIN_ABSSRC=${topdir}/builtins
453DEFDIR = $(dot)/builtins
454DEBUGGER_DIR = $(dot)/debugger
455
456BUILTIN_DEFS = $(DEFSRC)/alias.def $(DEFSRC)/bind.def $(DEFSRC)/break.def \
457	       $(DEFSRC)/builtin.def $(DEFSRC)/cd.def $(DEFSRC)/colon.def \
458	       $(DEFSRC)/command.def ${DEFSRC}/complete.def \
459	       $(DEFSRC)/caller.def $(DEFSRC)/declare.def \
460	       $(DEFSRC)/echo.def $(DEFSRC)/enable.def $(DEFSRC)/eval.def \
461	       $(DEFSRC)/exec.def $(DEFSRC)/exit.def $(DEFSRC)/fc.def \
462	       $(DEFSRC)/fg_bg.def $(DEFSRC)/hash.def $(DEFSRC)/help.def \
463	       $(DEFSRC)/history.def $(DEFSRC)/jobs.def $(DEFSRC)/kill.def \
464	       $(DEFSRC)/let.def $(DEFSRC)/read.def $(DEFSRC)/return.def \
465	       $(DEFSRC)/set.def $(DEFSRC)/setattr.def $(DEFSRC)/shift.def \
466	       $(DEFSRC)/source.def $(DEFSRC)/suspend.def $(DEFSRC)/test.def \
467	       $(DEFSRC)/times.def $(DEFSRC)/trap.def $(DEFSRC)/type.def \
468	       $(DEFSRC)/ulimit.def $(DEFSRC)/umask.def $(DEFSRC)/wait.def \
469	       $(DEFSRC)/getopts.def $(DEFSRC)/reserved.def \
470	       $(DEFSRC)/pushd.def $(DEFSRC)/shopt.def $(DEFSRC)/printf.def \
471	       $(DEFSRC)/mapfile.def
472BUILTIN_C_SRC  = $(DEFSRC)/mkbuiltins.c $(DEFSRC)/common.c \
473		 $(DEFSRC)/evalstring.c $(DEFSRC)/evalfile.c \
474		 $(DEFSRC)/bashgetopt.c $(GETOPT_SOURCE)
475BUILTIN_C_OBJ  = $(DEFDIR)/common.o $(DEFDIR)/evalstring.o \
476		 $(DEFDIR)/evalfile.o $(DEFDIR)/bashgetopt.o
477BUILTIN_OBJS = $(DEFDIR)/alias.o $(DEFDIR)/bind.o $(DEFDIR)/break.o \
478	       $(DEFDIR)/builtin.o $(DEFDIR)/cd.o $(DEFDIR)/colon.o \
479	       $(DEFDIR)/command.o $(DEFDIR)/caller.o $(DEFDIR)/declare.o \
480	       $(DEFDIR)/echo.o $(DEFDIR)/enable.o $(DEFDIR)/eval.o \
481	       $(DEFDIR)/exec.o $(DEFDIR)/exit.o $(DEFDIR)/fc.o \
482	       $(DEFDIR)/fg_bg.o $(DEFDIR)/hash.o $(DEFDIR)/help.o \
483	       $(DEFDIR)/history.o $(DEFDIR)/jobs.o $(DEFDIR)/kill.o \
484	       $(DEFDIR)/let.o $(DEFDIR)/pushd.o $(DEFDIR)/read.o \
485	       $(DEFDIR)/return.o $(DEFDIR)/shopt.o $(DEFDIR)/printf.o \
486	       $(DEFDIR)/set.o $(DEFDIR)/setattr.o $(DEFDIR)/shift.o \
487	       $(DEFDIR)/source.o $(DEFDIR)/suspend.o $(DEFDIR)/test.o \
488	       $(DEFDIR)/times.o $(DEFDIR)/trap.o $(DEFDIR)/type.o \
489	       $(DEFDIR)/ulimit.o $(DEFDIR)/umask.o $(DEFDIR)/wait.o \
490	       $(DEFDIR)/getopts.o $(DEFDIR)/mapfile.o $(BUILTIN_C_OBJ)
491GETOPT_SOURCE   = $(DEFSRC)/getopt.c $(DEFSRC)/getopt.h
492PSIZE_SOURCE	= $(DEFSRC)/psize.sh $(DEFSRC)/psize.c
493
494BUILTINS_LIBRARY = $(DEFDIR)/libbuiltins.a
495BUILTINS_LIB = -lbuiltins
496BUILTINS_LDFLAGS = -L$(DEFDIR)
497BUILTINS_DEP = $(BUILTINS_LIBRARY)
498
499# Documentation for the shell.
500DOCSRC = $(srcdir)/doc
501DOCDIR = $(dot)/doc
502
503# Translations and other i18n support files
504PO_SRC = $(srcdir)/po/
505PO_DIR = $(dot)/po/
506
507SIGNAMES_SUPPORT = $(SUPPORT_SRC)mksignames.c
508
509SUPPORT_SRC = $(srcdir)/support/
510SDIR = $(dot)/support/
511
512TESTS_SUPPORT = recho$(EXEEXT) zecho$(EXEEXT) printenv$(EXEEXT) xcase$(EXEEXT)
513CREATED_SUPPORT = signames.h recho$(EXEEXT) zecho$(EXEEXT) printenv$(EXEEXT) \
514		  tests/recho$(EXEEXT) tests/zecho$(EXEEXT) \
515		  tests/printenv$(EXEEXT) xcase$(EXEEXT) tests/xcase$(EXEEXT) \
516		  mksignames$(EXEEXT) lsignames.h \
517		  mksyntax${EXEEXT} syntax.c $(VERSPROG) $(VERSOBJ) \
518		  buildversion.o mksignames.o signames.o buildsignames.o
519CREATED_CONFIGURE = config.h config.cache config.status config.log \
520		    stamp-h po/POTFILES
521CREATED_MAKEFILES = Makefile builtins/Makefile doc/Makefile \
522		    lib/readline/Makefile lib/glob/Makefile \
523		    lib/sh/Makefile lib/tilde/Makefile lib/malloc/Makefile \
524		    lib/termcap/Makefile examples/loadables/Makefile \
525		    examples/loadables/perl/Makefile support/Makefile \
526		    lib/intl/Makefile po/Makefile po/Makefile.in
527
528# Keep GNU Make from exporting the entire environment for small machines.
529.NOEXPORT:
530
531.made: $(Program) $(BEOSSETVERSION) bashbug
532	@echo "$(Program) last made for a $(Machine) running $(OS)" >.made
533
534$(Program):  .build $(OBJECTS) $(BUILTINS_DEP) $(LIBDEP)
535	$(RM) $@
536	$(PURIFY) $(CC) $(BUILTINS_LDFLAGS) $(LIBRARY_LDFLAGS) $(LDFLAGS) -o $(Program) $(OBJECTS) $(LIBS)
537	ls -l $(Program)
538	-$(SIZE) $(Program)
539
540.build:	$(SOURCES) config.h Makefile version.h $(VERSPROG)
541	@echo
542	@echo "	  ***********************************************************"
543	@echo "	  *                                                         *"
544	@echo "	  * `$(BUILD_DIR)/$(VERSPROG) -l`"
545	@echo "	  *                                                         *"
546	@echo "	  ***********************************************************"
547	@echo
548
549beos-setversion:
550	setversion $(Program) -app `$(BUILD_DIR)/$(VERSPROG) -r` \
551`$(BUILD_DIR)/$(VERSPROG) -v | sed 's/./& /g'` $(PatchLevel) \
552-short "$(Version)" -long "$(Version) `echo -n -e '\302\251'` 2002 The Free Software Foundation"
553
554bashbug: $(SUPPORT_SRC)bashbug.sh config.h Makefile $(VERSPROG)
555	@sed -e "s%!MACHINE!%$(Machine)%" -e "s%!OS!%$(OS)%" \
556	     -e "s%!CFLAGS!%$(CCFLAGS)%" -e "s%!CC!%$(CC)%" \
557	     -e "s%!RELEASE!%$(Version)%" -e "s%!PATCHLEVEL!%$(PatchLevel)%" \
558	     -e "s%!MACHTYPE!%$(MACHTYPE)%" -e "s%!RELSTATUS!%$(RELSTATUS)%" \
559	     $(SUPPORT_SRC)bashbug.sh > $@
560	@chmod a+rx bashbug
561
562strip:	$(Program) .made
563	strip $(Program)
564	ls -l $(Program)
565	-$(SIZE) $(Program)
566
567lint:
568	${MAKE} ${MFLAGS} CFLAGS='${GCC_LINT_FLAGS}' .made
569
570version.h:  $(SOURCES) config.h Makefile 
571	$(SHELL) $(SUPPORT_SRC)mkversion.sh -b -S ${topdir} -s $(RELSTATUS) -d $(Version) -o newversion.h \
572		&& mv newversion.h version.h
573
574bashversion$(EXEEXT):	patchlevel.h conftypes.h version.h buildversion.o $(SUPPORT_SRC)bashversion.c
575	$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)bashversion.c buildversion.o ${LIBS_FOR_BUILD}
576
577buildversion.o: version.h conftypes.h patchlevel.h $(srcdir)/version.c
578	$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -DBUILDTOOL -c -o $@ $(srcdir)/version.c
579
580# old rules
581GRAM_H = parser-built
582y.tab.o: y.tab.c ${GRAM_H} command.h ${BASHINCDIR}/stdc.h input.h
583${GRAM_H}:	y.tab.h
584	@-if test -f y.tab.h ; then \
585		cmp -s $@ y.tab.h 2>/dev/null || cp -p y.tab.h $@; \
586	fi
587y.tab.c y.tab.h: parse.y
588#	-if test -f y.tab.h; then mv -f y.tab.h old-y.tab.h; fi
589	$(YACC) -d $(srcdir)/parse.y
590	touch parser-built
591#	-if cmp -s old-y.tab.h y.tab.h; then mv old-y.tab.h y.tab.h; else cp -p y.tab.h ${GRAM_H}; fi
592
593# experimental new rules - work with GNU make but not BSD (or OSF) make
594#y.tab.o: y.tab.c y.tab.h
595#y.tab.c y.tab.h: parse.y command.h ${BASHINCDIR}/stdc.h input.h
596#	-if test -f y.tab.h; then mv -f y.tab.h old-y.tab.h; fi
597#	$(YACC) -d $(srcdir)/parse.y
598#	-if cmp -s old-y.tab.h y.tab.h; then mv old-y.tab.h y.tab.h; fi
599
600$(READLINE_LIBRARY): config.h $(READLINE_SOURCE)
601	@echo making $@ in ${RL_LIBDIR}
602	@( { test "${RL_LIBDIR}" = "${libdir}" && exit 0; } || \
603		cd ${RL_LIBDIR} && $(MAKE) $(MFLAGS) libreadline.a) || exit 1
604
605$(HISTORY_LIBRARY): config.h $(HISTORY_SOURCE)
606	@echo making $@ in ${HIST_LIBDIR}
607	@( { test "${HIST_LIBDIR}" = "${libdir}" && exit 0; } || \
608		cd ${HIST_LIBDIR} && $(MAKE) $(MFLAGS) libhistory.a) || exit 1
609
610$(GLOB_LIBRARY): config.h $(GLOB_SOURCE)
611	@echo making $@ in ${GLOB_LIBDIR}
612	@(cd ${GLOB_LIBDIR} && \
613		$(MAKE) $(MFLAGS) DEBUG=${DEBUG} libglob.a) || exit 1
614
615$(TILDE_LIBRARY): config.h $(TILDE_SOURCE)
616	@echo making $@ in ${TILDE_LIBDIR}
617	@(cd ${TILDE_LIBDIR} && \
618		$(MAKE) $(MFLAGS) libtilde.a) || exit 1
619
620$(TERMCAP_LIBRARY): config.h ${TERMCAP_SOURCE}
621	@echo making $@ in ${TERM_LIBDIR}	
622	@(cd ${TERM_LIBDIR} && \
623		$(MAKE) $(MFLAGS) libtermcap.a) || exit 1
624
625$(SHLIB_LIBRARY): config.h ${SHLIB_SOURCE}
626	@echo making $@ in ${SH_LIBDIR}
627	@(cd ${SH_LIBDIR} && \
628		$(MAKE) $(MFLAGS) DEBUG=${DEBUG} ${SHLIB_LIBNAME}) || exit 1
629
630${INTL_LIBRARY}: config.h ${INTL_LIBDIR}/Makefile
631	@echo making $@ in ${INTL_LIBDIR}
632	@(cd ${INTL_LIBDIR} && \
633		$(MAKE) $(MFLAGS) all) || exit 1
634
635${LIBINTL_H}:	${INTL_DEP}
636
637signames.o: $(SUPPORT_SRC)signames.c
638	$(RM) $@
639	$(CC) $(CCFLAGS) -c $(SUPPORT_SRC)signames.c
640
641buildsignames.o:	$(SUPPORT_SRC)signames.c
642	$(RM) $@
643	$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -DBUILDTOOL -o $@ -c $(SUPPORT_SRC)signames.c
644
645mksignames.o:	$(SUPPORT_SRC)mksignames.c
646	$(RM) $@
647	$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -DBUILDTOOL -c $(SUPPORT_SRC)mksignames.c
648
649mksignames$(EXEEXT):	mksignames.o buildsignames.o
650	$(RM) $@
651	$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ mksignames.o buildsignames.o ${LIBS_FOR_BUILD}
652
653mksyntax$(EXEEXT):	${srcdir}/mksyntax.c config.h syntax.h ${BASHINCDIR}/chartypes.h
654	$(RM) $@
655	${CC_FOR_BUILD} ${CCFLAGS_FOR_BUILD} -o $@ ${srcdir}/mksyntax.c ${LIBS_FOR_BUILD}
656
657# make a list of signals for the local system -- this is done when we're
658# *not* cross-compiling
659lsignames.h:   mksignames$(EXEEXT)
660	$(RM) $@
661	./mksignames$(EXEEXT) $@
662
663# copy the correct signames header file to signames.h
664signames.h: $(SIGNAMES_H)
665	-if cmp -s $(SIGNAMES_H) $@ ; then :; else $(RM) $@ ; $(CP) $(SIGNAMES_H) $@ ; fi
666
667syntax.c:	mksyntax${EXEEXT} $(srcdir)/syntax.h 
668	$(RM) $@
669	./mksyntax$(EXEEXT) -o $@
670
671$(BUILTINS_LIBRARY): $(BUILTIN_DEFS) $(BUILTIN_C_SRC) config.h ${BASHINCDIR}/memalloc.h version.h
672	@(cd $(DEFDIR) && $(MAKE) $(MFLAGS) DEBUG=${DEBUG} libbuiltins.a ) || exit 1
673
674# these require special rules to circumvent make builtin rules
675${DEFDIR}/common.o:	$(BUILTIN_SRCDIR)/common.c
676	@(cd $(DEFDIR) && $(MAKE) $(MFLAGS) DEBUG=${DEBUG} common.o) || exit 1
677
678${DEFDIR}/bashgetopt.o:	$(BUILTIN_SRCDIR)/bashgetopt.c
679	@(cd $(DEFDIR) && $(MAKE) $(MFLAGS) DEBUG=${DEBUG} bashgetopt.o) || exit 1
680
681${DEFDIR}/builtext.h: $(BUILTIN_DEFS)
682	@(cd $(DEFDIR) && $(MAKE) $(MFLAGS) builtext.h ) || exit 1
683
684# For the justification of the following Makefile rules, see node
685# `Automatic Remaking' in GNU Autoconf documentation.
686
687Makefile makefile:	config.status $(srcdir)/Makefile.in
688	CONFIG_FILES=Makefile CONFIG_HEADERS= $(SHELL) ./config.status
689
690Makefiles makefiles:	config.status $(srcdir)/Makefile.in
691	@for mf in $(CREATED_MAKEFILES); do \
692		CONFIG_FILES=$$mf CONFIG_HEADERS= $(SHELL) ./config.status ; \
693	done
694
695config.h:	stamp-h 
696
697stamp-h:	config.status $(srcdir)/config.h.in $(srcdir)/config-top.h $(srcdir)/config-bot.h
698	CONFIG_FILES= CONFIG_HEADERS=config.h $(SHELL) ./config.status
699
700config.status:	$(srcdir)/configure
701	$(SHELL) ./config.status --recheck
702
703pathnames.h:		Makefile $(srcdir)/pathnames.h.in
704	@sed -e 's|@DEBUGGER_START_FILE\@|${DEBUGGER_START_FILE}|g' $(srcdir)/pathnames.h.in > pathnames.tmp
705	@if test -f $@; then \
706		cmp -s pathnames.tmp $@ || mv pathnames.tmp $@; \
707	else \
708		mv pathnames.tmp $@; \
709	fi
710	@${RM} pathnames.tmp
711
712# comment out for distribution
713$(srcdir)/configure:	$(srcdir)/configure.in $(srcdir)/aclocal.m4 $(srcdir)/config.h.in
714	cd $(srcdir) && autoconf
715
716# for chet
717reconfig: force
718	sh $(srcdir)/configure -C
719
720#newversion:	mkversion
721#	$(RM) .build
722#	./mkversion -dir $(srcdir) -dist
723#	mv -f newversion.h version.h
724#	$(MAKE) -f $(srcdir)/Makefile $(MFLAGS) srcdir=$(srcdir)
725
726doc documentation:  force
727	@(cd $(DOCDIR) ; $(MAKE) $(MFLAGS) )
728
729info dvi ps: force
730	@(cd $(DOCDIR) ; $(MAKE) $(MFLAGS) CFLAGS='$(CCFLAGS)' $@ )
731
732force:
733
734TAGS:	$(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE)
735	etags $(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE)
736
737tags:	$(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE)
738	ctags -x $(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE) > $@
739
740# Targets that actually do things not part of the build
741
742installdirs:
743	@${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(bindir)
744	@${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(man1dir)
745	@${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(infodir)
746	-( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
747
748install:	.made installdirs
749	$(INSTALL_PROGRAM) $(INSTALLMODE) $(Program) $(DESTDIR)$(bindir)/$(Program)
750	$(INSTALL_SCRIPT) $(INSTALLMODE2) bashbug $(DESTDIR)$(bindir)/bashbug
751	-( cd $(DOCDIR) ; $(MAKE) $(MFLAGS) \
752		man1dir=$(man1dir) man1ext=$(man1ext) \
753		man3dir=$(man3dir) man3ext=$(man3ext) \
754		infodir=$(infodir) htmldir=$(htmldir) DESTDIR=$(DESTDIR) $@ )
755	-( cd $(DEFDIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
756	-( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
757
758install-strip:
759	$(MAKE) $(MFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' \
760		prefix=${prefix} exec_prefix=${exec_prefix} \
761		DESTDIR=$(DESTDIR) install
762
763uninstall:	.made
764	$(RM) $(DESTDIR)$(bindir)/$(Program) $(DESTDIR)$(bindir)/bashbug
765	-( cd $(DOCDIR) ; $(MAKE) $(MFLAGS) \
766		man1dir=$(man1dir) man1ext=$(man1ext) \
767		man3dir=$(man3dir) man3ext=$(man3ext) \
768		infodir=$(infodir) htmldir=$(htmldir) DESTDIR=$(DESTDIR) $@ )
769	-( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
770
771.PHONY: basic-clean clean realclean maintainer-clean distclean mostlyclean maybe-clean
772
773LIB_SUBDIRS = ${RL_LIBDIR}  ${HIST_LIBDIR} ${TERM_LIBDIR} ${GLOB_LIBDIR} \
774		${INTL_LIBDIR} ${TILDE_LIBDIR} ${ALLOC_LIBDIR} ${SH_LIBDIR}
775
776basic-clean:
777	$(RM) $(OBJECTS) $(Program) bashbug
778	$(RM) .build .made version.h 
779
780clean:	basic-clean
781	( cd $(DOCDIR) && $(MAKE) $(MFLAGS) $@ )
782	( cd builtins && $(MAKE) $(MFLAGS) $@ )
783	-( cd $(SDIR) && $(MAKE) $(MFLAGS) $@ )
784	-for libdir in ${LIB_SUBDIRS}; do \
785		(cd $$libdir && test -f Makefile && $(MAKE) $(MFLAGS) $@) ;\
786	done
787	-( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
788	$(RM) $(CREATED_SUPPORT)
789
790mostlyclean: basic-clean
791	( cd $(DOCDIR) && $(MAKE) $(MFLAGS) $@ )
792	( cd builtins && $(MAKE) $(MFLAGS) $@ )
793	-( cd $(SDIR) && $(MAKE) $(MFLAGS) $@ )
794	-for libdir in ${LIB_SUBDIRS}; do \
795		(cd $$libdir && test -f Makefile && $(MAKE) $(MFLAGS) $@) ;\
796	done
797	-( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
798
799distclean:	basic-clean maybe-clean
800	( cd $(DOCDIR) && $(MAKE) $(MFLAGS) $@ )
801	( cd builtins && $(MAKE) $(MFLAGS) $@ )
802	-( cd $(SDIR) && $(MAKE) $(MFLAGS) $@ )
803	-for libdir in ${LIB_SUBDIRS}; do \
804		(cd $$libdir && test -f Makefile && $(MAKE) $(MFLAGS) $@) ;\
805	done
806	-( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
807	$(RM) $(CREATED_CONFIGURE) tags TAGS 
808	$(RM) $(CREATED_SUPPORT) Makefile $(CREATED_MAKEFILES) pathnames.h
809
810maintainer-clean:	basic-clean
811	@echo This command is intended for maintainers to use.
812	@echo It deletes files that may require special tools to rebuild.
813	$(RM) y.tab.c y.tab.h parser-built tags TAGS
814	( cd $(DOCDIR) && $(MAKE) $(MFLAGS) $@ )
815	( cd builtins && $(MAKE) $(MFLAGS) $@ )
816	( cd $(SDIR) && $(MAKE) $(MFLAGS) $@ )
817	-for libdir in ${LIB_SUBDIRS}; do \
818		(cd $$libdir && test -f Makefile && $(MAKE) $(MFLAGS) $@) ;\
819	done
820	-( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ )
821	$(RM) $(CREATED_CONFIGURE) $(CREATED_MAKEFILES)
822	$(RM) $(CREATED_SUPPORT) Makefile pathnames.h
823
824maybe-clean:
825	-if test "X$(topdir)" != "X$(BUILD_DIR)" ; then \
826		$(RM) parser-built y.tab.c y.tab.h ; \
827	fi
828
829recho$(EXEEXT):		$(SUPPORT_SRC)recho.c
830	@$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)recho.c ${LIBS_FOR_BUILD}
831
832zecho$(EXEEXT):		$(SUPPORT_SRC)zecho.c
833	@$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)zecho.c ${LIBS_FOR_BUILD}
834
835printenv$(EXEEXT):	$(SUPPORT_SRC)printenv.c
836	@$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)printenv.c ${LIBS_FOR_BUILD}
837
838xcase$(EXEEXT):	$(SUPPORT_SRC)xcase.c
839	@$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)xcase.c ${LIBS_FOR_BUILD}
840
841test tests check:	force $(Program) $(TESTS_SUPPORT)
842	@-test -d tests || mkdir tests
843	@cp $(TESTS_SUPPORT) tests
844	@( cd $(srcdir)/tests && \
845		PATH=$(BUILD_DIR)/tests:$$PATH THIS_SH=$(THIS_SH) $(SHELL) ${TESTSCRIPT} )
846
847symlinks:
848	$(SHELL) $(SUPPORT_SRC)fixlinks -s $(srcdir)
849
850dist:	force
851	@echo Bash distributions are created using $(srcdir)/support/mkdist.
852	@echo Here is a sample of the necessary commands:
853	@echo $(Program) $(srcdir)/support/mkdist -m $(srcdir)/MANIFEST -s $(srcdir) -r ${PACKAGE} $(PACKAGE_VERSION)
854	@echo tar cf $(PACKAGE)-${PACKAGE_VERSION}.tar ${PACKAGE}-$(PACKAGE_VERSION)
855	@echo gzip $(PACKAGE)-$(PACKAGE_VERSION).tar
856
857depend:	depends
858
859depends: force
860	$(Program) $(SUPPORT_SRC)mkdep -c ${CC} -- ${CCFLAGS} ${CSOURCES}
861
862#### PRIVATE TARGETS ####
863hashtest:	hashlib.c
864	$(CC) -DTEST_HASHING $(CCFLAGS) -o $@ $(srcdir)/hashlib.c
865
866############################ DEPENDENCIES ###############################
867
868# Files that depend on the definitions in config-top.h, which are not meant
869# to be changed
870shell.o: config-top.h
871input.o: config-top.h
872y.tab.o: config-top.h
873jobs.o: config-top.h
874nojobs.o: config-top.h
875execute_cmd.o: config-top.h
876variables.o: config-top.h
877builtins/command.o: config-top.h
878builtins/common.o: config-top.h
879builtins/break.o: config-top.h
880builtins/echo.o: config-top.h
881builtins/evalstring.o: config-top.h
882builtins/exit.o: config-top.h
883builtins/kill.o: config-top.h
884
885# shell basics
886copy_cmd.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
887copy_cmd.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
888copy_cmd.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
889copy_cmd.o: make_cmd.h subst.h sig.h pathnames.h externs.h
890dispose_cmd.o: bashansi.h ${BASHINCDIR}/ansi_stdlib.h
891dispose_cmd.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h
892dispose_cmd.o: error.h general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
893dispose_cmd.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
894dispose_cmd.o: make_cmd.h subst.h sig.h pathnames.h externs.h
895dispose_cmd.o: ${BASHINCDIR}/ocache.h
896error.o: config.h bashtypes.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h flags.h ${BASHINCDIR}/stdc.h error.h
897error.o: command.h general.h xmalloc.h externs.h input.h bashhist.h
898error.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
899error.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
900error.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
901error.o: make_cmd.h subst.h sig.h pathnames.h externs.h
902error.o: input.h execute_cmd.h 
903eval.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h trap.h flags.h ${DEFSRC}/common.h
904eval.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
905eval.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
906eval.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
907eval.o: make_cmd.h subst.h sig.h pathnames.h externs.h
908eval.o: input.h execute_cmd.h 
909execute_cmd.o: config.h bashtypes.h ${BASHINCDIR}/filecntl.h ${BASHINCDIR}/posixstat.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
910execute_cmd.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
911execute_cmd.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
912execute_cmd.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
913execute_cmd.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
914execute_cmd.o: ${BASHINCDIR}/memalloc.h ${GRAM_H} flags.h builtins.h jobs.h quit.h siglist.h
915execute_cmd.o: execute_cmd.h findcmd.h redir.h trap.h test.h pathexp.h
916execute_cmd.o: $(DEFSRC)/common.h ${DEFDIR}/builtext.h ${GLOB_LIBSRC}/strmatch.h
917execute_cmd.o: ${BASHINCDIR}/posixtime.h ${BASHINCDIR}/chartypes.h
918expr.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h 
919expr.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
920expr.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
921expr.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
922expr.o: make_cmd.h subst.h sig.h pathnames.h externs.h
923expr.o: ${BASHINCDIR}/chartypes.h
924findcmd.o: config.h bashtypes.h ${BASHINCDIR}/filecntl.h ${BASHINCDIR}/posixstat.h bashansi.h
925findcmd.o: ${BASHINCDIR}/ansi_stdlib.h ${BASHINCDIR}/memalloc.h shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h
926findcmd.o: ${BASHINCDIR}/stdc.h error.h general.h xmalloc.h variables.h arrayfunc.h conftypes.h quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h
927findcmd.o: dispose_cmd.h make_cmd.h subst.h sig.h pathnames.h externs.h
928findcmd.o: flags.h hashlib.h pathexp.h hashcmd.h 
929findcmd.o: ${BASHINCDIR}/chartypes.h
930flags.o: config.h flags.h 
931flags.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
932flags.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
933flags.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
934flags.o: make_cmd.h subst.h sig.h pathnames.h externs.h bashhist.h
935general.o: config.h bashtypes.h ${BASHINCDIR}/posixstat.h ${BASHINCDIR}/filecntl.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
936general.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
937general.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
938general.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
939general.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
940general.o: ${BASHINCDIR}/maxpath.h ${BASHINCDIR}/posixtime.h
941general.o: ${BASHINCDIR}/chartypes.h
942hashcmd.o: config.h ${BASHINCDIR}/posixstat.h bashtypes.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
943hashcmd.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
944hashcmd.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashcmd.h
945hashcmd.o: execute_cmd.h findcmd.h ${BASHINCDIR}/stdc.h hashlib.h
946hashlib.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
947hashlib.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
948hashlib.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
949hashlib.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
950hashlib.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
951input.o: config.h bashtypes.h ${BASHINCDIR}/filecntl.h ${BASHINCDIR}/posixstat.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
952input.o: command.h ${BASHINCDIR}/stdc.h general.h xmalloc.h input.h error.h externs.h
953list.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
954list.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
955list.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
956list.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
957locale.o: config.h bashtypes.h bashintl.h ${LIBINTL_H} bashansi.h ${BASHINCDIR}/ansi_stdlib.h
958locale.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
959locale.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
960locale.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
961locale.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
962locale.o: ${BASHINCDIR}/chartypes.h
963mailcheck.o: config.h bashtypes.h ${BASHINCDIR}/posixstat.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
964mailcheck.o: ${BASHINCDIR}/posixtime.h
965mailcheck.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
966mailcheck.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
967mailcheck.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
968mailcheck.o: make_cmd.h subst.h sig.h pathnames.h externs.h
969mailcheck.o: execute_cmd.h mailcheck.h 
970make_cmd.o: config.h bashtypes.h ${BASHINCDIR}/filecntl.h bashansi.h
971make_cmd.o: command.h ${BASHINCDIR}/stdc.h general.h xmalloc.h error.h flags.h make_cmd.h
972make_cmd.o: variables.h arrayfunc.h conftypes.h array.h hashlib.h subst.h input.h externs.h
973make_cmd.o: jobs.h quit.h siglist.h syntax.h dispose_cmd.h
974make_cmd.o: ${BASHINCDIR}/shmbutil.h ${BASHINCDIR}/ocache.h
975y.tab.o: config.h bashtypes.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h ${BASHINCDIR}/memalloc.h
976y.tab.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
977y.tab.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
978y.tab.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
979y.tab.o: make_cmd.h subst.h sig.h pathnames.h externs.h test.h
980y.tab.o: trap.h flags.h parser.h input.h mailcheck.h $(DEFSRC)/common.h
981y.tab.o: $(DEFDIR)/builtext.h bashline.h bashhist.h jobs.h siglist.h alias.h
982pathexp.o: config.h bashtypes.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
983pathexp.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
984pathexp.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
985pathexp.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
986pathexp.o: make_cmd.h subst.h sig.h pathnames.h externs.h
987pathexp.o: pathexp.h flags.h 
988pathexp.o: $(GLOB_LIBSRC)/glob.h $(GLOB_LIBSRC)/strmatch.h
989pathexp.o: ${BASHINCDIR}/shmbutil.h
990print_cmd.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
991print_cmd.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
992print_cmd.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
993print_cmd.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
994print_cmd.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
995print_cmd.o: ${GRAM_H} $(DEFSRC)/common.h
996redir.o: config.h bashtypes.h ${BASHINCDIR}/posixstat.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h ${BASHINCDIR}/filecntl.h
997redir.o: ${BASHINCDIR}/memalloc.h shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
998redir.o: general.h xmalloc.h variables.h arrayfunc.h conftypes.h array.h hashlib.h quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h
999redir.o: dispose_cmd.h make_cmd.h subst.h sig.h pathnames.h externs.h 
1000redir.o: flags.h execute_cmd.h redir.h input.h
1001shell.o: config.h bashtypes.h ${BASHINCDIR}/posixstat.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h ${BASHINCDIR}/filecntl.h
1002shell.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
1003shell.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
1004shell.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
1005shell.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
1006shell.o: flags.h trap.h mailcheck.h builtins.h $(DEFSRC)/common.h
1007shell.o: jobs.h siglist.h input.h execute_cmd.h findcmd.h bashhist.h bashline.h
1008shell.o: ${GLOB_LIBSRC}/strmatch.h ${BASHINCDIR}/posixtime.h
1009sig.o: config.h bashtypes.h
1010sig.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
1011sig.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
1012sig.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
1013sig.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
1014sig.o: jobs.h siglist.h trap.h $(DEFSRC)/common.h bashline.h bashhist.h
1015siglist.o: config.h bashtypes.h siglist.h trap.h
1016stringlib.o: bashtypes.h ${BASHINCDIR}/chartypes.h
1017stringlib.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
1018stringlib.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
1019stringlib.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
1020stringlib.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
1021stringlib.o: ${GLOB_LIBSRC}/glob.h ${GLOB_LIBSRC}/strmatch.h
1022subst.o: config.h bashtypes.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h ${BASHINCDIR}/posixstat.h
1023subst.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
1024subst.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
1025subst.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
1026subst.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
1027subst.o: flags.h jobs.h siglist.h execute_cmd.h ${BASHINCDIR}/filecntl.h trap.h pathexp.h
1028subst.o: mailcheck.h input.h $(DEFSRC)/getopt.h $(DEFSRC)/common.h
1029subst.o: bashline.h bashhist.h ${GLOB_LIBSRC}/strmatch.h
1030subst.o: ${BASHINCDIR}/chartypes.h
1031subst.o: ${BASHINCDIR}/shmbutil.h
1032test.o: bashtypes.h ${BASHINCDIR}/posixstat.h ${BASHINCDIR}/filecntl.h
1033test.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
1034test.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
1035test.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
1036test.o: make_cmd.h subst.h sig.h pathnames.h externs.h test.h
1037test.o: ${DEFSRC}/common.h 
1038trap.o: config.h bashtypes.h trap.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
1039trap.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
1040trap.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
1041trap.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
1042trap.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
1043trap.o: signames.h $(DEFSRC)/common.h
1044trap.o: ${DEFDIR}/builtext.h
1045unwind_prot.o: config.h bashtypes.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h command.h ${BASHINCDIR}/stdc.h
1046unwind_prot.o: general.h xmalloc.h unwind_prot.h quit.h sig.h
1047variables.o: config.h bashtypes.h ${BASHINCDIR}/posixstat.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
1048variables.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
1049variables.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
1050variables.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
1051variables.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
1052variables.o: flags.h execute_cmd.h mailcheck.h input.h $(DEFSRC)/common.h
1053variables.o: findcmd.h bashhist.h hashcmd.h pathexp.h
1054variables.o: pcomplete.h  ${BASHINCDIR}/chartypes.h
1055variables.o: ${BASHINCDIR}/posixtime.h
1056version.o:  conftypes.h patchlevel.h version.h
1057xmalloc.o: config.h bashtypes.h ${BASHINCDIR}/ansi_stdlib.h error.h
1058
1059# job control
1060
1061jobs.o: config.h bashtypes.h trap.h ${BASHINCDIR}/filecntl.h input.h ${BASHINCDIR}/shtty.h
1062jobs.o: bashansi.h ${BASHINCDIR}/ansi_stdlib.h
1063jobs.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
1064jobs.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
1065jobs.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
1066jobs.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
1067jobs.o: jobs.h flags.h $(DEFSRC)/common.h $(DEFDIR)/builtext.h
1068jobs.o: ${BASHINCDIR}/posixwait.h ${BASHINCDIR}/unionwait.h
1069jobs.o: ${BASHINCDIR}/posixtime.h
1070nojobs.o: config.h bashtypes.h ${BASHINCDIR}/filecntl.h bashjmp.h ${BASHINCDIR}/posixjmp.h
1071nojobs.o: command.h ${BASHINCDIR}/stdc.h general.h xmalloc.h jobs.h quit.h siglist.h externs.h
1072nojobs.o: sig.h error.h ${BASHINCDIR}/shtty.h input.h
1073nojobs.o: $(DEFDIR)/builtext.h
1074
1075# shell features that may be compiled in
1076
1077array.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
1078array.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
1079array.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
1080array.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
1081array.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
1082array.o: $(DEFSRC)/common.h
1083arrayfunc.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
1084arrayfunc.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
1085arrayfunc.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
1086arrayfunc.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
1087arrayfunc.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
1088arrayfunc.o: $(DEFSRC)/common.h
1089arrayfunc.o: ${BASHINCDIR}/shmbutil.h
1090assoc.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
1091assoc.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h
1092assoc.o: command.h ${BASHINCDIR}/stdc.h error.h
1093assoc.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h
1094assoc.o: assoc.h hashlib.h
1095assoc.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
1096assoc.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
1097assoc.o: $(DEFSRC)/common.h
1098braces.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
1099braces.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
1100braces.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
1101braces.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
1102braces.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
1103braces.o: ${BASHINCDIR}/shmbutil.h
1104alias.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h command.h ${BASHINCDIR}/stdc.h
1105alias.o: general.h xmalloc.h bashtypes.h externs.h alias.h
1106alias.o: pcomplete.h 
1107alias.o: ${BASHINCDIR}/chartypes.h
1108
1109pcomplib.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h bashtypes.h
1110pcomplib.o: ${BASHINCDIR}/stdc.h hashlib.h pcomplete.h shell.h syntax.h
1111pcomplib.o: bashjmp.h command.h general.h xmalloc.h error.h variables.h arrayfunc.h conftypes.h quit.h
1112pcomplib.o: unwind_prot.h dispose_cmd.h make_cmd.h subst.h sig.h pathnames.h
1113pcomplib.o: externs.h ${BASHINCDIR}/maxpath.h
1114
1115pcomplete.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h bashtypes.h
1116pcomplete.o: ${BASHINCDIR}/stdc.h hashlib.h pcomplete.h shell.h syntax.h
1117pcomplete.o: bashjmp.h command.h general.h xmalloc.h error.h variables.h arrayfunc.h conftypes.h quit.h
1118pcomplete.o: unwind_prot.h dispose_cmd.h make_cmd.h subst.h sig.h pathnames.h
1119pcomplete.o: externs.h ${BASHINCDIR}/maxpath.h execute_cmd.h 
1120
1121# library support files
1122
1123bashhist.o: config.h bashtypes.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h ${BASHINCDIR}/posixstat.h
1124bashhist.o: ${BASHINCDIR}/filecntl.h
1125bashhist.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
1126bashhist.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
1127bashhist.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
1128bashhist.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
1129bashhist.o: flags.h input.h parser.h pathexp.h $(DEFSRC)/common.h bashline.h
1130bashhist.o: $(GLOB_LIBSRC)/strmatch.h
1131bashline.o: config.h bashtypes.h ${BASHINCDIR}/posixstat.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
1132bashline.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
1133bashline.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
1134bashline.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
1135bashline.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
1136bashline.o: builtins.h bashhist.h bashline.h execute_cmd.h findcmd.h pathexp.h
1137bashline.o: $(DEFSRC)/common.h $(GLOB_LIBSRC)/glob.h alias.h
1138bashline.o: pcomplete.h ${BASHINCDIR}/chartypes.h input.h
1139bracecomp.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
1140bracecomp.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
1141bracecomp.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
1142bracecomp.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
1143bracecomp.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
1144bracecomp.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h command.h hashlib.h builtins.h general.h xmalloc.h
1145bracecomp.o: quit.h alias.h config.h  variables.h arrayfunc.h conftypes.h
1146bracecomp.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1147
1148# library dependencies
1149
1150bashline.o: $(RL_LIBSRC)/rlconf.h
1151bashline.o: $(RL_LIBSRC)/keymaps.h $(RL_LIBSRC)/rlstdc.h
1152bashline.o: $(RL_LIBSRC)/chardefs.h $(RL_LIBSRC)/readline.h
1153bracecomp.o: $(RL_LIBSRC)/keymaps.h $(RL_LIBSRC)/chardefs.h
1154bracecomp.o: $(RL_LIBSRC)/readline.h $(RL_LIBSRC)/rlstdc.h
1155y.tab.o: $(RL_LIBSRC)/keymaps.h $(RL_LIBSRC)/chardefs.h
1156y.tab.o: $(RL_LIBSRC)/readline.h $(RL_LIBSRC)/rlstdc.h
1157subst.o: $(RL_LIBSRC)/keymaps.h $(RL_LIBSRC)/chardefs.h
1158subst.o: $(RL_LIBSRC)/readline.h $(RL_LIBSRC)/rlstdc.h
1159
1160shell.o: $(HIST_LIBSRC)/history.h $(HIST_LIBSRC)/rlstdc.h
1161subst.o: $(HIST_LIBSRC)/history.h $(HIST_LIBSRC)/rlstdc.h
1162bashline.o: $(HIST_LIBSRC)/history.h $(HIST_LIBSRC)/rlstdc.h
1163bashhist.o: $(HIST_LIBSRC)/history.h $(HIST_LIBSRC)/rlstdc.h
1164y.tab.o: $(HIST_LIBSRC)/history.h $(HIST_LIBSRC)/rlstdc.h
1165
1166execute_cmd.o: $(TILDE_LIBSRC)/tilde.h
1167general.o: $(TILDE_LIBSRC)/tilde.h
1168mailcheck.o: $(TILDE_LIBSRC)/tilde.h
1169shell.o: $(TILDE_LIBSRC)/tilde.h
1170subst.o: $(TILDE_LIBSRC)/tilde.h
1171variables.o: $(TILDE_LIBSRC)/tilde.h
1172
1173# libintl dependencies
1174arrayfunc.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1175bashhist.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1176bashline.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1177braces.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1178error.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1179eval.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1180execute_cmd.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1181expr.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1182general.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1183input.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1184jobs.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1185mailcheck.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1186make_cmd.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1187nojobs.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1188parse.y: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1189pcomplete.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1190pcomplib.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1191print_cmd.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1192redir.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1193shell.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1194sig.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1195siglist.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1196subst.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1197test.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1198trap.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1199variables.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1200version.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1201xmalloc.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1202
1203signames.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
1204
1205# XXX - dependencies checked through here
1206
1207# builtin c sources
1208builtins/bashgetopt.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
1209builtins/bashgetopt.o: shell.h syntax.h config.h bashjmp.h command.h general.h xmalloc.h error.h
1210builtins/bashgetopt.o: variables.h arrayfunc.h conftypes.h quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
1211builtins/bashgetopt.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
1212builtins/bashgetopt.o: $(DEFSRC)/common.h
1213builtins/bashgetopt.o: ${BASHINCDIR}/chartypes.h
1214builtins/common.o: bashtypes.h ${BASHINCDIR}/posixstat.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
1215builtins/common.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h command.h
1216builtins/common.o: ${BASHINCDIR}/memalloc.h variables.h arrayfunc.h conftypes.h input.h siglist.h
1217builtins/common.o: quit.h unwind_prot.h ${BASHINCDIR}/maxpath.h jobs.h builtins.h
1218builtins/common.o: dispose_cmd.h make_cmd.h subst.h externs.h bashhist.h 
1219builtins/common.o: execute_cmd.h ${BASHINCDIR}/stdc.h general.h xmalloc.h error.h pathnames.h
1220builtins/common.o: ${DEFDIR}/builtext.h
1221builtins/common.o: ${BASHINCDIR}/chartypes.h
1222builtins/evalfile.o: bashtypes.h ${BASHINCDIR}/posixstat.h ${BASHINCDIR}/filecntl.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
1223builtins/evalfile.o: shell.h syntax.h config.h bashjmp.h command.h general.h xmalloc.h error.h
1224builtins/evalfile.o: variables.h arrayfunc.h conftypes.h quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
1225builtins/evalfile.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
1226builtins/evalfile.o: jobs.h builtins.h flags.h input.h execute_cmd.h
1227builtins/evalfile.o: bashhist.h $(DEFSRC)/common.h
1228builtins/evalstring.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
1229builtins/evalstring.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h command.h siglist.h
1230builtins/evalstring.o: ${BASHINCDIR}/memalloc.h variables.h arrayfunc.h conftypes.h input.h
1231builtins/evalstring.o: quit.h unwind_prot.h ${BASHINCDIR}/maxpath.h jobs.h builtins.h
1232builtins/evalstring.o: dispose_cmd.h make_cmd.h subst.h externs.h 
1233builtins/evalstring.o: jobs.h builtins.h flags.h input.h execute_cmd.h
1234builtins/evalstring.o: bashhist.h $(DEFSRC)/common.h
1235builtins/getopt.o: config.h ${BASHINCDIR}/memalloc.h
1236builtins/getopt.o: shell.h syntax.h bashjmp.h command.h general.h xmalloc.h error.h
1237builtins/getopt.o: variables.h arrayfunc.h conftypes.h quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
1238builtins/getopt.o: make_cmd.h subst.h sig.h pathnames.h externs.h 
1239builtins/getopt.o: $(DEFSRC)/getopt.h
1240builtins/mkbuiltins.o: config.h bashtypes.h ${BASHINCDIR}/posixstat.h ${BASHINCDIR}/filecntl.h
1241builtins/mkbuiltins.o: bashansi.h ${BASHINCDIR}/ansi_stdlib.h
1242
1243# builtin def files
1244builtins/alias.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1245builtins/alias.o: quit.h $(DEFSRC)/common.h
1246builtins/alias.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h command.h ${BASHINCDIR}/stdc.h unwind_prot.h
1247builtins/alias.o: dispose_cmd.h make_cmd.h subst.h externs.h variables.h arrayfunc.h conftypes.h 
1248builtins/bind.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1249builtins/bind.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1250builtins/bind.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
1251builtins/bind.o: $(DEFSRC)/bashgetopt.h
1252builtins/break.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1253builtins/break.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
1254builtins/break.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1255builtins/builtin.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1256builtins/builtin.o: quit.h $(DEFSRC)/common.h $(DEFSRC)/bashgetopt.h
1257builtins/builtin.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
1258builtins/builtin.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1259builtins/caller.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1260builtins/caller.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h
1261builtins/caller.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1262builtins/caller.o: $(DEFSRC)/common.h quit.h 
1263builtins/caller.o: ${BASHINCDIR}/chartypes.h bashtypes.h
1264builtins/caller.o: ${DEFDIR}/builtext.h
1265builtins/cd.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1266builtins/cd.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h
1267builtins/cd.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1268builtins/cd.o: $(DEFSRC)/common.h quit.h 
1269builtins/command.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1270builtins/command.o: quit.h $(DEFSRC)/bashgetopt.h
1271builtins/command.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
1272builtins/command.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1273builtins/declare.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1274builtins/declare.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
1275builtins/declare.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1276builtins/declare.o: $(DEFSRC)/bashgetopt.h
1277builtins/echo.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1278builtins/echo.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
1279builtins/echo.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1280builtins/enable.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1281builtins/enable.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
1282builtins/enable.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1283builtins/enable.o: pcomplete.h 
1284builtins/eval.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1285builtins/eval.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h 
1286builtins/eval.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1287builtins/exec.o: bashtypes.h 
1288builtins/exec.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1289builtins/exec.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h
1290builtins/exec.o: dispose_cmd.h make_cmd.h subst.h externs.h execute_cmd.h 
1291builtins/exec.o: findcmd.h flags.h quit.h $(DEFSRC)/common.h ${BASHINCDIR}/stdc.h
1292builtins/exit.o: bashtypes.h 
1293builtins/exit.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1294builtins/exit.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
1295builtins/exit.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1296builtins/fc.o: bashtypes.h ${BASHINCDIR}/posixstat.h
1297builtins/fc.o: bashansi.h ${BASHINCDIR}/ansi_stdlib.h builtins.h command.h ${BASHINCDIR}/stdc.h 
1298builtins/fc.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1299builtins/fc.o: flags.h unwind_prot.h variables.h arrayfunc.h conftypes.h shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h 
1300builtins/fc.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h quit.h 
1301builtins/fc.o: $(DEFSRC)/bashgetopt.h bashhist.h
1302builtins/fc.o: ${BASHINCDIR}/chartypes.h
1303builtins/fg_bg.o: bashtypes.h $(DEFSRC)/bashgetopt.h 
1304builtins/fg_bg.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1305builtins/fg_bg.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
1306builtins/fg_bg.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1307builtins/getopts.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1308builtins/getopts.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h 
1309builtins/getopts.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1310builtins/hash.o: bashtypes.h 
1311builtins/hash.o: builtins.h command.h findcmd.h ${BASHINCDIR}/stdc.h $(DEFSRC)/common.h
1312builtins/hash.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1313builtins/hash.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h 
1314builtins/help.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1315builtins/help.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1316builtins/help.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h
1317builtins/help.o: $(GLOB_LIBSRC)/glob.h 
1318builtins/history.o: bashtypes.h 
1319builtins/history.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1320builtins/history.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1321builtins/history.o: ${BASHINCDIR}/filecntl.h shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h
1322builtins/history.o: bashhist.h variables.h arrayfunc.h conftypes.h 
1323builtins/inlib.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1324builtins/inlib.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h 
1325builtins/inlib.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1326builtins/jobs.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1327builtins/jobs.o: quit.h $(DEFSRC)/bashgetopt.h
1328builtins/jobs.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
1329builtins/jobs.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1330builtins/kill.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1331builtins/kill.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1332builtins/kill.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h trap.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
1333builtins/let.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1334builtins/let.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1335builtins/let.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
1336builtins/printf.o: config.h ${BASHINCDIR}/memalloc.h bashjmp.h command.h error.h
1337builtins/printf.o: general.h xmalloc.h quit.h dispose_cmd.h make_cmd.h subst.h
1338builtins/printf.o: externs.h sig.h pathnames.h shell.h syntax.h unwind_prot.h
1339builtins/printf.o: variables.h arrayfunc.h conftypes.h ${BASHINCDIR}/stdc.h $(DEFSRC)/bashgetopt.h
1340builtins/printf.o: ${BASHINCDIR}/chartypes.h
1341builtins/pushd.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1342builtins/pushd.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1343builtins/pushd.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h
1344builtins/pushd.o: $(DEFSRC)/common.h
1345builtins/read.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1346builtins/read.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1347builtins/read.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
1348builtins/return.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1349builtins/return.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1350builtins/return.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
1351builtins/set.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1352builtins/set.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1353builtins/set.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h flags.h
1354builtins/setattr.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1355builtins/setattr.o: quit.h $(DEFSRC)/common.h $(DEFSRC)/bashgetopt.h
1356builtins/setattr.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
1357builtins/setattr.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1358builtins/shift.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1359builtins/shift.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1360builtins/shift.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
1361builtins/shift.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1362builtins/shopt.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h
1363builtins/shopt.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h
1364builtins/shopt.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h unwind_prot.h variables.h arrayfunc.h conftypes.h ${BASHINCDIR}/maxpath.h
1365builtins/shopt.o: $(DEFSRC)/common.h $(DEFSRC)/bashgetopt.h
1366builtins/source.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1367builtins/source.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1368builtins/source.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h
1369builtins/source.o: findcmd.h $(DEFSRC)/bashgetopt.h flags.h trap.h
1370builtins/suspend.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1371builtins/suspend.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1372builtins/suspend.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
1373builtins/test.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1374builtins/test.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1375builtins/test.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
1376builtins/test.o: test.h 
1377builtins/times.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1378builtins/times.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1379builtins/times.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
1380builtins/trap.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1381builtins/trap.o: quit.h $(DEFSRC)/common.h
1382builtins/trap.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
1383builtins/trap.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1384builtins/type.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1385builtins/type.o: quit.h $(DEFSRC)/common.h findcmd.h
1386builtins/type.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h
1387builtins/type.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1388builtins/ulimit.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1389builtins/ulimit.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1390builtins/ulimit.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
1391builtins/umask.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1392builtins/umask.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1393builtins/umask.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
1394builtins/umask.o: ${BASHINCDIR}/chartypes.h
1395builtins/wait.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1396builtins/wait.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1397builtins/wait.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h
1398builtins/wait.o: ${BASHINCDIR}/chartypes.h
1399
1400builtins/complete.o: config.h shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h
1401builtins/complete.o: unwind_prot.h variables.h arrayfunc.h conftypes.h
1402builtins/complete.o: bashtypes.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
1403builtins/complete.o: builtins.h 
1404builtins/complete.o: pcomplete.h
1405builtins/complete.o: ${DEFSRC}/common.h ${DEFSRC}/bashgetopt.h
1406builtins/mapfile.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h
1407builtins/mapfile.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h
1408builtins/mapfile.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h 
1409
1410# libintl dependencies
1411builtins/bind.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1412builtins/break.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1413builtins/caller.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1414builtins/cd.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1415builtins/common.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1416builtins/complete.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1417builtins/declare.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1418builtins/enable.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1419builtins/evalfile.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1420builtins/exec.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1421builtins/exit.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1422builtins/fc.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1423builtins/fg_bg.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1424builtins/getopt.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1425builtins/hash.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1426builtins/help.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1427builtins/history.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1428builtins/inlib.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1429builtins/jobs.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1430builtins/kill.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1431builtins/let.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1432builtins/mapfile.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1433builtins/mkbuiltins.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1434builtins/printf.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1435builtins/pushd.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1436builtins/read.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1437builtins/return.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1438builtins/set.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1439builtins/setattr.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1440builtins/shift.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1441builtins/shopt.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1442builtins/source.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1443builtins/suspend.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1444builtins/type.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1445builtins/ulimit.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1446builtins/umask.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
1447
1448# builtin library dependencies
1449builtins/bind.o: $(RL_LIBSRC)/chardefs.h $(RL_LIBSRC)/readline.h
1450builtins/bind.o: $(RL_LIBSRC)/keymaps.h $(RL_LIBSRC)/rlstdc.h
1451
1452builtins/bind.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
1453builtins/fc.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
1454builtins/history.o: $(HIST_LIBSRC)/history.h $(RL_LIBSRC)/rlstdc.h
1455
1456builtins/common.o: $(TILDE_LIBSRC)/tilde.h
1457builtins/cd.o: $(TILDE_LIBSRC)/tilde.h 
1458
1459builtins/alias.o: $(DEFSRC)/alias.def
1460builtins/bind.o: $(DEFSRC)/bind.def
1461builtins/break.o: $(DEFSRC)/break.def
1462builtins/builtin.o: $(DEFSRC)/builtin.def
1463builtins/caller.o: $(DEFSRC)/caller.def
1464builtins/cd.o: $(DEFSRC)/cd.def
1465builtins/colon.o: $(DEFSRC)/colon.def
1466builtins/command.o: $(DEFSRC)/command.def
1467builtins/complete.o: $(DEFSRC)/complete.def
1468builtins/declare.o: $(DEFSRC)/declare.def
1469builtins/echo.o: $(DEFSRC)/echo.def
1470builtins/enable.o: $(DEFSRC)/enable.def
1471builtins/eval.o: $(DEFSRC)/eval.def
1472builtins/exec.o: $(DEFSRC)/exec.def
1473builtins/exit.o: $(DEFSRC)/exit.def
1474builtins/fc.o: $(DEFSRC)/fc.def
1475builtins/fg_bg.o: $(DEFSRC)/fg_bg.def
1476builtins/getopts.o: $(DEFSRC)/getopts.def
1477builtins/hash.o: $(DEFSRC)/hash.def
1478builtins/help.o: $(DEFSRC)/help.def
1479builtins/history.o: $(DEFSRC)/history.def
1480builtins/inlib.o: $(DEFSRC)/inlib.def
1481builtins/jobs.o: $(DEFSRC)/jobs.def
1482builtins/kill.o: $(DEFSRC)/kill.def
1483builtins/let.o: $(DEFSRC)/let.def
1484builtins/mapfile.o: $(DEFSRC)/mapfile.def
1485builtins/pushd.o: $(DEFSRC)/pushd.def
1486builtins/read.o: $(DEFSRC)/read.def
1487builtins/reserved.o: $(DEFSRC)/reserved.def
1488builtins/return.o: $(DEFSRC)/return.def
1489builtins/set.o: $(DEFSRC)/set.def
1490builtins/setattr.o: $(DEFSRC)/setattr.def
1491builtins/shift.o: $(DEFSRC)/shift.def
1492builtins/shopt.o: $(DEFSRC)/shopt.def
1493builtins/source.o: $(DEFSRC)/source.def
1494builtins/suspend.o: $(DEFSRC)/suspend.def
1495builtins/test.o: $(DEFSRC)/test.def
1496builtins/times.o: $(DEFSRC)/times.def
1497builtins/trap.o: $(DEFSRC)/trap.def
1498builtins/type.o: $(DEFSRC)/type.def
1499builtins/ulimit.o: $(DEFSRC)/ulimit.def
1500builtins/umask.o: $(DEFSRC)/umask.def
1501builtins/wait.o: $(DEFSRC)/wait.def
1502