2006-10-31 12:06:56 +10:00
# Copyright (C) 2005-2006 Axel Liljencrantz
2005-09-20 23:26:39 +10:00
#
2006-11-02 00:47:47 +10:00
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
2005-09-20 23:26:39 +10:00
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
2013-12-13 21:51:52 +01:00
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
2005-09-20 23:26:39 +10:00
#
2006-02-04 23:09:14 +10:00
#
# @configure_input@
#
2005-09-20 23:26:39 +10:00
#
# Makefile for the fish shell. Can build fish and associated
2013-11-30 15:11:05 +08:00
# applications, install them, and recalculate dependencies.
2005-09-20 23:26:39 +10:00
#
2016-07-18 13:48:15 -07:00
# Verbosity
# make V=1 causes a noisy make, V=0 is silent/quiet. If one uses (lower case v)
2016-09-15 23:55:02 -07:00
# $v as a substitute for @, it will be replaced with an empty string for the
2016-08-08 19:31:02 -07:00
# default (V=1) case and replaced with @ in the V=0 case. You can use a bare @
# for things that should almost never print.
2016-07-18 13:48:15 -07:00
V := 0
2016-07-16 11:48:11 -07:00
2016-04-27 14:56:46 -07:00
#
2010-11-22 19:05:06 +08:00
# Used by docdir
2016-04-27 14:56:46 -07:00
#
2016-09-15 23:55:02 -07:00
PACKAGE_TARNAME := @PACKAGE_TARNAME@
2006-10-31 12:06:56 +10:00
2016-09-15 18:37:37 -07:00
# The default: /bin/sh
# Fish won't work.
2016-09-15 23:55:02 -07:00
SHELL := @SHELL@
2016-09-15 18:37:37 -07:00
2006-01-23 21:38:07 +10:00
# Programs
2006-10-31 12:06:56 +10:00
#
2016-09-15 18:37:37 -07:00
CXX := @CXX@
2016-08-08 19:31:02 -07:00
INSTALL := @INSTALL@
2016-09-15 18:37:37 -07:00
LN_S := @LN_S@
2014-09-18 20:29:49 +08:00
SED := @SED@
2016-09-15 18:37:37 -07:00
MKDIR_P := @MKDIR_P@
AWK := @AWK@
GREP := @GREP@
FGREP := @FGREP@
2006-01-23 21:38:07 +10:00
2006-10-31 12:06:56 +10:00
#
2006-01-23 07:35:48 +10:00
# Installation directories
2006-10-31 12:06:56 +10:00
#
2005-09-20 23:26:39 +10:00
prefix = @prefix@
exec_prefix = @exec_prefix@
2010-11-22 19:05:06 +08:00
datarootdir = @datarootdir@
2006-01-04 22:51:02 +10:00
datadir = @datadir@
2005-09-20 23:26:39 +10:00
bindir = @bindir@
mandir = @mandir@
sysconfdir = @sysconfdir@
docdir = @docdir@
2006-07-20 00:41:04 +10:00
localedir = @localedir@
2016-04-04 14:33:35 +08:00
extra_completionsdir = @extra_completionsdir@
extra_functionsdir = @extra_functionsdir@
2016-04-05 22:22:12 +08:00
extra_confdir = @extra_confdir@
2006-10-31 12:06:56 +10:00
2017-08-22 15:34:41 -07:00
#
# muparser
#
2017-08-25 01:26:16 +08:00
MUPARSER_DIR = muparser-2.2.5
2017-08-22 15:34:41 -07:00
MUPARSER_LIBDIR = $( MUPARSER_DIR) /lib
MUPARSER_LIB = $( MUPARSER_LIBDIR) /libmuparser.a
MUPARSER_H = $( MUPARSER_DIR) /include/muParser.h
EXTRA_MUPARSER = @EXTRA_MUPARSER@
2015-09-12 12:59:40 -07:00
#
# pcre2
#
PCRE2_WIDTH = @WCHAR_T_BITS@
2017-01-16 10:10:28 +03:00
PCRE2_DIR = pcre2-10.22
2015-09-12 12:59:40 -07:00
PCRE2_LIBDIR = $( PCRE2_DIR) /.libs
PCRE2_LIB = $( PCRE2_LIBDIR) /libpcre2-$( PCRE2_WIDTH) .a
PCRE2_H = $( PCRE2_DIR) /src/pcre2.h
2015-10-01 16:33:23 +08:00
EXTRA_PCRE2 = @EXTRA_PCRE2@
2015-09-12 12:59:40 -07:00
2006-10-31 12:06:56 +10:00
#
# Various flags
#
2016-08-08 19:31:02 -07:00
CXXFLAGS = @CXXFLAGS@ $( EXTRA_CXXFLAGS)
2017-08-22 15:34:41 -07:00
CPPFLAGS = -D_UNICODE= 1 -DLOCALEDIR= \" $( localedir) \" -DPREFIX= L\" $( prefix) \" -DDATADIR= L\" $( datadir) \" -DSYSCONFDIR= L\" $( sysconfdir) \" -DBINDIR= L\" $( bindir) \" -DDOCDIR= L\" $( docdir) \" -iquote. -iquote./src/
2013-11-09 19:43:32 +08:00
LDFLAGS = @LDFLAGS@
2015-10-01 16:33:23 +08:00
LIBS = @LIBS@
2014-03-29 23:28:11 +08:00
LDFLAGS_FISH = ${ LDFLAGS } @LDFLAGS_FISH@
2006-10-31 12:06:56 +10:00
#
2006-01-23 07:35:48 +10:00
# Set to 1 if we have gettext
2006-10-31 12:06:56 +10:00
#
2006-01-04 22:51:02 +10:00
HAVE_GETTEXT = @HAVE_GETTEXT@
2013-06-19 23:59:13 +08:00
#
# Set to 1 if we have doxygen
#
HAVE_DOXYGEN = @HAVE_DOXYGEN@
2006-10-31 12:06:56 +10:00
#
2008-01-13 05:21:35 +10:00
# All objects that the system needs to build fish, except fish.o
2006-10-31 12:06:56 +10:00
#
2017-06-14 22:12:29 -07:00
FISH_OBJS := obj/autoload.o obj/builtin.o obj/builtin_bg.o obj/builtin_bind.o obj/builtin_block.o \
2017-07-07 14:32:41 -07:00
obj/builtin_builtin.o obj/builtin_cd.o obj/builtin_command.o \
obj/builtin_commandline.o obj/builtin_complete.o obj/builtin_contains.o \
obj/builtin_disown.o obj/builtin_echo.o obj/builtin_emit.o \
obj/builtin_exit.o obj/builtin_fg.o obj/builtin_function.o \
obj/builtin_functions.o obj/builtin_argparse.o obj/builtin_history.o \
2017-08-22 15:34:41 -07:00
obj/builtin_jobs.o obj/builtin_math.o obj/builtin_printf.o obj/builtin_pwd.o \
2017-07-07 14:32:41 -07:00
obj/builtin_random.o obj/builtin_read.o obj/builtin_realpath.o \
obj/builtin_return.o obj/builtin_set.o obj/builtin_set_color.o \
obj/builtin_source.o obj/builtin_status.o obj/builtin_string.o \
2017-10-22 16:10:23 +09:00
obj/builtin_test.o obj/builtin_ulimit.o obj/builtin_wait.o obj/color.o obj/common.o \
2017-07-07 14:32:41 -07:00
obj/complete.o obj/env.o obj/env_universal_common.o obj/event.o obj/exec.o \
obj/expand.o obj/fallback.o obj/fish_version.o obj/function.o obj/highlight.o \
obj/history.o obj/input.o obj/input_common.o obj/intern.o obj/io.o \
obj/iothread.o obj/kill.o obj/output.o obj/pager.o obj/parse_execution.o \
obj/parse_productions.o obj/parse_tree.o obj/parse_util.o obj/parser.o \
obj/parser_keywords.o obj/path.o obj/postfork.o obj/proc.o obj/reader.o \
obj/sanity.o obj/screen.o obj/signal.o obj/tokenizer.o obj/utf8.o obj/util.o \
obj/wcstringutil.o obj/wgetopt.o obj/wildcard.o obj/wutil.o
2006-02-10 01:50:20 +10:00
2016-04-04 13:43:37 +01:00
FISH_INDENT_OBJS := obj/fish_indent.o obj/print_help.o $( FISH_OBJS)
2006-10-31 12:06:56 +10:00
2016-07-03 05:04:19 -07:00
FISH_KEYREAD_OBJS := obj/fish_key_reader.o obj/print_help.o $( FISH_OBJS)
2006-10-31 12:06:56 +10:00
#
2006-01-23 07:35:48 +10:00
# All objects that the system needs to build fish_tests
2006-10-31 12:06:56 +10:00
#
2015-07-24 00:50:58 -07:00
FISH_TESTS_OBJS := $( FISH_OBJS) obj/fish_tests.o
2006-01-23 07:35:48 +10:00
2006-10-31 12:06:56 +10:00
#
2015-07-25 15:15:54 -07:00
# All of the sources that produce object files
# (that is, are not themselves #included in other source files)
2006-10-31 12:06:56 +10:00
#
2016-09-15 18:37:37 -07:00
FISH_ALL_OBJS := $( sort $( FISH_OBJS) $( FISH_INDENT_OBJS) $( FISH_TESTS_OBJS) $( FISH_KEYREAD_OBJS) obj/fish.o)
2006-01-23 07:35:48 +10:00
2005-09-20 23:26:39 +10:00
#
2006-11-20 11:06:20 +10:00
# Files containing user documentation
2005-09-20 23:26:39 +10:00
#
2006-10-31 12:06:56 +10:00
2006-11-23 04:53:33 +10:00
#
# These files are the source files, they contain a few @FOO@-style substitutions
2013-10-05 00:37:44 -07:00
# Note that this order defines the order that they appear in the documentation
2006-11-23 04:53:33 +10:00
#
2016-09-15 18:37:37 -07:00
HDR_FILES_SRC := doc_src/index.hdr.in doc_src/tutorial.hdr doc_src/design.hdr doc_src/license.hdr doc_src/commands.hdr.in doc_src/faq.hdr
2006-11-23 04:53:33 +10:00
#
# These are the generated result files
#
2013-03-30 12:21:49 -07:00
HDR_FILES := $( HDR_FILES_SRC:.hdr.in= .hdr)
2006-10-31 12:06:56 +10:00
2012-01-06 10:23:38 -08:00
# Use a pattern rule so that Make knows to only issue one invocation
# per http://www.gnu.org/software/make/manual/make.html#Pattern-Intro
2012-06-01 14:00:04 -07:00
2005-09-20 23:26:39 +10:00
#
2010-09-18 10:18:26 +08:00
# Files containing documentation for external commands.
2005-09-20 23:26:39 +10:00
#
2006-11-23 04:53:33 +10:00
HELP_SRC := $( wildcard doc_src/*.txt)
2005-09-20 23:26:39 +10:00
2014-08-01 03:37:32 +01:00
#
# HTML includes needed for HTML help
#
2016-09-15 18:37:37 -07:00
HTML_SRC := doc_src/user_doc.header.html doc_src/user_doc.footer.html doc_src/user_doc.css
2006-10-31 12:06:56 +10:00
2006-01-23 07:35:48 +10:00
#
# Files in the test directory
#
2005-09-20 23:26:39 +10:00
TEST_IN := $( wildcard tests/test*.in)
2006-10-31 12:06:56 +10:00
#
2006-03-29 10:25:00 +10:00
# Files in ./share/completions/
2006-10-31 12:06:56 +10:00
#
2017-08-07 18:29:33 -07:00
COMPLETIONS_DIR_FILES := $( wildcard share/completions/*.fish)
2005-09-20 23:26:39 +10:00
2006-10-31 12:06:56 +10:00
#
2006-03-29 10:25:00 +10:00
# Files in ./share/functions/
2006-10-31 12:06:56 +10:00
#
2006-02-17 20:13:39 +10:00
FUNCTIONS_DIR_FILES := $( wildcard share/functions/*.fish)
2006-02-08 19:20:05 +10:00
2006-10-31 12:06:56 +10:00
#
# Programs to install
#
2016-05-06 21:22:28 -07:00
PROGRAMS := fish fish_indent fish_key_reader
2006-10-31 12:06:56 +10:00
#
2006-11-23 04:53:33 +10:00
# Manual pages to install
2006-10-31 12:06:56 +10:00
#
2016-07-16 11:48:11 -07:00
MANUALS := $( addsuffix .1, $( addprefix share/man/man1/, $( PROGRAMS) ) )
2017-02-05 13:27:48 +08:00
HELP_MANPAGES = $( wildcard share/man/man1/*.1)
2016-12-02 23:25:54 +11:00
# Determine which man pages we don't want to install
# On OS X, don't install a man page for open, since we defeat fish's open
# function on OS X.
# This is also done in build_tools/build_documentation.sh, but because the
# tarball includes this page, we need to skip it in the Makefile too (see
# https://github.com/fish-shell/fish-shell/issues/2561).
i f e q ( $( shell uname ) , D a r w i n )
2017-02-05 13:27:48 +08:00
CONDEMNED_PAGES := open.1
HELP_MANPAGES = $( filter-out share/man/man1/open.1, $( wildcard share/man/man1/*.1) )
2016-12-02 23:25:54 +11:00
e n d i f
2005-09-20 23:26:39 +10:00
2006-10-31 12:06:56 +10:00
#
2017-02-21 20:49:34 -08:00
# All translation message catalogs, filter files based on LINGUAS.
2006-10-31 12:06:56 +10:00
#
2006-01-04 22:51:02 +10:00
TRANSLATIONS_SRC := $( wildcard po/*.po)
2017-02-21 20:49:34 -08:00
i f e q ( $( HAVE_GETTEXT ) , 1 )
2014-11-17 17:27:25 +08:00
TRANSLATIONS := $( TRANSLATIONS_SRC:.po= .gmo)
2017-02-21 20:49:34 -08:00
i f d e f L I N G U A S
TRANSLATIONS_ALL := $( TRANSLATIONS)
TRANSLATIONS_WANTED = $( patsubst %,po/%.gmo,$( LINGUAS) )
TRANSLATIONS = $( filter $( TRANSLATIONS_WANTED) ,$( TRANSLATIONS_ALL) )
e n d i f
2014-11-17 17:27:25 +08:00
e l s e
TRANSLATIONS :=
e n d i f
2006-01-04 22:51:02 +10:00
2013-06-19 23:59:13 +08:00
#
# If Doxygen is not available, don't attempt to build the documentation
#
i f e q ( $( HAVE_DOXYGEN ) , 1 )
2016-03-31 14:51:58 +08:00
user_doc = doc
2013-09-02 13:05:55 +08:00
share_man = share/man
2013-06-19 23:59:13 +08:00
e l s e
user_doc =
2013-09-02 13:05:55 +08:00
share_man =
2013-06-19 23:59:13 +08:00
e n d i f
2006-10-31 12:06:56 +10:00
2016-09-15 18:37:37 -07:00
2016-09-15 23:40:54 -07:00
t_co := $( shell tput colors || echo '' ) 2> /dev/null
green := $( shell ( tput setaf 2 || tput AF 2 ) 2> /dev/null )
yellow := $( shell ( tput setaf 3 || tput AF 3 ) 2> /dev/null )
cyan := $( shell ( tput setaf 6 || tput AF 6 ) 2> /dev/null )
red := $( shell ( tput setaf 1 || tput AF 1 ) 2> /dev/null )
bo := $( shell ( tput bold || tput md ) 2> /dev/null )
2016-09-01 07:38:18 -07:00
# * Italic: Rarely defined - it's common for it to work despite
2016-09-01 06:58:51 -07:00
# terminfo entries and isn't known to cause any recent > 256-color terminals
# to explode. If terminfo says a terminal supports 256 colors - it's fancy enough
# and won't have trouble the escape.
2016-09-15 23:40:54 -07:00
i f e q ( $( t_co ) , 2 5 6 )
em := $( shell ( tput sitm || tput ZH || echo "\\033[3m" ) 2> /dev/null )
2016-09-15 23:55:02 -07:00
# * Half-bright/faint 'dim' mode - rarely works - rarely in terminfo when it does
# but it's cool. Use it with one of the basic colors to get a fainter version
# of it. We use this to shade the output from any reconfigures we trigger.
2016-09-15 23:40:54 -07:00
dim := $( shell ( tput dim || tput mh || [ $( TERM_PROGRAM) = Apple_Terminal ] && echo "\\033[2m" ) 2> /dev/null )
2016-08-08 19:31:02 -07:00
e l s e
2016-09-15 23:40:54 -07:00
em := $( shell ( tput sitm || tput ZH ) 2> /dev/null )
dim := $( shell ( tput dim || tput mh) 2> /dev/null )
2016-08-08 19:31:02 -07:00
e n d i f
2016-09-01 06:58:51 -07:00
2016-09-15 23:40:54 -07:00
sgr0 := $( shell ( tput sgr0 || tput me) 2> /dev/null )
2016-09-01 06:58:51 -07:00
2016-08-08 19:31:02 -07:00
#
2016-09-15 23:55:02 -07:00
# A target that shows VAR='$(VAR)' (properly escaped)
2016-08-08 19:31:02 -07:00
# Cool trick: `make show-$var` (e.g. make show-HAVE_DOXYGEN) to quickly see what $var is.
#
show-% :
2017-05-23 16:57:24 -07:00
-@echo " $* = $( em) $( cyan) ' $( subst ',' '' ,$( $* ) ) ' $( sgr0) "
2006-10-31 12:06:56 +10:00
#
# Make everything needed for installing fish
#
2016-08-08 19:31:02 -07:00
all : show -CXX show -CXXFLAGS $( PROGRAMS ) $( user_doc ) $( share_man ) $( TRANSLATIONS ) fish .pc share /__fish_build_paths .fish
2016-09-15 18:37:37 -07:00
i f n e q ( , $( findstring install ,$ ( MAKECMDGOALS ) ) )
2017-01-16 01:51:10 +03:00
# Fish has been built, but if the goal was 'install', we aren't done yet and this output isnt't desirable
2016-09-15 23:40:54 -07:00
@echo " $( green) fish has now been built. $( sgr0) "
@echo " Run $( yellow) $( notdir $( MAKE) ) install $( sgr0) to install fish. $( sgr0) "
2016-09-15 18:37:37 -07:00
e n d i f
2006-01-24 06:40:14 +10:00
.PHONY : all
2005-09-20 23:26:39 +10:00
2013-06-24 18:12:09 +08:00
#
# Pull version information
#
2016-09-15 23:40:54 -07:00
FISH-BUILD-VERSION-FILE : FORCE | show -FISH_BUILD_VERSION
2016-09-15 23:55:02 -07:00
$v build_tools/git_version_gen.sh 2> /dev/null
2013-06-24 18:12:09 +08:00
- i n c l u d e F I S H - B U I L D - V E R S I O N - F I L E
2016-08-08 19:31:02 -07:00
CPPFLAGS += -DFISH_BUILD_VERSION= \" $( FISH_BUILD_VERSION) \"
2013-06-24 18:12:09 +08:00
.PHONY : FORCE
2016-03-31 22:19:27 +01:00
obj/fish_version.o : FISH -BUILD -VERSION -FILE
2013-06-24 18:12:09 +08:00
2006-10-31 12:06:56 +10:00
#
# These dependencies make sure that autoconf and configure are run
# when the source code for the build configuration has changed.
#
2006-04-02 21:15:25 +10:00
configure : configure .ac
2016-09-15 23:40:54 -07:00
@echo " Rechecking config.status; rerunning ./configure if necessary... $( dim) "
2016-09-15 23:55:02 -07:00
$v ./config.status --recheck
2016-09-15 23:40:54 -07:00
@echo " $( sgr0) "
2006-04-02 21:15:25 +10:00
Makefile : Makefile .in configure
2016-09-15 23:40:54 -07:00
@echo " Checking config.status... $( dim) "
2016-09-15 23:55:02 -07:00
$v ./config.status
2016-09-15 23:40:54 -07:00
@echo " $( sgr0) "
2006-04-02 21:15:25 +10:00
2006-10-31 12:06:56 +10:00
#
# Build fish with some debug flags specified. This is GCC specific,
2016-08-08 19:31:02 -07:00
# and should only be used when debugging fish.
2006-10-31 12:06:56 +10:00
#
2012-07-08 15:20:39 -07:00
prof : EXTRA_CXXFLAGS += -pg
prof : LDFLAGS += -pg
prof : all
2010-10-05 02:23:18 +08:00
.PHONY : prof
2006-10-31 12:06:56 +10:00
#
2005-09-20 23:26:39 +10:00
# User documentation, describing the features of the fish shell.
2006-10-31 12:06:56 +10:00
#
2016-03-30 15:35:14 -07:00
# Depend on the sources (*.hdr.in) and manually make the intermediate *.hdr
# and doc.h files if needed. The sed command deletes everything including and
# after the first -, for simpler version numbers. Cleans up the user_doc/html
# directory once Doxygen is done.
2006-10-31 12:06:56 +10:00
#
2016-10-03 14:35:14 -07:00
doc : $( HDR_FILES_SRC ) Doxyfile .user $( HTML_SRC ) $( HELP_SRC ) doc .h $( HDR_FILES ) lexicon_filter
2016-11-20 14:38:02 -08:00
@echo " doxygen $( em) user_doc $( sgr0) "
2017-10-04 21:26:34 -07:00
$v env FISH_BUILD_VERSION = $( FISH_BUILD_VERSION) ./build_tools/build_user_doc.sh Doxyfile.user ./lexicon_filter
2006-10-31 12:06:56 +10:00
#
2005-09-20 23:26:39 +10:00
# PDF version of the source code documentation.
2006-10-31 12:06:56 +10:00
#
2010-09-18 10:18:26 +08:00
doc/refman.pdf : doc
2016-09-15 23:40:54 -07:00
@echo " MAKE $( em) doc/latex $( sgr0) "
2016-09-15 23:55:02 -07:00
$v cd doc/latex
$v $( MAKE) V = $( V)
$v mv refman.pdf ..
2005-09-20 23:26:39 +10:00
2016-04-27 14:56:46 -07:00
#
2016-02-06 18:08:22 -08:00
# Prep the environment for running the unit tests. When specifying DESTDIR on
# the command line (e.g., `make DESTDIR=/usr/local/`) you must have previously
# installed fish using the same prefix; e.g., `./configure --prefix=/usr/local`
# followed by `make install`.
2016-04-27 14:56:46 -07:00
#
2016-09-15 23:55:02 -07:00
test-prep : show -DESTDIR show -LN_S show -FISH_VERSION
$v rm -rf test
$v $( MKDIR_P) test/data test/home test/temp
2016-02-06 18:08:22 -08:00
i f d e f D E S T D I R
2016-09-15 23:55:02 -07:00
$v $( LN_S) $( DESTDIR) test/root
2016-02-06 18:08:22 -08:00
e l s e
2016-09-15 23:55:02 -07:00
$v $( MKDIR_P) test/root
2016-02-06 18:08:22 -08:00
e n d i f
.PHONY : test -prep
2006-10-31 12:06:56 +10:00
2016-04-27 14:56:46 -07:00
#
2016-02-06 18:08:22 -08:00
# The test target runs both the low level code tests and the high level script
# tests.
2006-10-31 12:06:56 +10:00
#
2016-02-06 18:08:22 -08:00
# Note that doing `make DESTDIR=/some/path/ test` overrides this assignment.
2016-04-27 14:56:46 -07:00
#
2016-02-06 18:08:22 -08:00
test : DESTDIR = $( PWD ) /test /root /
test : prefix = .
test : test -prep install -force test_low_level test_high_level
2016-09-15 23:55:02 -07:00
$v rm -f /tmp/file_truncation_test.txt /tmp/tee_test.txt /tmp/fish_foo.txt
$v rm -rf /tmp/is_potential_path_test
2006-01-24 06:40:14 +10:00
.PHONY : test
2005-09-20 23:26:39 +10:00
2016-04-27 14:56:46 -07:00
#
2014-09-23 16:29:36 -07:00
# We want the various tests to run serially so their output doesn't mix
# We can do that by adding ordering dependencies based on what goals are being used.
2016-04-27 14:56:46 -07:00
#
2017-08-09 11:11:58 -07:00
test_goals := test_low_level test_fishscript test_interactive test_invocation
2014-09-23 16:29:36 -07:00
2016-04-27 14:56:46 -07:00
#
2014-09-23 16:29:36 -07:00
# The following variables define targets that depend on the tests. If any more targets
# are added that depend, directly or indirectly, on tests, they need to be recorded here.
2016-04-27 14:56:46 -07:00
#
2014-09-23 16:29:36 -07:00
test_test_deps = test_low_level $( test_high_level_test_deps)
2017-08-05 15:08:39 -07:00
test_high_level_test_deps = test_fishscript test_interactive test_invocation
2014-09-23 16:29:36 -07:00
active_test_goals = $( filter $( test_goals) ,$( foreach a,$( or $( MAKECMDGOALS) ,$( .DEFAULT_GOAL) ) ,$( a) $( $( a) _test_deps) ) )
2016-09-20 12:03:03 -07:00
filter_up_to = $( eval b:= 1) $( foreach a,$( 2) ,$( and $( b) ,$( if $( subst $( 1) ,,$( a) ) ,$( a) ,$( eval b:= ) ) ) )
2014-09-23 16:29:36 -07:00
2016-07-13 22:46:46 -07:00
# The values for XDG_DATA_HOME and XDG_CONFIG_HOME mimic those from tests/test_util.fish.
2014-09-23 16:29:36 -07:00
test_low_level : fish_tests $( call filter_up_to ,test_low_level ,$ ( active_test_goals ) )
2016-09-15 23:55:02 -07:00
$v rm -rf test/data test/home
2016-09-15 18:37:37 -07:00
$( MKDIR_P) test/data test/home
2016-07-13 22:46:46 -07:00
env XDG_DATA_HOME = test/data XDG_CONFIG_HOME = test/home ./fish_tests
2014-09-04 22:26:10 -07:00
.PHONY : test_low_level
2017-04-25 21:18:14 -07:00
test_high_level : DESTDIR = $( PWD ) /test /root /
test_high_level : prefix = .
2017-08-09 11:11:58 -07:00
test_high_level : test -prep install -force test_fishscript test_interactive test_invocation
2014-09-23 16:29:36 -07:00
.PHONY : test_high_level
Add test harness for fish command invocation, and tests for init command.
The new '-C' initial command needs some tests, and as there are no
tests just yet for the command invocation, this change adds a harness
and calls it from the high-level tests in the Makefile.
The tests are similar in style to the other high level tests, in that
we capture the output and compare it to that which we expect. The
harness itself is written in bash - sorry - because we're testing the
fish shell's invocation, and trying to do that with the fish we've
just built wouldn't actually make for a very useful test when things
go wrong.
The 'tests/invocation.sh' script can be executed manually, or as part
of the 'make test' target, to make it easy to use both as part of the
development and as part of automation.
The harness has only been tested on linux with bash 4.3.11, and requires
grep and sed. Although not tested with OS X, I believe I have avoided
the syntax which is inconsistent.
The tests added here cover just the initial command's basic execution,
and when it is mixed with the regular '-c' command.
2017-06-29 16:11:58 +01:00
test_invocation : $( call filter_up_to ,test_invocation ,$ ( active_test_goals ) )
cd tests; ./invocation.sh
.PHONY : test_invocation
2016-02-06 18:08:22 -08:00
test_fishscript : $( call filter_up_to ,test_fishscript ,$ ( active_test_goals ) )
cd tests; ../test/root/bin/fish test.fish
2014-09-04 22:26:10 -07:00
.PHONY : test_fishscript
2016-02-06 18:08:22 -08:00
test_interactive : $( call filter_up_to ,test_interactive ,$ ( active_test_goals ) )
cd tests; ../test/root/bin/fish interactive.fish
2014-09-23 16:29:36 -07:00
.PHONY : test_interactive
Add test harness for fish command invocation, and tests for init command.
The new '-C' initial command needs some tests, and as there are no
tests just yet for the command invocation, this change adds a harness
and calls it from the high-level tests in the Makefile.
The tests are similar in style to the other high level tests, in that
we capture the output and compare it to that which we expect. The
harness itself is written in bash - sorry - because we're testing the
fish shell's invocation, and trying to do that with the fish we've
just built wouldn't actually make for a very useful test when things
go wrong.
The 'tests/invocation.sh' script can be executed manually, or as part
of the 'make test' target, to make it easy to use both as part of the
development and as part of automation.
The harness has only been tested on linux with bash 4.3.11, and requires
grep and sed. Although not tested with OS X, I believe I have avoided
the syntax which is inconsistent.
The tests added here cover just the initial command's basic execution,
and when it is mixed with the regular '-c' command.
2017-06-29 16:11:58 +01:00
2006-11-01 01:36:14 +10:00
#
# commands.hdr collects documentation on all commands, functions and
# builtins
#
2017-09-17 15:01:15 -07:00
doc_src/commands.hdr : $( HELP_SRC ) doc_src /commands .hdr .in build_tools /build_commands_hdr .sh
build_tools/build_commands_hdr.sh ${ HELP_SRC } < doc_src/commands.hdr.in > $@
2006-11-23 04:53:33 +10:00
2017-10-04 23:18:52 -07:00
toc.txt : $( HDR_FILES :index .hdr =index .hdr .in ) build_tools /build_toc_txt .sh | show -SED
FISH_BUILD_VERSION = ${ FISH_BUILD_VERSION } build_tools/build_toc_txt.sh \
$( HDR_FILES:index.hdr= index.hdr.in) > toc.txt
2006-11-23 04:53:33 +10:00
2016-09-15 18:37:37 -07:00
doc_src/index.hdr : toc .txt doc_src /index .hdr .in | show -AWK
2016-11-20 14:38:02 -08:00
@echo " AWK CAT $( em) $@ $( sgr0) "
2017-10-04 21:20:32 -07:00
$v build_tools/build_index_hdr.sh toc.txt < $@ .in > $@
2006-11-01 01:36:14 +10:00
2014-08-01 03:37:32 +01:00
#
# Compile Doxygen Input Filter from the lexicon. This is an executable sed
# script as Doxygen opens it via popen()(3) Input (doc.h) is piped through and
# matching words inside /fish../endfish blocks are marked up, contextually,
# with custom Doxygen commands in the form of @word_type{content}. These are
# trapped by ALIASES in the various Doxyfiles, allowing the content to be
# transformed depending on output type (HTML, man page, developer docs). In
# HTML, a style context can be applied through the /fish{style} block and
# providing suitable CSS in user_doc.css.in
#
2017-09-11 22:58:49 -07:00
lexicon_filter : doc_src /commands .hdr $( FUNCTIONS_DIR_FILES ) $( COMPLETIONS_DIR_FILES ) \
lexicon_filter.in build_tools/build_lexicon_filter.sh \
share/functions/__fish_config_interactive.fish
2017-11-28 21:17:38 +08:00
$v build_tools/build_lexicon_filter.sh share/functions/ share/completions/ $( SED) < lexicon_filter.in > $@
2017-09-11 22:58:49 -07:00
$v chmod a+x lexicon_filter
2006-11-01 01:36:14 +10:00
2006-10-31 12:06:56 +10:00
#
2005-09-20 23:26:39 +10:00
# doc.h is a compilation of the various snipptes of text used both for
# the user documentation and for internal help functions into a single
2014-08-01 03:37:32 +01:00
# file that can be parsed by Doxygen to generate the user
2005-09-20 23:26:39 +10:00
# documentation.
2006-10-31 12:06:56 +10:00
#
2006-11-23 04:53:33 +10:00
doc.h : $( HDR_FILES )
2016-09-15 23:40:54 -07:00
@echo " HDR_FILES $( em) $@ $( sgr0) "
2016-09-15 23:55:02 -07:00
$v cat $( HDR_FILES) >$@
2006-10-31 12:06:56 +10:00
#
2005-09-20 23:26:39 +10:00
# This rule creates complete doxygen headers from each of the various
# snipptes of text used both for the user documentation and for
# internal help functions, that can be parsed to Doxygen to generate
# the internal help function text.
2006-10-31 12:06:56 +10:00
#
2005-09-20 23:26:39 +10:00
%.doxygen : %.txt
2016-11-20 14:38:02 -08:00
@echo " cat * $( em) $@ $( sgr0) "
2016-09-15 23:55:02 -07:00
$v echo "/** \page " ` basename $* ` >$@ ;
$v cat $* .txt >>$@ ;
$v echo "*/" >>$@
2005-09-20 23:26:39 +10:00
2016-04-27 14:56:46 -07:00
#
2014-10-06 19:02:43 -07:00
# Depend on Makefile because I don't see a better way of rebuilding
# if any of the paths change.
2016-04-27 14:56:46 -07:00
#
2016-08-08 19:31:02 -07:00
% : %.in Makefile FISH -BUILD -VERSION -FILE | show -prefix show -sysconfdir show -docdir show -extra_completionsdir show -extra_functionsdir show -extra_confdir show -prefix show -FISH_BUILD_VERSION
2016-09-15 23:40:54 -07:00
@echo " SED $( em) $@ $( sgr0) "
2016-09-15 18:37:37 -07:00
2016-09-15 23:55:02 -07:00
$v $( SED) <$< >$@ \
2006-11-11 20:53:14 +10:00
-e " s,@sysconfdir\@, $( sysconfdir) ,g " \
-e " s,@datadir\@, $( datadir) ,g " \
-e " s,@docdir\@, $( docdir) ,g " \
2016-04-04 14:33:35 +08:00
-e " s,@extra_completionsdir\@, $( extra_completionsdir) ,g " \
-e " s,@extra_functionsdir\@, $( extra_functionsdir) ,g " \
2016-04-05 22:22:12 +08:00
-e " s,@extra_confdir\@, $( extra_confdir) ,g " \
2006-11-11 20:53:14 +10:00
-e " s|@configure_input\@| $@ , generated from $@ .in by the Makefile. DO NOT MANUALLY EDIT THIS FILE!|g " \
-e " s,@prefix\@, $( prefix) ,g " \
2014-10-01 22:02:55 +08:00
-e " s,@fish_build_version\@, $( FISH_BUILD_VERSION) ,g " \
2006-07-19 02:41:55 +10:00
2006-10-31 12:06:56 +10:00
#
2017-05-27 22:13:18 -07:00
# Compile translation files to binary format.
2006-10-31 12:06:56 +10:00
#
2006-01-24 03:47:42 +10:00
%.gmo :
2016-09-15 23:40:54 -07:00
@echo " msgfmt $( em) $@ $( sgr0) "
2017-05-27 22:13:18 -07:00
$v msgfmt --use-fuzzy -o $@ $* .po
2006-10-31 12:06:56 +10:00
#
2006-01-04 22:51:02 +10:00
# Update existing po file or copy messages.pot
2006-10-31 12:06:56 +10:00
#
2006-01-24 03:47:42 +10:00
%.po : messages .pot
2016-09-15 23:40:54 -07:00
@echo " msgmerge $( em) $@ $( sgr0) "
2016-09-15 23:55:02 -07:00
$v if test -f $* .po; then \
2014-11-17 17:27:25 +08:00
msgmerge -U --backup= existing $* .po messages.pot; \
else \
cp messages.pot $* .po; \
2006-01-04 22:51:02 +10:00
fi
2006-10-31 12:06:56 +10:00
#
2006-01-04 22:51:02 +10:00
# Create a template translation object
2006-10-31 12:06:56 +10:00
#
2017-05-27 22:13:18 -07:00
messages.pot : fish $( wildcard src /*.cpp src /*.h share /completions /*.fish share /functions /*.fish )
2016-11-20 14:38:02 -08:00
@echo " xgettext $( em) $@ $( sgr0) "
2017-05-27 22:13:18 -07:00
$v xgettext -k -k_ -kN_ -LC++ --no-wrap -o messages.pot src/*.cpp src/*.h
$v rm -rf /tmp/fish
$v ./fish build_tools/fish_xgettext.fish
$v xgettext -j -k -kN_ -LShell --from-code= UTF-8 -cDescription --no-wrap -o messages.pot /tmp/fish/explicit/share/*.fish /tmp/fish/explicit/share/*/*.fish
$v xgettext -j -k -kN_ -LShell --from-code= UTF-8 -cDescription --no-wrap -o messages.pot /tmp/fish/implicit/share/*.fish /tmp/fish/implicit/share/*/*.fish
$v rm -rf /tmp/fish
2006-01-04 22:51:02 +10:00
2015-10-02 15:29:08 +08:00
i f d e f E X T R A _ P C R E 2
2015-09-12 12:59:40 -07:00
src/builtin_string.cpp : $( PCRE 2_H )
2015-10-02 15:29:08 +08:00
e n d i f
2006-10-31 12:06:56 +10:00
2017-08-22 15:34:41 -07:00
#ifdef EXTRA_MUPARSER
#src/env.cpp: $(MUPARSER_H)
#endif
2006-10-31 12:06:56 +10:00
#
2005-09-20 23:26:39 +10:00
# Generate the internal help functions by making doxygen create
2006-11-18 02:24:38 +10:00
# man-pages. The convertion path looks like this:
2005-09-20 23:26:39 +10:00
#
# .txt file
# ||
# (make)
# ||
# \/
# .doxygen file
# ||
# (doxygen)
# ||
# \/
2006-11-18 02:24:38 +10:00
# roff file
2005-09-20 23:26:39 +10:00
# ||
2006-11-18 02:24:38 +10:00
# (__fish_print_help)
2005-09-20 23:26:39 +10:00
# ||
# \/
2010-09-18 10:18:26 +08:00
# formated text
# with escape
2005-09-20 23:26:39 +10:00
# sequences
#
2006-11-18 02:24:38 +10:00
#
# There ought to be something simpler.
2006-10-31 12:06:56 +10:00
#
2016-08-08 19:31:02 -07:00
share/man : $( HELP_SRC ) lexicon_filter | show -FISH_BUILD_VERSION show -SED
2016-09-15 23:55:02 -07:00
-$v $( MKDIR_P) share/man
2016-09-15 23:40:54 -07:00
@echo " doxygen $( em) $@ $( sgr0) "
2016-09-15 23:55:02 -07:00
$v touch share/man
-$v rm -Rf share/man/man1
2017-10-04 21:30:20 -07:00
$v echo " $( dim) " && FISH_BUILD_VERSION = ${ FISH_BUILD_VERSION } INPUT_FILTER = ./lexicon_filter \
build_tools/build_documentation.sh Doxyfile.help ./doc_src ./share;
2006-06-13 23:43:28 +10:00
2006-01-24 06:40:14 +10:00
#
2006-02-24 01:35:56 +10:00
# The build rules for installing/uninstalling fish
#
2013-04-12 13:46:27 -07:00
check-legacy-binaries :
2016-08-09 06:06:09 -07:00
@echo "Checking for legacy binaries..."
2016-09-15 23:55:02 -07:00
$v KR_LOC = $( prefix) /bin/key_reader; \
2016-08-08 19:31:02 -07:00
if test -x " $$ KR_LOC " && env TERM = dumb " $$ KR_LOC " cr | grep -q 26; then \
2016-09-15 23:40:54 -07:00
echo " $( red) A key_reader binary was found. You might want to remove this, and use 'fish_key_reader': " ; \
echo " ' $$ KR_LOC' $( sgr0) " ; \
2016-08-08 19:31:02 -07:00
fi ;
2016-09-15 23:55:02 -07:00
$v SEQLOC = $( prefix) /bin/seq; \
2013-04-12 13:46:27 -07:00
if test -f " $$ SEQLOC " && grep -q '\(^#!/.*/fish\|^#!/usr/bin/env fish\)' " $$ SEQLOC " ; then \
2016-09-15 23:40:54 -07:00
echo " $( red) An outdated seq from a previous fish install was found. You should remove it with: " ; \
echo " rm ' $$ SEQLOC' $( sgr0) " ; \
2013-04-12 13:46:27 -07:00
fi ;
2016-09-15 23:55:02 -07:00
$v SETCOLOR_LOC = $( prefix) /bin/set_color; \
2013-02-15 15:38:08 -08:00
if test -x " $$ SETCOLOR_LOC " && $$ SETCOLOR_LOC -v 2>& 1 >/dev/null | grep -q "^set_color, version " ; then \
2016-09-15 23:40:54 -07:00
echo " $( red) An outdated set_color from a previous fish install was found. You should remove it with: " ; \
echo " rm ' $$ SETCOLOR_LOC' $( sgr0) " ; \
2013-04-12 13:46:27 -07:00
fi ;
2016-09-15 23:55:02 -07:00
$v MIMEDB_LOC = $( prefix) /bin/mimedb; \
2015-07-24 15:56:21 +08:00
if test -x " $$ MIMEDB_LOC " && $$ MIMEDB_LOC --version 2>& 1 | grep -q "^mimedb, version " ; then \
2016-09-15 23:40:54 -07:00
echo " $( red) An outdated mimedb binary from a previous fish install was found. You should remove it with: " ; \
echo " rm ' $$ MIMEDB_LOC' $( sgr0) " ; \
2015-07-24 15:56:21 +08:00
fi ;
2016-09-15 23:55:02 -07:00
$v FISHD_LOC = $( prefix) /bin/fishd; \
2015-07-24 15:56:21 +08:00
if test -x " $$ FISHD_LOC " && $$ FISHD_LOC --version 2>& 1 | grep -q "^fishd: fishd, version " ; then \
2016-09-15 23:40:54 -07:00
echo " $( red) An outdated fishd binary from a previous fish install was found. You should remove it with: " ; \
echo " rm ' $$ FISHD_LOC' $( sgr0) " ; \
2015-07-24 15:56:21 +08:00
fi ;
2016-09-15 23:55:02 -07:00
$v true;
2013-04-12 13:46:27 -07:00
.PHONY : check -legacy -binaries
2016-08-08 19:31:02 -07:00
install : all install -force | check -legacy -binaries
2017-01-16 01:51:10 +03:00
@echo
2016-09-15 23:40:54 -07:00
@echo " $( bo) fish is now installed on your system. $( sgr0) "
@echo " To run fish, type $( bo) $( green) fish $( sgr0) in your terminal. "
@echo " $( T_YELLOW) Even if you are already in fish, you should now start a new fish session. $( sgr0) "
2016-02-06 18:08:22 -08:00
@echo
@if type chsh >/dev/null 2>& 1; then \
echo To use fish as your login shell:; \
2017-10-25 16:34:17 -05:00
grep -q -- " $( DESTDIR) $( bindir) /fish " /etc/shells || echo -e " * add the line ' $( DESTDIR) $( bindir) /fish' to the file '/etc/shells': " \
" \n echo ' $( DESTDIR) $( bindir) /fish' | sudo tee -a /etc/shells > /dev/null " ; \
2017-09-24 13:58:13 -05:00
echo " * run ' $( yellow) chsh -s $( DESTDIR) $( bindir) /fish $( sgr0) ' " ; \
2016-02-06 18:08:22 -08:00
echo; \
fi ;
@if type chcon >/dev/null 2>& 1; then \
echo If you have SELinux enabled, you may need to manually update the security policy:; \
2017-09-24 13:58:13 -05:00
echo \ \* use the command \' chcon -t shell_exec_t $( DESTDIR) $( bindir) /fish\' ; \
2016-02-06 18:08:22 -08:00
echo; \
fi ;
2016-09-15 23:40:54 -07:00
@echo " To set your colors, run $( green) $( bo) fish_config $( sgr0) "
@echo " To scan your man pages for completions, run $( green) $( bo) fish_update_completions $( sgr0) "
@echo " To accept autosuggestions (in $( dim) grey $( sgr0) ) as you type, hit $( bo) ctrl-F $( sgr0) or right arrow key. "
2016-02-06 18:08:22 -08:00
@echo
2016-09-15 23:40:54 -07:00
@echo " $( bo) Have fun! <>< $( sgr0) "
2006-02-24 01:35:56 +10:00
.PHONY : install
2006-01-24 06:40:14 +10:00
2012-12-01 20:05:35 -08:00
#
# Xcode install
#
xcode-install :
2016-08-08 19:31:02 -07:00
rm -Rf /tmp/fish_build
2016-09-15 18:37:37 -07:00
xcrun xcodebuild install DSTROOT = /tmp/fish_build
2017-05-23 16:57:17 -07:00
ditto /tmp/fish_build /
2012-12-01 20:05:35 -08:00
.PHONY : xcode -install
2006-10-31 12:06:56 +10:00
#
2017-05-23 16:57:24 -07:00
# Actually do the installation.
2006-10-31 12:06:56 +10:00
#
2017-05-23 16:57:26 -07:00
install-force : all install -translations install -doc | show -datadir show -sysconfdir show -extra_completionsdir show -extra_functionsdir show -extra_confdir show -mandir
2016-09-15 23:55:02 -07:00
$v $( INSTALL) -m 755 -d $( DESTDIR) $( bindir)
$v for i in $( PROGRAMS) ; do \
2016-08-08 19:31:02 -07:00
$( INSTALL) -m 755 $$ i $( DESTDIR) $( bindir) ; \
2016-09-15 23:40:54 -07:00
echo " Installing $( bo) $$ i $( sgr0) " ; \
2012-02-09 16:36:35 -08:00
true ; \
2005-09-20 23:26:39 +10:00
done ;
2016-09-08 22:26:40 -07:00
@echo "Creating sysconfdir tree"
2016-09-15 23:55:02 -07:00
$v $( INSTALL) -m 755 -d $( DESTDIR) $( sysconfdir) /fish
$v $( INSTALL) -m 755 -d $( DESTDIR) $( sysconfdir) /fish/conf.d
$v $( INSTALL) -m 644 etc/config.fish $( DESTDIR) $( sysconfdir) /fish/
2016-09-08 22:26:40 -07:00
@echo "Creating datadir tree"
2016-09-15 23:55:02 -07:00
$v $( INSTALL) -m 755 -d $( DESTDIR) $( datadir) /fish
$v $( INSTALL) -m 755 -d $( DESTDIR) $( datadir) /fish/completions
$v $( INSTALL) -m 755 -d $( DESTDIR) $( datadir) /fish/functions
2016-10-19 13:35:30 -07:00
$v $( INSTALL) -m 755 -d $( DESTDIR) $( datadir) /fish/groff
2016-09-15 23:55:02 -07:00
$v $( INSTALL) -m 755 -d $( DESTDIR) $( datadir) /fish/man/man1
$v $( INSTALL) -m 755 -d $( DESTDIR) $( datadir) /fish/tools
$v $( INSTALL) -m 755 -d $( DESTDIR) $( datadir) /fish/tools/web_config
$v $( INSTALL) -m 755 -d $( DESTDIR) $( datadir) /fish/tools/web_config/js
$v $( INSTALL) -m 755 -d $( DESTDIR) $( datadir) /fish/tools/web_config/partials
$v $( INSTALL) -m 755 -d $( DESTDIR) $( datadir) /fish/tools/web_config/sample_prompts
$v $( INSTALL) -m 644 share/config.fish $( DESTDIR) $( datadir) /fish/
$v $( INSTALL) -m 644 share/__fish_build_paths.fish $( DESTDIR) $( datadir) /fish/
$v $( INSTALL) -m 755 -d $( DESTDIR) $( datadir) /pkgconfig
2016-09-15 18:37:37 -07:00
@echo "Creating placeholder vendor/'extra_' directories"
2017-05-23 16:57:24 -07:00
-$v $( INSTALL) -m 755 -d $( DESTDIR) $( extra_completionsdir)
-$v $( INSTALL) -m 755 -d $( DESTDIR) $( extra_functionsdir)
-$v $( INSTALL) -m 755 -d $( DESTDIR) $( extra_confdir)
2016-09-08 22:26:40 -07:00
@echo "Installing pkgconfig file"
2016-09-15 23:55:02 -07:00
$v $( INSTALL) -m 644 fish.pc $( DESTDIR) $( datadir) /pkgconfig
2016-09-19 17:18:43 -07:00
@echo " Installing the $( bo) fish completion library $( sgr0) ... " ;
2017-01-21 17:39:00 -08:00
$v $( INSTALL) -m 644 $( COMPLETIONS_DIR_FILES:%= '%' ) $( DESTDIR) $( datadir) /fish/completions/
2016-09-15 23:40:54 -07:00
@echo " Installing $( bo) fish functions $( sgr0) " ;
2017-01-21 17:39:00 -08:00
$v $( INSTALL) -m 644 $( FUNCTIONS_DIR_FILES:%= '%' ) $( DESTDIR) $( datadir) /fish/functions/
2016-09-15 23:40:54 -07:00
@echo " Installing $( bo) man pages $( sgr0) " ;
2016-10-19 13:35:30 -07:00
$v $( INSTALL) -m 644 share/groff/* $( DESTDIR) $( datadir) /fish/groff/
2017-02-05 13:27:48 +08:00
$v test -z " $( wildcard share/man/man1/*.1) " || $( INSTALL) -m 644 $( filter-out $( addprefix share/man/man1/, $( CONDEMNED_PAGES) ) , $( wildcard share/man/man1/*.1) ) $( DESTDIR) $( datadir) /fish/man/man1/
2016-09-15 18:37:37 -07:00
@echo "Installing helper tools" ;
2017-01-21 17:39:00 -08:00
$v $( INSTALL) -m 755 share/tools/*.py $( DESTDIR) $( datadir) /fish/tools/
$v $( INSTALL) -m 644 share/tools/web_config/*.* $( DESTDIR) $( datadir) /fish/tools/web_config/
$v $( INSTALL) -m 644 share/tools/web_config/js/*.* $( DESTDIR) $( datadir) /fish/tools/web_config/js/
$v $( INSTALL) -m 644 share/tools/web_config/partials/* $( DESTDIR) $( datadir) /fish/tools/web_config/partials/
$v $( INSTALL) -m 644 share/tools/web_config/sample_prompts/*.fish $( DESTDIR) $( datadir) /fish/tools/web_config/sample_prompts/
$v $( INSTALL) -m 755 share/tools/web_config/*.py $( DESTDIR) $( datadir) /fish/tools/web_config/
2016-09-08 22:26:40 -07:00
@echo "Installing more man pages" ;
2016-09-15 23:55:02 -07:00
$v $( INSTALL) -m 755 -d $( DESTDIR) $( mandir) /man1;
$v for i in $( MANUALS) ; do \
2005-09-20 23:26:39 +10:00
$( INSTALL) -m 644 $$ i $( DESTDIR) $( mandir) /man1/; \
2012-02-09 16:36:35 -08:00
true; \
2005-09-20 23:26:39 +10:00
done ;
2017-09-26 14:31:11 -05:00
@echo "Installing miscellaneous helper resources" ;
$v $( INSTALL) -m 644 share/lynx.lss $( DESTDIR) $( datadir) /fish/
2006-04-21 01:00:28 +10:00
.PHONY : install -force
2006-02-24 01:35:56 +10:00
2006-10-31 12:06:56 +10:00
#
2006-02-24 01:35:56 +10:00
# Uninstall this fish version
2006-10-31 12:06:56 +10:00
#
2016-09-08 22:26:40 -07:00
uninstall : uninstall -translations | show -prefix show -bindir show -sysconfdir show -datadir show -docdir show -mandir
@echo
2016-09-15 23:40:54 -07:00
@echo " $( bo) $( yellow) Uninstalling fish $( sgr0) from configured \$ $prefix : $( bo) $( prefix) $( sgr0) "
2016-09-08 22:26:40 -07:00
@echo
2016-09-15 23:40:54 -07:00
@echo " In 5 seconds, $( red) all data $( sgr0) (includes functions, completions, tools) in "
2017-09-13 21:39:01 +08:00
@echo $$ '\t$(bo)$(DESTDIR)$(datadir)/fish$(sgr0) will be deleted!'
2017-01-16 01:51:10 +03:00
@echo
2017-09-13 21:39:01 +08:00
@echo " If you put things there, $( red) stop now! $( sgr0) "
@echo " $( bo) 5 $( sgr0) "
2016-09-08 22:26:40 -07:00
@sleep 1
2017-09-13 21:39:01 +08:00
@echo " $( bo) 4 $( sgr0) "
2016-09-08 22:26:40 -07:00
@sleep 1
2017-09-13 21:39:01 +08:00
@echo " $( bo) 3 $( sgr0) "
2016-09-08 22:26:40 -07:00
@sleep 1
2017-09-13 21:39:01 +08:00
@echo " $( bo) 2 $( sgr0) "
2016-09-08 22:26:40 -07:00
@sleep 1
2017-09-13 21:39:01 +08:00
@echo " $( bo) 1 $( sgr0) "
2016-09-08 22:26:40 -07:00
@sleep 1
@echo ...
@sleep 2
2016-09-15 23:40:54 -07:00
@echo " ... deleting $( bo) $( DESTDIR) $( datadir) /fish/* $( sgr0) "
2016-09-15 23:55:02 -07:00
-$v if test -d $( DESTDIR) $( datadir) /fish; then \
2016-09-08 22:26:40 -07:00
rm -rf $( DESTDIR) $( datadir) /fish; \
2006-02-24 01:35:56 +10:00
fi
2017-09-13 21:39:01 +08:00
@echo " Deleting programs: [ $( bo) $( PROGRAMS) $( sgr0) ] in $( em) $( bindir) $( sgr0) "
-$v for i in $( PROGRAMS) ; do \
rm -f $( DESTDIR) $( bindir) /$$ i; \
done ;
@echo " Deleting configuration: $( bo) $( DESTDIR) $( sysconfdir) /fish/* $( sgr0) "
-$v rm -rf $( DESTDIR) $( sysconfdir) /fish
2016-09-15 23:40:54 -07:00
@echo " Deleting documentation: $( bo) $( DESTDIR) $( docdir) /* $( sgr0) "
2016-09-15 23:55:02 -07:00
-$v if test -d $( DESTDIR) $( docdir) ; then \
2012-07-08 15:20:39 -07:00
rm -rf $( DESTDIR) $( docdir) ; \
2006-02-24 01:35:56 +10:00
fi
2016-09-15 23:40:54 -07:00
@echo " Deleting pkgconfig file: $( bo) $( DESTDIR) $( datadir) /pkgconfig/fish.pc $( sgr0) "
2016-09-15 23:55:02 -07:00
-$v if test -f $( DESTDIR) $( datadir) /pkgconfig/fish.pc; then \
2014-11-23 14:41:22 +08:00
rm -f $( DESTDIR) $( datadir) /pkgconfig/fish.pc; \
fi
2017-09-13 21:39:01 +08:00
@echo " Deleting [ $( bo) " $( notdir $( MANUALS) ) " $( sgr0) ] in $( em) $( mandir) /man1 $( sgr0) "
-$v for i in $( notdir $( MANUALS) ) ; do \
rm -f " $( DESTDIR) $( mandir) /man1/ $$ i " ; \
done
2016-09-08 22:26:40 -07:00
@echo
2017-09-13 21:39:01 +08:00
@echo " $( green) Fish (likely) uninstalled $( sgr0) "
2016-09-08 22:26:40 -07:00
@echo
2016-09-15 23:40:54 -07:00
@echo " $( bo) ./configure --prefix= $( sgr0) to uninstall fish from a different prefix "
2006-01-24 06:40:14 +10:00
.PHONY : uninstall
2005-09-20 23:26:39 +10:00
2016-09-15 18:37:37 -07:00
install-translations : $( TRANSLATIONS ) | show -HAVE_GETTEXT
2017-02-21 20:49:34 -08:00
i f e q ( $( HAVE_GETTEXT ) , 1 )
2016-08-09 06:06:09 -07:00
@echo "Installing translations..."
2016-09-15 23:55:02 -07:00
$v for i in $( TRANSLATIONS) ; do \
2014-11-17 17:27:25 +08:00
$( INSTALL) -m 755 -d $( DESTDIR) $( localedir) /` basename $$ i .gmo` /LC_MESSAGES; \
$( INSTALL) -m 644 $$ i $( DESTDIR) $( localedir) /` basename $$ i .gmo` /LC_MESSAGES/fish.mo; \
done
e n d i f
2006-01-24 06:40:14 +10:00
.PHONY : install -translations
2006-01-04 22:51:02 +10:00
2016-09-15 18:37:37 -07:00
uninstall-translations : show -DESTDIR show -localedir
2016-09-15 23:55:02 -07:00
$v rm -f $( DESTDIR) $( localedir) /*/LC_MESSAGES/fish.mo
2006-01-24 06:40:14 +10:00
.PHONY : uninstall -translations
2017-05-23 16:57:26 -07:00
install-doc : $( user_doc )
@echo "Installing online user documentation" ;
$v $( INSTALL) -m 755 -d $( DESTDIR) $( docdir)
$v for i in user_doc/html/* CHANGELOG.md; do \
if test -f $$ i; then \
$( INSTALL) -m 644 $$ i $( DESTDIR) $( docdir) ; \
fi ; \
done ;
2006-01-24 06:40:14 +10:00
#
# The build rules for all the commands
#
2006-01-04 22:51:02 +10:00
2015-07-24 00:50:58 -07:00
#
# How basic files get compiled
#
2017-01-16 01:51:10 +03:00
obj/%.o : src /%.cpp | show -CXX show -CXXFLAGS show -CPPFLAGS obj
2016-09-15 23:40:54 -07:00
@echo " CXX $( em) $@ $( sgr0) "
2016-09-15 23:55:02 -07:00
$v $( CXX) $( CPPFLAGS) $( CXXFLAGS) -c $< -o $@
2016-02-06 18:08:22 -08:00
2015-07-24 00:50:58 -07:00
#
# obj directory
#
2016-09-15 18:37:37 -07:00
obj : | show -MKDIR_P
2016-09-15 23:55:02 -07:00
@echo " MKDIR_P $( em) $@ $( sgr0) "
$v $( MKDIR_P) obj
2015-07-24 00:50:58 -07:00
2006-10-31 12:06:56 +10:00
#
# Build the fish program.
#
2017-08-22 15:34:41 -07:00
fish : obj /fish .o $( FISH_OBJS ) $( EXTRA_PCRE 2) ${EXTRA_MUPARSER }
2016-09-15 23:40:54 -07:00
@echo " CXX LD $( em) $@ $( sgr0) "
2016-09-15 23:55:02 -07:00
$v $( CXX) $( CPPFLAGS) $( CXXFLAGS) $( LDFLAGS_FISH) $( FISH_OBJS) obj/fish.o $( LIBS) -o $@
2005-09-20 23:26:39 +10:00
2015-09-12 12:59:40 -07:00
$(PCRE2_LIB) : $( PCRE 2_H )
2016-09-15 23:40:54 -07:00
@echo " MAKE $( em) $@ $( sgr0) "
2016-09-15 23:55:02 -07:00
$v $( MAKE) V = $( V) -C $( PCRE2_DIR) libpcre2-$( PCRE2_WIDTH) .la
2015-10-02 15:29:08 +08:00
$(PCRE2_H) :
2016-11-20 14:38:02 -08:00
@echo " autoconf $( em) $@ $( sgr0) "
2016-09-15 23:55:02 -07:00
$v ( cd $( PCRE2_DIR) && ./config.status)
2015-10-02 15:29:08 +08:00
2017-08-22 15:34:41 -07:00
$(MUPARSER_LIB) : $( MUPARSER_H )
@echo " MAKE $( em) $@ $( sgr0) "
$v $( MAKE) V = $( V) -C $( MUPARSER_DIR) CPPFLAGS = -D_UNICODE= 1 lib/libmuparser.a
$(MUPARSER_H) :
@echo " autoconf $( em) $@ $( sgr0) "
$v ( cd $( MUPARSER_DIR) && ./config.status)
2006-10-31 12:06:56 +10:00
#
# Build the fish_tests program.
#
2017-08-22 15:34:41 -07:00
fish_tests : $( FISH_TESTS_OBJS ) $( EXTRA_PCRE 2) ${EXTRA_MUPARSER }
2016-09-15 23:40:54 -07:00
@echo " CXX LD $( em) $@ $( sgr0) "
2016-09-15 23:55:02 -07:00
$v $( CXX) $( CXXFLAGS) $( LDFLAGS_FISH) $( FISH_TESTS_OBJS) $( LIBS) -o $@
2005-09-20 23:26:39 +10:00
2007-04-22 20:03:12 +10:00
#
# Build the fish_indent program.
#
2017-08-22 15:34:41 -07:00
fish_indent : $( FISH_INDENT_OBJS ) $( EXTRA_PCRE 2) ${EXTRA_MUPARSER }
2016-09-15 23:40:54 -07:00
@echo " CXX LD $( em) $@ $( sgr0) "
2016-09-15 23:55:02 -07:00
$v $( CXX) $( CXXFLAGS) $( LDFLAGS) $( FISH_INDENT_OBJS) $( LIBS) -o $@
2007-04-22 20:03:12 +10:00
2006-10-31 12:06:56 +10:00
#
2017-01-16 01:51:10 +03:00
# Build the fish_key_reader program to show input from the terminal.
2006-10-31 12:06:56 +10:00
#
2017-08-22 15:34:41 -07:00
fish_key_reader : $( FISH_KEYREAD_OBJS ) $( EXTRA_PCRE 2) ${EXTRA_MUPARSER }
2016-09-15 23:40:54 -07:00
@echo " CXX LD $( em) $@ $( sgr0) "
2016-09-15 23:55:02 -07:00
$v $( CXX) $( CXXFLAGS) $( LDFLAGS_FISH) $^ $( LIBS) -o $@
2005-09-23 06:16:52 +10:00
2006-01-24 06:40:14 +10:00
#
# Update dependencies
2015-07-25 15:15:54 -07:00
# Unfortunately makedepend cannot handle source files in one directory
# and object files in another. So we have to cons up a fake directory
# tree and run it there. Note that some .cpp files do not result in
# objects because they are #include'd directly. In that case we need to
# leave them in the 'header' directory, so they get picked up by the
# dependencies. So we put everything in the header directory and move out
# exactly the files that result in objects, leaving the #include'd files
# behind.
2006-01-24 06:40:14 +10:00
#
2017-01-16 01:51:10 +03:00
depend : | show -MKDIR_P
2016-09-15 23:55:02 -07:00
@echo " CXX LD $( em) $@ $( sgr0) "
$v $( MKDIR_P) /tmp/fish_make_depend/src
# This is ran only once in a blue moon - full verbosity so we are reminded what it does.
2016-09-15 18:37:37 -07:00
cp $( wildcard src/*.cpp src/*.h) /tmp/fish_make_depend/src
cp config.h /tmp/fish_make_depend/
mv $( subst obj/,/tmp/fish_make_depend/src/,$( FISH_ALL_OBJS:.o= .cpp) ) /tmp/fish_make_depend/
cd /tmp/fish_make_depend && makedepend -f$( CURDIR) /Makefile.in -pobj/ -Y -Isrc *.cpp
rm -Rf /tmp/fish_make_depend
2016-09-15 23:55:02 -07:00
$v ./config.status
2006-01-24 06:40:14 +10:00
.PHONY : depend
2005-09-20 23:26:39 +10:00
2016-04-27 14:56:46 -07:00
#
2016-09-01 06:58:51 -07:00
# Lint the code. This only deals with C++
2016-09-15 23:55:02 -07:00
# TODO - why not have the Makefile run lint.fish on actual files itself (generate a report target?)
2016-04-27 14:56:46 -07:00
#
2016-04-01 16:28:36 -07:00
lint :
2016-11-20 01:42:03 -08:00
$v build_tools/lint.fish " $( CXX) " $( CXXFLAGS) $( CPPFLAGS)
2016-04-01 16:28:36 -07:00
lint-all :
2016-11-20 01:42:03 -08:00
$v build_tools/lint.fish " $( CXX) " --all $( CXXFLAGS) $( CPPFLAGS)
2016-04-01 16:28:36 -07:00
.PHONY : lint lint -all
2016-04-27 14:56:46 -07:00
#
2016-04-01 20:48:11 -07:00
# Run the code through the style refomatter. This handles both C++ files and
# fish scripts (*.fish).
2016-04-27 14:56:46 -07:00
#
2016-04-01 20:48:11 -07:00
style :
2016-09-15 23:55:02 -07:00
$v build_tools/style.fish
2016-04-01 20:48:11 -07:00
style-all :
2016-09-15 23:55:02 -07:00
$v build_tools/style.fish --all
2016-06-13 21:33:27 +08:00
.PHONY : style style -all
2016-04-01 20:48:11 -07:00
2016-04-27 14:56:46 -07:00
#
2016-02-06 18:08:22 -08:00
# Restore the source tree to the state right after extracting a tarball.
2016-04-27 14:56:46 -07:00
#
2005-11-04 03:03:48 +10:00
distclean : clean
2017-05-23 16:57:24 -07:00
-$v test ! -f $( PCRE2_DIR) /Makefile || \
2017-06-14 22:12:29 -07:00
$( MAKE) V = $( V) -C $( PCRE2_DIR) distclean
2017-08-22 15:34:41 -07:00
-$v test ! -f $( MUPARSER_DIR) /Makefile || \
$( MAKE) V = $( V) -C $( MUPARSER_DIR) distclean
2016-11-26 14:58:31 -08:00
$v rm -rf config.status config.log config.h Makefile autom4te.cache aclocal.m4
2006-01-24 06:40:14 +10:00
.PHONY : distclean
2005-11-04 03:03:48 +10:00
2016-04-27 14:56:46 -07:00
#
2016-02-06 18:08:22 -08:00
# Remove everything built by the Makefile, but not things that are created by
# the configure script.
2006-11-01 01:36:14 +10:00
#
2016-02-06 18:08:22 -08:00
# Don't delete the docs unless we have Doxygen installed We provide pre-built
# docs in the tarball, and if they get deleted we won't be able to regenerate
# them.
2016-04-27 14:56:46 -07:00
#
2005-09-20 23:26:39 +10:00
clean :
2016-09-15 23:40:54 -07:00
@echo " $( bo) Removing everything built by the Makefile... $( sgr0) "
2016-08-08 19:31:02 -07:00
# PCRE's make clean has a few slightly annoying exceptions to the V= rule. If V=0
# send all output to /dev/null - unless there's an error, in which case run it again not silenced.
i f e q ( $( V ) , 0 )
2017-05-23 16:57:24 -07:00
-@test ! -f $( PCRE2_DIR) /Makefile || \
2017-06-14 22:12:29 -07:00
$( MAKE) -C $( PCRE2_DIR) clean
2017-08-22 15:34:41 -07:00
-@test ! -f $( MUPARSER_DIR) /Makefile || \
$( MAKE) -C $( MUPARSER_DIR) clean
2016-08-08 19:31:02 -07:00
e l s e
2017-05-23 16:57:24 -07:00
-@test ! -f $( PCRE2_DIR) /Makefile || \
2017-06-14 22:12:29 -07:00
$( MAKE) -s -C $( PCRE2_DIR) clean > /dev/null || \
$( MAKE) -s -C $( PCRE2_DIR) clean
2017-08-22 15:34:41 -07:00
-@test ! -f $( MUPARSER_DIR) /Makefile || \
$( MAKE) -s -C $( MUPARSER_DIR) clean > /dev/null || \
$( MAKE) -s -C $( MUPARSER_DIR) clean
2016-08-08 19:31:02 -07:00
e n d i f
2016-09-15 23:55:02 -07:00
$v rm -f obj/*.o *.o doc.h doc.tmp
$v rm -f doc_src/*.doxygen doc_src/*.cpp doc_src/*.o doc_src/commands.hdr
$v rm -f tests/tmp.err tests/tmp.out tests/tmp.status tests/foo.txt
$v rm -f $( PROGRAMS) fish_tests fish_key_reader
$v rm -f command_list.txt command_list_toc.txt toc.txt
$v rm -f doc_src/index.hdr doc_src/commands.hdr
$v rm -f lexicon_filter lexicon.txt lexicon.log
$v rm -f compile_commands.json xcodebuild.log
$v rm -f FISH-BUILD-VERSION-FILE fish.pc share/__fish_build_paths.fish
$v if test " $( HAVE_DOXYGEN) " = 1; then \
2012-07-09 19:41:51 -07:00
rm -rf doc user_doc share/man; \
fi
2016-09-15 23:55:02 -07:00
$v rm -f po/*.gmo
$v rm -rf obj build test
2006-01-24 06:40:14 +10:00
.PHONY : clean
2005-09-20 23:26:39 +10:00
2016-08-08 19:31:02 -07:00
# For silent build
2016-09-15 23:55:02 -07:00
# These rules need to stay at the end - $v won't work after this.
2016-08-08 19:31:02 -07:00
# if V=0:
2016-09-15 23:55:02 -07:00
# $v cmd ⇒ @cmd
2016-07-18 13:48:15 -07:00
V0 := @
2016-08-08 19:31:02 -07:00
# if V=1
2016-09-15 23:55:02 -07:00
# $v cmd ⇒ cmd
2016-08-08 19:31:02 -07:00
V1 :=
2016-07-18 13:48:15 -07:00
v = $( V$( V) )
2017-06-12 18:22:57 -07:00
# DO NOT DELETE THIS LINE -- `make depend` depends on it.
2012-01-05 14:10:02 -08:00
2016-07-03 05:04:19 -07:00
obj/autoload.o : config .h src /autoload .h src /common .h src /fallback .h
2017-08-23 17:14:54 -07:00
obj/autoload.o : src /signal .h src /env .h src /lru .h src /exec .h src /wutil .h
2017-06-13 22:20:58 -07:00
obj/builtin.o : config .h src /builtin .h src /common .h src /fallback .h
2017-08-23 17:14:54 -07:00
obj/builtin.o : src /signal .h src /builtin_argparse .h src /builtin_bg .h
obj/builtin.o : src /builtin_bind .h src /builtin_block .h src /builtin_builtin .h
obj/builtin.o : src /builtin_cd .h src /builtin_command .h
obj/builtin.o : src /builtin_commandline .h src /builtin_complete .h
obj/builtin.o : src /builtin_contains .h src /builtin_disown .h src /builtin_echo .h
obj/builtin.o : src /builtin_emit .h src /builtin_exit .h src /builtin_fg .h
obj/builtin.o : src /builtin_functions .h src /builtin_history .h
obj/builtin.o : src /builtin_jobs .h src /builtin_math .h src /builtin_printf .h
obj/builtin.o : src /builtin_pwd .h src /builtin_random .h src /builtin_read .h
obj/builtin.o : src /builtin_realpath .h src /builtin_return .h src /builtin_set .h
obj/builtin.o : src /builtin_set_color .h src /builtin_source .h
2017-06-13 22:20:58 -07:00
obj/builtin.o : src /builtin_status .h src /builtin_string .h src /builtin_test .h
2017-06-14 22:12:29 -07:00
obj/builtin.o : src /builtin_ulimit .h src /complete .h src /exec .h src /intern .h
2017-08-23 17:14:54 -07:00
obj/builtin.o : src /io .h src /env .h src /parse_constants .h src /parse_util .h
2017-06-13 22:20:58 -07:00
obj/builtin.o : src /tokenizer .h src /parser .h src /event .h src /expand .h
obj/builtin.o : src /parse_tree .h src /proc .h src /reader .h src /highlight .h
2017-08-23 17:14:54 -07:00
obj/builtin.o : src /color .h src /wgetopt .h src /wutil .h
obj/builtin_argparse.o : config .h src /builtin .h src /common .h src /fallback .h
obj/builtin_argparse.o : src /signal .h src /builtin_argparse .h src /env .h
obj/builtin_argparse.o : src /exec .h src /io .h src /wgetopt .h src /wutil .h
2017-06-14 22:12:29 -07:00
obj/builtin_bg.o : config .h src /builtin .h src /common .h src /fallback .h
2017-08-23 17:14:54 -07:00
obj/builtin_bg.o : src /signal .h src /builtin_bg .h src /io .h src /env .h src /proc .h
2017-06-14 22:12:29 -07:00
obj/builtin_bg.o : src /parse_tree .h src /parse_constants .h src /tokenizer .h
obj/builtin_bg.o : src /wutil .h
2017-06-12 17:19:13 -07:00
obj/builtin_bind.o : config .h src /builtin .h src /common .h src /fallback .h
2017-06-14 22:12:29 -07:00
obj/builtin_bind.o : src /signal .h src /builtin_bind .h src /input .h src /io .h
2017-08-23 17:14:54 -07:00
obj/builtin_bind.o : src /env .h src /wgetopt .h src /wutil .h
2017-06-12 18:40:58 -07:00
obj/builtin_block.o : config .h src /builtin .h src /common .h src /fallback .h
obj/builtin_block.o : src /signal .h src /builtin_block .h src /event .h src /io .h
2017-08-23 17:14:54 -07:00
obj/builtin_block.o : src /env .h src /parser .h src /expand .h
obj/builtin_block.o : src /parse_constants .h src /parse_tree .h src /tokenizer .h
obj/builtin_block.o : src /proc .h src /wgetopt .h src /wutil .h
2017-06-13 22:20:58 -07:00
obj/builtin_builtin.o : config .h src /builtin .h src /common .h src /fallback .h
2017-08-23 17:14:54 -07:00
obj/builtin_builtin.o : src /signal .h src /builtin_builtin .h src /io .h src /env .h
2017-06-14 22:12:29 -07:00
obj/builtin_builtin.o : src /wgetopt .h src /wutil .h
2017-06-13 22:20:58 -07:00
obj/builtin_cd.o : config .h src /builtin .h src /common .h src /fallback .h
obj/builtin_cd.o : src /signal .h src /builtin_cd .h src /env .h src /io .h
obj/builtin_cd.o : src /parser .h src /event .h src /expand .h src /parse_constants .h
obj/builtin_cd.o : src /parse_tree .h src /tokenizer .h src /proc .h src /path .h
2017-07-07 14:32:41 -07:00
obj/builtin_cd.o : src /wutil .h
2017-06-13 22:20:58 -07:00
obj/builtin_command.o : config .h src /builtin .h src /common .h src /fallback .h
2017-08-23 17:14:54 -07:00
obj/builtin_command.o : src /signal .h src /builtin_command .h src /io .h src /env .h
obj/builtin_command.o : src /path .h src /wgetopt .h src /wutil .h
2016-07-03 05:04:19 -07:00
obj/builtin_commandline.o : config .h src /builtin .h src /common .h src /fallback .h
2017-06-12 17:19:13 -07:00
obj/builtin_commandline.o : src /signal .h src /input .h src /builtin_bind .h
2017-08-23 17:14:54 -07:00
obj/builtin_commandline.o : src /io .h src /env .h src /parse_util .h
obj/builtin_commandline.o : src /parse_constants .h src /tokenizer .h src /proc .h
obj/builtin_commandline.o : src /parse_tree .h src /reader .h src /complete .h
obj/builtin_commandline.o : src /highlight .h src /color .h src /util .h
obj/builtin_commandline.o : src /wgetopt .h src /wutil .h
2016-07-03 05:04:19 -07:00
obj/builtin_complete.o : config .h src /builtin .h src /common .h src /fallback .h
2016-04-19 19:49:15 -07:00
obj/builtin_complete.o : src /signal .h src /complete .h src /env .h src /io .h
obj/builtin_complete.o : src /parse_constants .h src /parse_util .h
2016-07-03 05:04:19 -07:00
obj/builtin_complete.o : src /tokenizer .h src /parser .h src /event .h src /expand .h
obj/builtin_complete.o : src /parse_tree .h src /proc .h src /reader .h
obj/builtin_complete.o : src /highlight .h src /color .h src /wgetopt .h src /wutil .h
2017-06-13 22:20:58 -07:00
obj/builtin_contains.o : config .h src /builtin .h src /common .h src /fallback .h
obj/builtin_contains.o : src /signal .h src /builtin_contains .h src /io .h
2017-08-23 17:14:54 -07:00
obj/builtin_contains.o : src /env .h src /wgetopt .h src /wutil .h
2017-06-13 22:20:58 -07:00
obj/builtin_disown.o : config .h src /signal .h src /builtin .h src /common .h
2017-08-23 17:14:54 -07:00
obj/builtin_disown.o : src /fallback .h src /builtin_disown .h src /io .h src /env .h
2017-06-13 22:20:58 -07:00
obj/builtin_disown.o : src /parser .h src /event .h src /expand .h
obj/builtin_disown.o : src /parse_constants .h src /parse_tree .h src /tokenizer .h
2017-07-07 14:32:41 -07:00
obj/builtin_disown.o : src /proc .h src /wutil .h
2017-06-13 22:20:58 -07:00
obj/builtin_echo.o : config .h src /builtin .h src /common .h src /fallback .h
2017-08-23 17:14:54 -07:00
obj/builtin_echo.o : src /signal .h src /builtin_echo .h src /io .h src /env .h
obj/builtin_echo.o : src /wgetopt .h src /wutil .h
2017-06-12 18:40:58 -07:00
obj/builtin_emit.o : config .h src /builtin .h src /common .h src /fallback .h
obj/builtin_emit.o : src /signal .h src /builtin_emit .h src /event .h src /io .h
2017-08-23 17:14:54 -07:00
obj/builtin_emit.o : src /env .h src /wutil .h
2017-06-14 22:12:29 -07:00
obj/builtin_exit.o : config .h src /builtin .h src /common .h src /fallback .h
2017-08-23 17:14:54 -07:00
obj/builtin_exit.o : src /signal .h src /builtin_exit .h src /io .h src /env .h
obj/builtin_exit.o : src /proc .h src /parse_tree .h src /parse_constants .h
obj/builtin_exit.o : src /tokenizer .h src /reader .h src /complete .h
obj/builtin_exit.o : src /highlight .h src /color .h src /wgetopt .h src /wutil .h
2017-06-14 22:12:29 -07:00
obj/builtin_fg.o : config .h src /builtin .h src /common .h src /fallback .h
obj/builtin_fg.o : src /signal .h src /builtin_fg .h src /env .h src /io .h src /proc .h
obj/builtin_fg.o : src /parse_tree .h src /parse_constants .h src /tokenizer .h
obj/builtin_fg.o : src /reader .h src /complete .h src /highlight .h src /color .h
obj/builtin_fg.o : src /wutil .h
2017-06-13 22:20:58 -07:00
obj/builtin_function.o : config .h src /builtin .h src /common .h src /fallback .h
obj/builtin_function.o : src /signal .h src /builtin_function .h src /complete .h
obj/builtin_function.o : src /event .h src /function .h src /env .h src /io .h
obj/builtin_function.o : src /parser .h src /expand .h src /parse_constants .h
obj/builtin_function.o : src /parse_tree .h src /tokenizer .h src /proc .h
obj/builtin_function.o : src /parser_keywords .h src /wgetopt .h src /wutil .h
2017-06-12 22:26:24 -07:00
obj/builtin_functions.o : config .h src /builtin .h src /common .h src /fallback .h
obj/builtin_functions.o : src /signal .h src /builtin_functions .h src /env .h
obj/builtin_functions.o : src /event .h src /function .h src /io .h
obj/builtin_functions.o : src /parser_keywords .h src /proc .h src /parse_tree .h
obj/builtin_functions.o : src /parse_constants .h src /tokenizer .h src /wgetopt .h
obj/builtin_functions.o : src /wutil .h
obj/builtin_history.o : config .h src /builtin .h src /common .h src /fallback .h
obj/builtin_history.o : src /signal .h src /builtin_history .h src /history .h
2017-08-23 17:14:54 -07:00
obj/builtin_history.o : src /wutil .h src /io .h src /env .h src /reader .h
obj/builtin_history.o : src /complete .h src /highlight .h src /color .h
2017-06-12 22:26:24 -07:00
obj/builtin_history.o : src /parse_constants .h src /wgetopt .h
2016-04-19 19:49:15 -07:00
obj/builtin_jobs.o : config .h src /builtin .h src /common .h src /fallback .h
2017-08-23 17:14:54 -07:00
obj/builtin_jobs.o : src /signal .h src /io .h src /env .h src /proc .h
obj/builtin_jobs.o : src /parse_tree .h src /parse_constants .h src /tokenizer .h
obj/builtin_jobs.o : src /wgetopt .h src /wutil .h
obj/builtin_math.o : config .h src /builtin .h src /common .h src /fallback .h
obj/builtin_math.o : src /signal .h src /builtin_math .h src /io .h src /env .h
obj/builtin_math.o : src /wgetopt .h src /wutil .h
2016-07-03 05:04:19 -07:00
obj/builtin_printf.o : config .h src /builtin .h src /common .h src /fallback .h
2017-08-23 17:14:54 -07:00
obj/builtin_printf.o : src /signal .h src /io .h src /env .h src /wutil .h
2017-06-14 22:12:29 -07:00
obj/builtin_pwd.o : config .h src /builtin .h src /common .h src /fallback .h
2017-08-23 17:14:54 -07:00
obj/builtin_pwd.o : src /signal .h src /builtin_pwd .h src /io .h src /env .h
obj/builtin_pwd.o : src /wutil .h
2017-06-12 22:26:24 -07:00
obj/builtin_random.o : config .h src /builtin .h src /common .h src /fallback .h
2017-08-23 17:14:54 -07:00
obj/builtin_random.o : src /signal .h src /builtin_random .h src /io .h src /env .h
obj/builtin_random.o : src /wutil .h
2017-06-12 22:26:24 -07:00
obj/builtin_read.o : config .h src /builtin .h src /common .h src /fallback .h
obj/builtin_read.o : src /signal .h src /builtin_read .h src /complete .h src /env .h
2017-08-23 17:14:54 -07:00
obj/builtin_read.o : src /event .h src /highlight .h src /color .h src /history .h
obj/builtin_read.o : src /wutil .h src /io .h src /proc .h src /parse_tree .h
obj/builtin_read.o : src /parse_constants .h src /tokenizer .h src /reader .h
obj/builtin_read.o : src /wcstringutil .h src /wgetopt .h
2017-06-14 22:12:29 -07:00
obj/builtin_realpath.o : config .h src /builtin .h src /common .h src /fallback .h
obj/builtin_realpath.o : src /signal .h src /builtin_realpath .h src /io .h
2017-08-23 17:14:54 -07:00
obj/builtin_realpath.o : src /env .h src /wutil .h
2017-06-14 22:12:29 -07:00
obj/builtin_return.o : config .h src /builtin .h src /common .h src /fallback .h
2017-08-23 17:14:54 -07:00
obj/builtin_return.o : src /signal .h src /builtin_return .h src /io .h src /env .h
obj/builtin_return.o : src /parser .h src /event .h src /expand .h
obj/builtin_return.o : src /parse_constants .h src /parse_tree .h src /tokenizer .h
obj/builtin_return.o : src /proc .h src /wgetopt .h src /wutil .h
2016-07-03 05:04:19 -07:00
obj/builtin_set.o : config .h src /builtin .h src /common .h src /fallback .h
2016-04-19 19:49:15 -07:00
obj/builtin_set.o : src /signal .h src /env .h src /expand .h src /parse_constants .h
obj/builtin_set.o : src /io .h src /proc .h src /parse_tree .h src /tokenizer .h
obj/builtin_set.o : src /wgetopt .h src /wutil .h
2017-06-12 17:19:13 -07:00
obj/builtin_set_color.o : config .h src /builtin .h src /common .h src /fallback .h
obj/builtin_set_color.o : src /signal .h src /color .h src /env .h src /io .h
obj/builtin_set_color.o : src /output .h src /wgetopt .h src /wutil .h
2017-06-13 22:20:58 -07:00
obj/builtin_source.o : config .h src /builtin .h src /common .h src /fallback .h
obj/builtin_source.o : src /signal .h src /builtin_source .h src /env .h
obj/builtin_source.o : src /intern .h src /io .h src /parser .h src /event .h
obj/builtin_source.o : src /expand .h src /parse_constants .h src /parse_tree .h
obj/builtin_source.o : src /tokenizer .h src /proc .h src /reader .h src /complete .h
2017-07-07 14:32:41 -07:00
obj/builtin_source.o : src /highlight .h src /color .h src /wutil .h
2017-06-12 22:26:24 -07:00
obj/builtin_status.o : config .h src /builtin .h src /common .h src /fallback .h
2017-08-23 17:14:54 -07:00
obj/builtin_status.o : src /signal .h src /builtin_status .h src /io .h src /env .h
obj/builtin_status.o : src /parser .h src /event .h src /expand .h
obj/builtin_status.o : src /parse_constants .h src /parse_tree .h src /tokenizer .h
obj/builtin_status.o : src /proc .h src /wgetopt .h src /wutil .h
2016-04-19 19:49:15 -07:00
obj/builtin_string.o : config .h src /builtin .h src /common .h src /fallback .h
2017-08-23 17:14:54 -07:00
obj/builtin_string.o : src /signal .h src /io .h src /env .h src /parse_util .h
obj/builtin_string.o : src /parse_constants .h src /tokenizer .h
obj/builtin_string.o : src /wcstringutil .h src /wgetopt .h src /wildcard .h
obj/builtin_string.o : src /complete .h src /expand .h src /wutil .h
2016-07-03 05:04:19 -07:00
obj/builtin_test.o : config .h src /builtin .h src /common .h src /fallback .h
2017-08-23 17:14:54 -07:00
obj/builtin_test.o : src /signal .h src /io .h src /env .h src /wutil .h
2016-07-03 05:04:19 -07:00
obj/builtin_ulimit.o : config .h src /builtin .h src /common .h src /fallback .h
2017-08-23 17:14:54 -07:00
obj/builtin_ulimit.o : src /signal .h src /io .h src /env .h src /util .h
obj/builtin_ulimit.o : src /wgetopt .h src /wutil .h
2016-07-03 05:04:19 -07:00
obj/color.o : config .h src /color .h src /common .h src /fallback .h src /signal .h
2017-06-12 17:19:13 -07:00
obj/common.o : config .h src /common .h src /fallback .h src /signal .h src /env .h
obj/common.o : src /expand .h src /parse_constants .h src /proc .h src /io .h
obj/common.o : src /parse_tree .h src /tokenizer .h src /wildcard .h src /complete .h
obj/common.o : src /wutil .h
2016-07-03 05:04:19 -07:00
obj/complete.o : config .h src /autoload .h src /common .h src /fallback .h
2017-08-23 17:14:54 -07:00
obj/complete.o : src /signal .h src /env .h src /lru .h src /builtin .h src /complete .h
2016-07-03 05:04:19 -07:00
obj/complete.o : src /exec .h src /expand .h src /parse_constants .h src /function .h
obj/complete.o : src /event .h src /iothread .h src /parse_tree .h src /tokenizer .h
obj/complete.o : src /parse_util .h src /parser .h src /proc .h src /io .h src /path .h
obj/complete.o : src /util .h src /wildcard .h src /wutil .h
2017-06-12 17:19:13 -07:00
obj/env.o : config .h src /builtin_bind .h src /common .h src /fallback .h
obj/env.o : src /signal .h src /env .h src /env_universal_common .h src /wutil .h
obj/env.o : src /event .h src /expand .h src /parse_constants .h src /fish_version .h
obj/env.o : src /history .h src /input .h src /input_common .h src /output .h
obj/env.o : src /color .h src /path .h src /proc .h src /io .h src /parse_tree .h
2016-07-03 05:04:19 -07:00
obj/env.o : src /tokenizer .h src /reader .h src /complete .h src /highlight .h
2017-06-12 17:19:13 -07:00
obj/env.o : src /sanity .h src /screen .h
2016-07-03 05:04:19 -07:00
obj/env_universal_common.o : config .h src /common .h src /fallback .h src /signal .h
obj/env_universal_common.o : src /env .h src /env_universal_common .h src /wutil .h
2017-06-12 17:19:13 -07:00
obj/env_universal_common.o : src /path .h src /utf 8.h src /util .h
2016-07-03 05:04:19 -07:00
obj/event.o : config .h src /signal .h src /common .h src /fallback .h src /event .h
2017-08-23 17:14:54 -07:00
obj/event.o : src /input_common .h src /io .h src /env .h src /parser .h src /expand .h
2016-07-03 05:04:19 -07:00
obj/event.o : src /parse_constants .h src /parse_tree .h src /tokenizer .h
obj/event.o : src /proc .h src /wutil .h
obj/exec.o : config .h src /signal .h src /builtin .h src /common .h src /fallback .h
obj/exec.o : src /env .h src /exec .h src /function .h src /event .h src /io .h
obj/exec.o : src /parse_tree .h src /parse_constants .h src /tokenizer .h
obj/exec.o : src /parser .h src /expand .h src /proc .h src /postfork .h src /reader .h
obj/exec.o : src /complete .h src /highlight .h src /color .h src /wutil .h
obj/expand.o : config .h src /common .h src /fallback .h src /signal .h
obj/expand.o : src /complete .h src /env .h src /exec .h src /expand .h
obj/expand.o : src /parse_constants .h src /iothread .h src /parse_util .h
obj/expand.o : src /tokenizer .h src /path .h src /proc .h src /io .h src /parse_tree .h
2017-08-23 17:14:54 -07:00
obj/expand.o : src /wildcard .h src /wutil .h
2016-11-20 20:38:52 -08:00
obj/fallback.o : config .h src /signal .h src /common .h src /fallback .h src /util .h
2016-07-03 05:04:19 -07:00
obj/fish.o : config .h src /builtin .h src /common .h src /fallback .h src /signal .h
obj/fish.o : src /env .h src /event .h src /expand .h src /parse_constants .h
obj/fish.o : src /fish_version .h src /function .h src /history .h src /wutil .h
2017-06-12 17:19:13 -07:00
obj/fish.o : src /io .h src /parser .h src /parse_tree .h src /tokenizer .h src /proc .h
obj/fish.o : src /path .h src /reader .h src /complete .h src /highlight .h
obj/fish.o : src /color .h
2016-07-03 05:04:19 -07:00
obj/fish_indent.o : config .h src /color .h src /common .h src /fallback .h
obj/fish_indent.o : src /signal .h src /env .h src /fish_version .h src /highlight .h
2017-06-12 17:19:13 -07:00
obj/fish_indent.o : src /output .h src /parse_constants .h src /parse_tree .h
obj/fish_indent.o : src /tokenizer .h src /print_help .h src /wutil .h
2016-07-03 05:04:19 -07:00
obj/fish_key_reader.o : config .h src /signal .h src /common .h src /fallback .h
2017-07-07 14:32:41 -07:00
obj/fish_key_reader.o : src /env .h src /fish_version .h src /input .h
obj/fish_key_reader.o : src /builtin_bind .h src /input_common .h src /print_help .h
obj/fish_key_reader.o : src /proc .h src /io .h src /parse_tree .h
obj/fish_key_reader.o : src /parse_constants .h src /tokenizer .h src /reader .h
obj/fish_key_reader.o : src /complete .h src /highlight .h src /color .h src /wutil .h
2016-07-03 05:04:19 -07:00
obj/fish_tests.o : config .h src /signal .h src /builtin .h src /common .h
obj/fish_tests.o : src /fallback .h src /color .h src /complete .h src /env .h
obj/fish_tests.o : src /env_universal_common .h src /wutil .h src /event .h
obj/fish_tests.o : src /expand .h src /parse_constants .h src /function .h
obj/fish_tests.o : src /highlight .h src /history .h src /input .h
2017-06-12 17:19:13 -07:00
obj/fish_tests.o : src /builtin_bind .h src /input_common .h src /io .h
obj/fish_tests.o : src /iothread .h src /lru .h src /pager .h src /reader .h
obj/fish_tests.o : src /screen .h src /parse_tree .h src /tokenizer .h
obj/fish_tests.o : src /parse_util .h src /parser .h src /proc .h src /path .h
obj/fish_tests.o : src /utf 8.h src /util .h src /wcstringutil .h src /wildcard .h
2015-07-25 13:23:18 -07:00
obj/fish_version.o : src /fish_version .h
2016-07-03 05:04:19 -07:00
obj/function.o : config .h src /autoload .h src /common .h src /fallback .h
2017-08-23 17:14:54 -07:00
obj/function.o : src /signal .h src /env .h src /lru .h src /event .h src /function .h
2016-07-03 05:04:19 -07:00
obj/function.o : src /intern .h src /parser_keywords .h src /reader .h
obj/function.o : src /complete .h src /highlight .h src /color .h
obj/function.o : src /parse_constants .h src /wutil .h
obj/highlight.o : config .h src /builtin .h src /common .h src /fallback .h
obj/highlight.o : src /signal .h src /color .h src /env .h src /expand .h
obj/highlight.o : src /parse_constants .h src /function .h src /event .h
obj/highlight.o : src /highlight .h src /history .h src /wutil .h src /output .h
obj/highlight.o : src /parse_tree .h src /tokenizer .h src /parse_util .h src /path .h
obj/highlight.o : src /wildcard .h src /complete .h
obj/history.o : config .h src /common .h src /fallback .h src /signal .h src /env .h
2016-09-05 02:04:25 -07:00
obj/history.o : src /history .h src /wutil .h src /io .h src /iothread .h src /lru .h
2016-04-19 19:49:15 -07:00
obj/history.o : src /parse_constants .h src /parse_tree .h src /tokenizer .h
2017-06-12 17:19:13 -07:00
obj/history.o : src /parse_util .h src /path .h src /reader .h src /complete .h
obj/history.o : src /highlight .h src /color .h
2016-07-03 05:04:19 -07:00
obj/input.o : config .h src /common .h src /fallback .h src /signal .h src /env .h
2017-06-12 17:19:13 -07:00
obj/input.o : src /event .h src /input .h src /builtin_bind .h src /input_common .h
obj/input.o : src /io .h src /parser .h src /expand .h src /parse_constants .h
2016-07-03 05:04:19 -07:00
obj/input.o : src /parse_tree .h src /tokenizer .h src /proc .h src /reader .h
2017-06-12 17:19:13 -07:00
obj/input.o : src /complete .h src /highlight .h src /color .h src /wutil .h
2016-07-03 05:04:19 -07:00
obj/input_common.o : config .h src /common .h src /fallback .h src /signal .h
obj/input_common.o : src /env .h src /env_universal_common .h src /wutil .h
obj/input_common.o : src /input_common .h src /iothread .h src /util .h
obj/intern.o : config .h src /common .h src /fallback .h src /signal .h src /intern .h
obj/io.o : config .h src /common .h src /fallback .h src /signal .h src /exec .h
2017-08-23 17:14:54 -07:00
obj/io.o : src /io .h src /env .h src /wutil .h
2016-07-03 05:04:19 -07:00
obj/iothread.o : config .h src /signal .h src /common .h src /fallback .h
2017-06-12 17:19:13 -07:00
obj/iothread.o : src /iothread .h src /wutil .h
2016-07-03 05:04:19 -07:00
obj/kill.o : config .h src /common .h src /fallback .h src /signal .h
obj/output.o : config .h src /color .h src /common .h src /fallback .h src /signal .h
obj/output.o : src /env .h src /output .h src /wutil .h
obj/pager.o : config .h src /common .h src /fallback .h src /signal .h src /complete .h
obj/pager.o : src /highlight .h src /color .h src /env .h src /pager .h src /reader .h
obj/pager.o : src /parse_constants .h src /screen .h src /util .h src /wutil .h
obj/parse_execution.o : config .h src /builtin .h src /common .h src /fallback .h
2017-07-07 14:32:41 -07:00
obj/parse_execution.o : src /signal .h src /builtin_function .h src /complete .h
obj/parse_execution.o : src /env .h src /event .h src /exec .h src /expand .h
obj/parse_execution.o : src /parse_constants .h src /function .h src /io .h
obj/parse_execution.o : src /parse_execution .h src /parse_tree .h src /tokenizer .h
obj/parse_execution.o : src /proc .h src /parse_util .h src /parser .h src /path .h
obj/parse_execution.o : src /reader .h src /highlight .h src /color .h src /util .h
obj/parse_execution.o : src /wildcard .h src /wutil .h
2016-07-03 05:04:19 -07:00
obj/parse_productions.o : config .h src /common .h src /fallback .h src /signal .h
2016-04-19 19:49:15 -07:00
obj/parse_productions.o : src /parse_constants .h src /parse_productions .h
2016-07-03 05:04:19 -07:00
obj/parse_productions.o : src /parse_tree .h src /tokenizer .h
obj/parse_tree.o : config .h src /common .h src /fallback .h src /signal .h
2015-09-12 12:59:40 -07:00
obj/parse_tree.o : src /parse_constants .h src /parse_productions .h
2016-07-03 05:04:19 -07:00
obj/parse_tree.o : src /parse_tree .h src /tokenizer .h src /proc .h src /io .h
2017-08-23 17:14:54 -07:00
obj/parse_tree.o : src /env .h src /wutil .h
2016-07-03 05:04:19 -07:00
obj/parse_util.o : config .h src /builtin .h src /common .h src /fallback .h
obj/parse_util.o : src /signal .h src /expand .h src /parse_constants .h
obj/parse_util.o : src /parse_tree .h src /tokenizer .h src /parse_util .h
obj/parse_util.o : src /util .h src /wildcard .h src /complete .h src /wutil .h
obj/parser.o : config .h src /common .h src /fallback .h src /signal .h src /env .h
obj/parser.o : src /event .h src /expand .h src /parse_constants .h src /function .h
obj/parser.o : src /intern .h src /parse_execution .h src /io .h src /parse_tree .h
obj/parser.o : src /tokenizer .h src /proc .h src /parse_util .h src /parser .h
obj/parser.o : src /reader .h src /complete .h src /highlight .h src /color .h
obj/parser.o : src /sanity .h src /wutil .h
obj/parser_keywords.o : config .h src /common .h src /fallback .h src /signal .h
2016-04-19 19:49:15 -07:00
obj/parser_keywords.o : src /parser_keywords .h
2016-07-03 05:04:19 -07:00
obj/path.o : config .h src /common .h src /fallback .h src /signal .h src /env .h
obj/path.o : src /expand .h src /parse_constants .h src /path .h src /wutil .h
obj/postfork.o : config .h src /signal .h src /common .h src /fallback .h src /exec .h
2017-08-23 17:14:54 -07:00
obj/postfork.o : src /io .h src /env .h src /iothread .h src /postfork .h src /proc .h
2016-07-03 05:04:19 -07:00
obj/postfork.o : src /parse_tree .h src /parse_constants .h src /tokenizer .h
obj/postfork.o : src /wutil .h
obj/print_help.o : config .h src /common .h src /fallback .h src /signal .h
2015-07-25 13:23:18 -07:00
obj/print_help.o : src /print_help .h
2016-07-03 05:04:19 -07:00
obj/proc.o : config .h src /signal .h src /common .h src /fallback .h src /event .h
2017-08-23 17:14:54 -07:00
obj/proc.o : src /io .h src /env .h src /output .h src /color .h src /parse_tree .h
2016-07-03 05:04:19 -07:00
obj/proc.o : src /parse_constants .h src /tokenizer .h src /parser .h src /expand .h
2017-08-23 17:14:54 -07:00
obj/proc.o : src /proc .h src /reader .h src /complete .h src /highlight .h
2016-07-03 05:04:19 -07:00
obj/proc.o : src /sanity .h src /util .h src /wutil .h
obj/reader.o : config .h src /signal .h src /color .h src /common .h src /fallback .h
obj/reader.o : src /complete .h src /env .h src /event .h src /exec .h src /expand .h
obj/reader.o : src /parse_constants .h src /function .h src /highlight .h
2017-06-12 17:19:13 -07:00
obj/reader.o : src /history .h src /wutil .h src /input .h src /builtin_bind .h
obj/reader.o : src /input_common .h src /intern .h src /io .h src /iothread .h
obj/reader.o : src /kill .h src /output .h src /pager .h src /reader .h src /screen .h
obj/reader.o : src /parse_tree .h src /tokenizer .h src /parse_util .h src /parser .h
obj/reader.o : src /proc .h src /sanity .h src /util .h
2016-07-03 05:04:19 -07:00
obj/sanity.o : config .h src /common .h src /fallback .h src /signal .h src /history .h
2017-08-23 17:14:54 -07:00
obj/sanity.o : src /wutil .h src /kill .h src /proc .h src /io .h src /env .h
obj/sanity.o : src /parse_tree .h src /parse_constants .h src /tokenizer .h
obj/sanity.o : src /reader .h src /complete .h src /highlight .h src /color .h
2016-07-03 05:04:19 -07:00
obj/sanity.o : src /sanity .h
2017-06-12 17:19:13 -07:00
obj/screen.o : config .h src /common .h src /fallback .h src /signal .h src /env .h
obj/screen.o : src /highlight .h src /color .h src /output .h src /pager .h
2016-07-03 05:04:19 -07:00
obj/screen.o : src /complete .h src /reader .h src /parse_constants .h src /screen .h
obj/screen.o : src /util .h
obj/signal.o : config .h src /signal .h src /common .h src /fallback .h src /event .h
2017-08-23 17:14:54 -07:00
obj/signal.o : src /proc .h src /io .h src /env .h src /parse_tree .h
obj/signal.o : src /parse_constants .h src /tokenizer .h src /reader .h
obj/signal.o : src /complete .h src /highlight .h src /color .h src /wutil .h
2016-07-03 05:04:19 -07:00
obj/tokenizer.o : config .h src /common .h src /fallback .h src /signal .h
obj/tokenizer.o : src /tokenizer .h src /wutil .h
2016-11-20 20:38:52 -08:00
obj/utf8.o : config .h src /common .h src /fallback .h src /signal .h src /utf 8.h
2016-07-03 05:04:19 -07:00
obj/util.o : config .h src /common .h src /fallback .h src /signal .h src /util .h
2016-04-27 14:56:46 -07:00
obj/util.o : src /wutil .h
2016-07-03 05:04:19 -07:00
obj/wcstringutil.o : config .h src /common .h src /fallback .h src /signal .h
2016-04-19 19:49:15 -07:00
obj/wcstringutil.o : src /wcstringutil .h
2015-07-26 10:20:13 +08:00
obj/wgetopt.o : config .h src /common .h src /fallback .h src /signal .h
obj/wgetopt.o : src /wgetopt .h src /wutil .h
2016-07-03 05:04:19 -07:00
obj/wildcard.o : config .h src /common .h src /fallback .h src /signal .h
obj/wildcard.o : src /complete .h src /expand .h src /parse_constants .h
obj/wildcard.o : src /reader .h src /highlight .h src /color .h src /env .h
obj/wildcard.o : src /wildcard .h src /wutil .h
2016-04-19 19:49:15 -07:00
obj/wutil.o : config .h src /common .h src /fallback .h src /signal .h src /wutil .h