2006-11-11 18:53:14 +08:00
2006-10-31 10:06:56 +08:00
# Copyright (C) 2005-2006 Axel Liljencrantz
2005-09-20 21:26:39 +08:00
#
2006-11-01 22:47:47 +08: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 21:26:39 +08: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
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
2006-02-04 21:09:14 +08:00
#
# @configure_input@
#
2005-09-20 21:26:39 +08:00
#
# Makefile for the fish shell. Can build fish and associated
# applications, install them, recalculate dependencies and also create
2006-06-13 21:43:28 +08:00
# binary distributions in tar.bz2, tar.gz and rpm formats.
2005-09-20 21:26:39 +08:00
#
#
# The fish buildprocess is quite complex. Do not stare directly into
# the Makefile. Doing so may cause nausea, dizziness and
# hallucinations.
#
2006-10-31 10:06:56 +08:00
#
2006-01-23 19:38:07 +08:00
# Programs
2006-10-31 10:06:56 +08:00
#
2005-09-20 21:26:39 +08:00
CC := @CC@
2006-01-23 19:38:07 +08:00
INSTALL := @INSTALL@
2006-10-31 10:06:56 +08:00
#
2006-01-23 05:35:48 +08:00
# Installation directories
2006-10-31 10:06:56 +08:00
#
2005-09-20 21:26:39 +08:00
prefix = @prefix@
exec_prefix = @exec_prefix@
2006-01-04 20:51:02 +08:00
datadir = @datadir@
2005-09-20 21:26:39 +08:00
bindir = @bindir@
mandir = @mandir@
sysconfdir = @sysconfdir@
docdir = @docdir@
2006-07-19 22:41:04 +08:00
localedir = @localedir@
prefix = @prefix@
2007-03-24 18:56:29 +08:00
optbindirs = @optbindirs@
2006-10-31 10:06:56 +08:00
#
# Various flags
#
2006-07-19 22:41:04 +08:00
2007-03-24 18:56:29 +08:00
MACROS = -DLOCALEDIR= \" $( localedir) \" -DPREFIX= L\" $( prefix) \" -DDATADIR= L\" $( datadir) \" -DSYSCONFDIR= L\" $( sysconfdir) \"
CFLAGS = @CFLAGS@ $( MACROS)
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LIBS@ @LDFLAGS@
LDFLAGS_FISH = ${ LDFLAGS } @LIBS_FISH@ @LDFLAGS_FISH@
2007-04-22 18:03:12 +08:00
LDFLAGS_FISH_INDENT = ${ LDFLAGS } @LIBS_FISH_INDENT@
2007-03-24 18:56:29 +08:00
LDFLAGS_FISH_PAGER = ${ LDFLAGS } @LIBS_FISH_PAGER@
LDFLAGS_FISHD = ${ LDFLAGS } @LIBS_FISHD@
LDFLAGS_MIMEDB = ${ LDFLAGS } @LIBS_MIMEDB@
LDFLAGS_SET_COLOR = ${ LDFLAGS } @LIBS_SET_COLOR@
2006-10-31 10:06:56 +08:00
#
2006-01-23 05:35:48 +08:00
# Set to 1 if we have gettext
2006-10-31 10:06:56 +08:00
#
2006-01-04 20:51:02 +08:00
HAVE_GETTEXT = @HAVE_GETTEXT@
2006-10-31 10:06:56 +08:00
#
2006-06-13 21:43:28 +08:00
#Additional .c files used by common.o. These also have a corresponding
#.h file.
2006-10-31 10:06:56 +08:00
#
2006-06-13 21:43:28 +08:00
COMMON_FILES := util.c halloc.c halloc_util.c fallback.c
2006-02-09 23:50:20 +08:00
2006-10-31 10:06:56 +08:00
#
2006-06-13 21:43:28 +08:00
# All objects that the system needs to build fish, except main.o
2006-10-31 10:06:56 +08:00
#
FISH_OBJS := function .o builtin.o complete.o env.o exec.o expand.o \
highlight.o history.o kill.o parser.o proc.o reader.o sanity.o \
tokenizer.o wildcard.o wgetopt.o wutil.o input.o output.o intern.o \
env_universal.o env_universal_common.o input_common.o event.o \
2007-04-22 17:50:26 +08:00
signal.o io.o parse_util.o common.o screen.o path.o \
parser_keywords.o
2005-09-20 21:26:39 +08:00
2007-04-22 18:03:12 +08:00
FISH_INDENT_OBJS := fish_indent.o print_help.o common.o \
p a r s e r _ k e y w o r d s . o w u t i l . o t o k e n i z e r . o
2006-10-31 10:06:56 +08:00
#
2006-06-13 21:43:28 +08:00
# Additional files used by builtin.o
2006-10-31 10:06:56 +08:00
#
2006-11-18 00:24:38 +08:00
BUILTIN_FILES := builtin_set.c builtin_commandline.c \
2006-06-13 21:43:28 +08:00
builtin_ulimit.c builtin_complete.c builtin_jobs.c
2006-01-23 05:35:48 +08:00
2006-10-31 10:06:56 +08:00
#
2006-01-23 05:35:48 +08:00
# All objects that the system needs to build fish_pager
2006-10-31 10:06:56 +08:00
#
FISH_PAGER_OBJS := fish_pager.o output.o wutil.o tokenizer.o \
2007-01-07 22:13:36 +08:00
input_common.o env_universal.o env_universal_common.o common.o \
print_help.o
2006-10-31 10:06:56 +08:00
2005-09-20 21:26:39 +08:00
2006-10-31 10:06:56 +08:00
#
2006-01-23 05:35:48 +08:00
# All objects that the system needs to build fish_tests
2006-10-31 10:06:56 +08:00
#
2006-07-15 20:39:03 +08:00
FISH_TESTS_OBJS := $( FISH_OBJS) fish_tests.o
2006-01-23 05:35:48 +08:00
2006-10-31 10:06:56 +08:00
#
2006-01-23 05:35:48 +08:00
# All objects that the system needs to build fishd
2006-10-31 10:06:56 +08:00
#
2006-11-18 00:24:38 +08:00
FISHD_OBJS := fishd.o env_universal_common.o wutil.o print_help.o \
common.o
2005-09-20 21:26:39 +08:00
2006-10-31 10:06:56 +08:00
#
2006-01-23 05:35:48 +08:00
# All objects needed to build mimedb
2006-10-31 10:06:56 +08:00
#
2006-11-18 00:24:38 +08:00
MIME_OBJS := mimedb.o print_help.o xdgmimealias.o xdgmime.o \
xdgmimeglob.o xdgmimeint.o xdgmimemagic.o xdgmimeparent.o wutil.o \
common.o
2005-09-20 21:26:39 +08:00
2006-10-31 10:06:56 +08:00
2005-09-20 21:26:39 +08:00
#
2006-11-20 09:06:20 +08:00
# Files containing user documentation
2005-09-20 21:26:39 +08:00
#
2006-10-31 10:06:56 +08:00
2006-11-23 02:53:33 +08:00
#
# These files are the source files, they contain a few @FOO@-style substitutions
#
HDR_FILES_SRC := doc_src/index.hdr.in doc_src/commands.hdr.in doc_src/design.hdr doc_src/license.hdr doc_src/faq.hdr
#
# These are the generated result files
#
HDR_FILES := $( subst .hdr.in,.hdr,$( HDR_FILES_SRC) )
2006-10-31 10:06:56 +08:00
2005-09-20 21:26:39 +08:00
#
2006-07-22 17:53:26 +08:00
# Files containing documentation for external commands.
2005-09-20 21:26:39 +08:00
#
2006-10-31 10:06:56 +08:00
2006-11-23 02:53:33 +08:00
HELP_SRC := $( wildcard doc_src/*.txt)
2005-09-20 21:26:39 +08:00
2006-10-31 10:06:56 +08:00
2006-01-23 05:35:48 +08:00
#
# Files in the test directory
#
2006-10-31 10:06:56 +08:00
2005-09-20 21:26:39 +08:00
TEST_IN := $( wildcard tests/test*.in)
2006-10-31 10:06:56 +08:00
2005-09-20 21:26:39 +08:00
#
# Files that should be added to the tar archives
#
2006-10-31 10:06:56 +08:00
#
2005-09-20 21:26:39 +08:00
# Files in ./doc_src/
2006-10-31 10:06:56 +08:00
#
2006-11-23 02:53:33 +08:00
DOC_SRC_DIR_FILES := $( HDR_FILES_SRC) $( HELP_SRC)
2005-09-20 21:26:39 +08:00
2006-10-31 10:06:56 +08:00
#
2006-11-23 02:53:33 +08:00
# Files in ./
2006-10-31 10:06:56 +08:00
#
2006-11-23 02:53:33 +08:00
MAIN_DIR_FILES_UNSORTED := Doxyfile Doxyfile.user Doxyfile.help.in \
Makefile.in configure configure.ac config.h.in install-sh \
2007-04-24 06:00:26 +08:00
set_color.c key_reader.c $( MIME_OBJS:.o= .h) \
2006-11-23 02:53:33 +08:00
$( MIME_OBJS:.o= .c) $( FISH_OBJS:.o= .h) $( BUILTIN_FILES) \
$( COMMON_FILES) $( COMMON_FILES:.c= .h) $( FISH_OBJS:.o= .c) \
fish.spec.in INSTALL README user_doc.head.html xsel-0.9.6.tar \
ChangeLog config.sub config.guess fish_tests.c main.c fish_pager.c \
2007-04-22 18:03:12 +08:00
fishd.c seq.in make_vcs_completions.fish $( FISH_INDENT_OBJS:.o= .c)
2006-11-23 02:53:33 +08:00
#
# The sorting is not meaningful in itself, but it has the side effect
# of removing duplicates, which means there will be fewer warnings
# during building.
#
MAIN_DIR_FILES := $( sort $( MAIN_DIR_FILES_UNSORTED) )
2005-09-20 21:26:39 +08:00
2006-10-31 10:06:56 +08:00
#
2006-02-17 18:13:39 +08:00
# Files in ./etc/
2006-10-31 10:06:56 +08:00
#
2006-10-19 19:50:23 +08:00
ETC_DIR_FILES := etc/config.fish.in etc/fish_inputrc
2006-02-17 18:13:39 +08:00
2006-10-31 10:06:56 +08:00
#
2006-02-17 18:13:39 +08:00
# Files in ./share/
2006-10-31 10:06:56 +08:00
#
2006-10-19 19:50:23 +08:00
SHARE_DIR_FILES := share/config.fish.in share/config_interactive.fish.in
2005-09-20 21:26:39 +08:00
2006-10-31 10:06:56 +08:00
#
2005-09-20 21:26:39 +08:00
# Files in ./tests/
2006-10-31 10:06:56 +08:00
#
2005-09-20 21:26:39 +08:00
TESTS_DIR_FILES := $( TEST_IN) $( TEST_IN:.in= .out) $( TEST_IN:.in= .err) \
$( TEST_IN:.in= .status) tests/test.fish tests/gen_output.fish
2006-10-31 10:06:56 +08:00
#
2006-03-29 08:25:00 +08:00
# Files in ./share/completions/
2006-10-31 10:06:56 +08:00
#
2006-02-17 18:13:39 +08:00
COMPLETIONS_DIR_FILES := $( wildcard share/completions/*.fish)
2005-09-20 21:26:39 +08:00
2006-10-31 10:06:56 +08:00
#
2006-03-29 08:25:00 +08:00
# Files in ./share/functions/
2006-10-31 10:06:56 +08:00
#
2006-02-17 18:13:39 +08:00
FUNCTIONS_DIR_FILES := $( wildcard share/functions/*.fish)
2006-02-08 17:20:05 +08:00
2006-10-31 10:06:56 +08:00
#
# Programs to install
#
2007-04-24 06:00:26 +08:00
SIMPLE_PROGRAMS := fish set_color mimedb fish_pager fishd fish_indent
2006-11-23 02:53:33 +08:00
PROGRAMS := $( SIMPLE_PROGRAMS) @XSEL@ @SEQ_FALLBACK@
2005-09-20 21:26:39 +08:00
2006-10-31 10:06:56 +08:00
#
2006-11-23 02:53:33 +08:00
# Manual pages to install
2006-10-31 10:06:56 +08:00
#
2006-11-23 02:53:33 +08:00
MANUALS := $( addsuffix .1, $( addprefix share/man/, \
$( SIMPLE_PROGRAMS) ) ) @XSEL_MAN_PATH@
2005-09-20 21:26:39 +08:00
2006-10-31 10:06:56 +08:00
#
# All translation message catalogs
#
2006-01-04 20:51:02 +08:00
TRANSLATIONS_SRC := $( wildcard po/*.po)
TRANSLATIONS := $( TRANSLATIONS_SRC:.po= .gmo)
2006-10-31 10:06:56 +08:00
#
# Make everything needed for installing fish
#
2006-11-20 21:53:36 +08:00
all : $( PROGRAMS ) user_doc share /man etc /config .fish share /config .fish share /config_interactive .fish $( TRANSLATIONS )
2006-01-18 21:11:43 +08:00
@echo fish has now been built.
2006-11-29 22:20:04 +08:00
@echo Use \' $( MAKE) install\' to install fish.
2006-01-24 04:40:14 +08:00
.PHONY : all
2005-09-20 21:26:39 +08:00
2006-10-31 10:06:56 +08:00
#
# These dependencies make sure that autoconf and configure are run
# when the source code for the build configuration has changed.
#
2006-04-02 19:15:25 +08:00
configure : configure .ac
./config.status --recheck
Makefile : Makefile .in configure
./config.status
2006-10-31 10:06:56 +08:00
#
# Build fish with some debug flags specified. This is GCC specific,
# and should only be used when debuging fish.
#
2006-08-09 19:35:54 +08:00
2006-01-16 21:41:50 +08:00
debug :
2006-11-29 22:20:04 +08:00
$( MAKE) fish CFLAGS = " @CFLAGS@ $( MACROS) -O0 -Wno-unused -Werror -g "
2006-01-24 04:40:14 +08:00
.PHONY : debug
2006-01-16 21:41:50 +08:00
2006-10-31 10:06:56 +08:00
#
2005-09-20 21:26:39 +08:00
# User documentation, describing the features of the fish shell.
2006-10-31 10:06:56 +08:00
#
2007-03-24 19:08:01 +08:00
# Depend on the sources (*.hdr.in) and manually make the
# intermediate *.hdr and doc.h files if needed
2006-11-18 00:24:38 +08:00
2007-04-21 16:12:44 +08:00
user_doc : $( HDR_FILES_SRC ) Doxyfile .user user_doc .head .html $( HELP_SRC )
2007-03-24 19:08:01 +08:00
$( MAKE) doc.h $( HDR_FILES)
2005-09-20 21:26:39 +08:00
doxygen Doxyfile.user
2006-06-13 21:43:28 +08:00
touch user_doc
2005-09-20 21:26:39 +08:00
2006-10-31 10:06:56 +08:00
#
2006-01-24 04:40:14 +08:00
# Source code documentation. Also includes user documentation.
2006-10-31 10:06:56 +08:00
#
2006-11-18 00:24:38 +08:00
doc : *.h *.c doc .h Doxyfile
2005-09-20 21:26:39 +08:00
doxygen;
2006-10-31 10:06:56 +08:00
#
2005-09-20 21:26:39 +08:00
# PDF version of the source code documentation.
2006-10-31 10:06:56 +08:00
#
2005-09-20 21:26:39 +08:00
doc/refman.pdf : doc
cd doc/latex;
make;
mv refman.pdf ..;
cd ../..;
rm -r doc/latex;
2006-10-31 10:06:56 +08:00
#
# This target runs both the low level code tests and the high level script tests.
#
2005-09-20 21:26:39 +08:00
test : $( PROGRAMS ) fish_tests
./fish_tests; cd tests; ../fish <test.fish;
2006-01-24 04:40:14 +08:00
.PHONY : test
2005-09-20 21:26:39 +08:00
2006-10-31 10:06:56 +08:00
#
# Build the xsel program, which is maintained in its own tarball
#
2005-09-20 21:26:39 +08:00
xsel-0.9.6 :
tar -xf xsel-0.9.6.tar
xsel-0.9.6/xsel : xsel -0.9.6
2007-05-11 03:24:11 +08:00
cd xsel-0.9.6; ./configure && make || echo "Failed to build xsel - either add the required dependencies or use './configure --without-xsel' to disable it."
2005-09-20 21:26:39 +08:00
2006-10-31 10:06:56 +08:00
2006-10-31 23:36:14 +08:00
#
# commands.hdr collects documentation on all commands, functions and
# builtins
#
2006-11-23 02:53:33 +08:00
doc_src/commands.hdr : $( HELP_SRC ) doc_src /commands .hdr .in
-rm command_list.tmp $@
for i in ` printf "%s\n" $( HELP_SRC) | sort` ; do \
echo "<hr>" >>command_list.tmp; \
cat $$ i >>command_list.tmp; \
echo >>command_list.tmp; \
echo >>command_list.tmp; \
echo "Back to <a href='index.html#toc-commands'>index</a>" . >>command_list.tmp; \
2006-10-31 23:36:14 +08:00
done
2006-11-23 02:53:33 +08:00
mv command_list.tmp command_list.txt
cat $@ .in | awk '{if ($$0 ~ /@command_list@/){ system("cat command_list.txt");} else{ print $$0;}}' >$@
toc.txt : $( subst index .hdr ,index .hdr .in ,$ ( HDR_FILES ) )
-rm toc.tmp $@
for i in $( subst index.hdr,index.hdr.in,$( HDR_FILES) ) ; do \
NAME = ` basename $$ i .hdr` ; \
NAME = ` basename $$ NAME .hdr.in` ; \
sed <$$ i >>toc.tmp -n \
-e 's,.*\\page *\([^ ]*\) *\(.*\)$$,- <a href="' $$ NAME'.html" name="toc-' $$ NAME'">\2</a>,p' \
-e 's,.*\\section *\([^ ]*\) *\(.*\)$$, - <a href="' $$ NAME'.html#\1" name="toc-' $$ NAME'">\2</a>,p' ; \
done
mv toc.tmp $@
doc_src/index.hdr : toc .txt doc_src /index .hdr .in
cat $@ .in | awk '{if ($$0 ~ /@toc@/){ system("cat toc.txt");} else{ print $$0;}}' >$@
2006-10-31 23:36:14 +08:00
2006-10-31 10:06:56 +08:00
#
2005-09-20 21:26:39 +08: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
# file that can be parsed dy Doxygen to generate the user
# documentation.
2006-10-31 10:06:56 +08:00
#
2006-11-23 02:53:33 +08:00
doc.h : $( HDR_FILES )
cat $( HDR_FILES) >$@
2006-10-31 10:06:56 +08:00
#
2005-09-20 21:26:39 +08: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 10:06:56 +08:00
#
2005-09-20 21:26:39 +08:00
%.doxygen : %.txt
echo "/** \page " ` basename $* ` >$@ ;
cat $* .txt >>$@ ;
echo "*/" >>$@
2007-02-17 04:00:15 +08:00
% : %.in
2006-11-11 18:53:14 +08:00
sed <$@ .in >$@ \
-e " s,@sysconfdir\@, $( sysconfdir) ,g " \
-e " s,@datadir\@, $( datadir) ,g " \
-e " s,@docdir\@, $( docdir) ,g " \
-e " s|@configure_input\@| $@ , generated from $@ .in by the Makefile. DO NOT MANUALLY EDIT THIS FILE!|g " \
-e " s,@prefix\@, $( prefix) ,g " \
-e " s,@optbindirs\@, $( optbindirs) ,g "
2006-07-19 00:41:55 +08:00
#-e "s,@\@,$(),"
2006-10-31 10:06:56 +08:00
#
# Compile translation files to binary format
#
2006-01-24 01:47:42 +08:00
%.gmo :
2007-08-02 01:38:01 +08:00
if test " $( HAVE_GETTEXT) " = 1; then \
2006-07-28 21:07:15 +08:00
msgfmt -o $* .gmo $* .po; \
2006-01-04 20:51:02 +08:00
fi
2006-10-31 10:06:56 +08:00
#
2006-01-04 20:51:02 +08:00
# Update existing po file or copy messages.pot
2006-10-31 10:06:56 +08:00
#
2006-01-24 01:47:42 +08:00
%.po : messages .pot
2006-01-04 20:51:02 +08:00
if test $( HAVE_GETTEXT) = 1; then \
if test -f $* .po; then \
2006-01-19 00:59:17 +08:00
msgmerge -U --backup= existing $* .po messages.pot; \
2006-01-04 20:51:02 +08:00
else \
cp messages.pot $* .po; \
fi ; \
fi
2006-10-31 10:06:56 +08:00
#
2006-01-04 20:51:02 +08:00
# Create a template translation object
2006-10-31 10:06:56 +08:00
#
2007-01-09 21:44:57 +08:00
messages.pot : *.c *.h etc /*.in share /*.in share /completions /*.fish share /functions /*.fish seq
2006-01-04 20:51:02 +08:00
if test $( HAVE_GETTEXT) = 1; then \
2006-03-02 00:53:47 +08:00
xgettext -k_ -kN_ *.c *.h -o messages.pot; \
2007-01-16 09:18:28 +08:00
if xgettext -j -k_ -kN_ -k--description -LShell etc/*.in share/*.in share/completions/*.fish share/functions/*.fish seq -o messages.pot; then true; else \
2006-01-19 00:59:17 +08:00
echo "Your xgettext version is too old to build the messages.pot file" \
2006-01-23 19:38:07 +08:00
rm messages.pot\
2006-01-19 00:59:17 +08:00
false; \
fi ; \
2006-01-04 20:51:02 +08:00
fi
2006-06-13 21:43:28 +08:00
builtin.o : $( BUILTIN_FILES )
common.o : $( COMMON_FILES )
2006-10-31 10:06:56 +08:00
#
2005-09-20 21:26:39 +08:00
# Generate the internal help functions by making doxygen create
2006-11-18 00:24:38 +08:00
# man-pages. The convertion path looks like this:
2005-09-20 21:26:39 +08:00
#
# .txt file
# ||
# (make)
# ||
# \/
# .doxygen file
# ||
# (doxygen)
# ||
# \/
2006-11-18 00:24:38 +08:00
# roff file
2005-09-20 21:26:39 +08:00
# ||
2006-11-18 00:24:38 +08:00
# (__fish_print_help)
2005-09-20 21:26:39 +08:00
# ||
# \/
# formated text
# with escape
# sequences
#
2006-11-18 00:24:38 +08:00
#
# There ought to be something simpler.
2006-10-31 10:06:56 +08:00
#
2005-09-20 21:26:39 +08:00
2006-11-23 02:53:33 +08:00
share/man : $( HELP_SRC )
-rm doc_src/*.doxygen # Remove temp files from previous run
-rm -r help_doc
-mkdir share/man
touch share/man
for i in $( HELP_SRC) ; do \
2006-06-13 21:43:28 +08:00
FILE = doc_src/` basename $$ i .txt` .doxygen; \
echo "/** \page" ` basename $$ i .txt` >$$ FILE; \
cat $$ i >>$$ FILE; \
echo "*/" >>$$ FILE; \
done
2006-11-20 21:53:36 +08:00
doxygen Doxyfile.help
2006-12-13 01:25:18 +08:00
for i in $( HELP_SRC) ; do \
CMD_NAME = ` basename $$ i .txt` ; \
sed -e "s/\(.\)\\.SH/\1/" -e " s/ $$ CMD_NAME *\\\\- *\"\(.*\)\"/\1/ " <help_doc/man/man1/$$ CMD_NAME.1 >share/man/$$ CMD_NAME.1; \
2006-08-22 08:48:53 +08:00
done
2006-11-23 02:53:33 +08:00
rm doc_src/*.doxygen # Clean up intermediate files in doc_src/
rm -r help_doc # Clean up intermediate help_doc tree
2006-06-13 21:43:28 +08:00
2006-01-24 04:40:14 +08:00
#
2006-02-23 23:35:56 +08:00
# The build rules for installing/uninstalling fish
#
2006-10-31 10:06:56 +08:00
#
2006-02-23 23:35:56 +08:00
# Check for an incompatible installed fish version, and fail with an
# error if found
2006-10-31 10:06:56 +08:00
#
2006-02-23 23:35:56 +08:00
check-uninstall :
if test -f $( DESTDIR) $( sysconfdir) /fish.d/fish_function.fish -o -f $( DESTDIR) $( sysconfdir) /fish.d/fish_complete.fish; then \
echo; \
echo ERROR; \
echo; \
echo An older fish installation using an incompatible filesystem hierarchy was detected; \
2006-10-26 00:35:32 +08:00
echo You must uninstall this fish version before proceeding; \
2006-11-29 22:20:04 +08:00
echo type \' $( MAKE) uninstall-legacy\' to uninstall these files,; \
echo or type \' $( MAKE) force-install\' to force installation.; \
2006-02-23 23:35:56 +08:00
echo The latter may result in a broken installation.; \
echo; \
false; \
fi ;
2006-10-26 00:35:32 +08:00
if test -f $( DESTDIR) $( sysconfdir) /fish; then \
echo; \
echo ERROR; \
echo; \
echo An older fish installation using an incompatible filesystem hierarchy was detected; \
echo You must remove the file $( DESTDIR) $( sysconfdir) /fish before proceeding; \
2006-11-29 22:20:04 +08:00
echo type \' $( MAKE) uninstall-legacy\' to uninstall this file,; \
2006-10-26 00:35:32 +08:00
echo or remove it manually using \' rm $( DESTDIR) $( sysconfdir) /fish\' .; \
echo; \
false; \
fi ;
2006-02-23 23:35:56 +08:00
.PHONY : check -uninstall
2006-10-31 10:06:56 +08:00
#
# This check makes sure that the install-sh script is executable. The
# darcs repo doesn't preserve the executable bit, so this needs to be
# run after checkout.
#
2006-07-31 05:05:06 +08:00
install-sh :
2007-02-09 01:26:58 +08:00
if test -x $@ ; then true; else chmod 755 $@ ; fi
2006-07-31 05:05:06 +08:00
.PHONY : install -sh
2006-10-31 10:06:56 +08:00
#
# Try to install after checking for incompatible installed versions.
#
2006-07-31 05:05:06 +08:00
install : all install -sh check -uninstall install -force
2006-02-23 23:35:56 +08:00
.PHONY : install
2006-01-24 04:40:14 +08:00
2006-10-31 10:06:56 +08:00
#
2006-02-23 23:35:56 +08:00
# Force installation, even in presense of incompatible previous
2006-10-31 10:06:56 +08:00
# version. This may fail.
#
2006-02-23 23:35:56 +08:00
install-force : all install -translations
2005-09-20 21:26:39 +08:00
$( INSTALL) -m 755 -d $( DESTDIR) $( bindir)
for i in $( PROGRAMS) ; do \
$( INSTALL) -m 755 $$ i $( DESTDIR) $( bindir) ; \
done ;
2006-10-19 19:50:23 +08:00
$( INSTALL) -m 755 -d $( DESTDIR) $( sysconfdir) /fish
2006-02-17 18:13:39 +08:00
$( INSTALL) -m 755 -d $( DESTDIR) $( datadir) /fish
$( INSTALL) -m 755 -d $( DESTDIR) $( datadir) /fish/completions
$( INSTALL) -m 755 -d $( DESTDIR) $( datadir) /fish/functions
2006-11-18 00:24:38 +08:00
$( INSTALL) -m 755 -d $( DESTDIR) $( datadir) /fish/man
2006-10-19 19:50:23 +08:00
$( INSTALL) -m 644 etc/config.fish $( DESTDIR) $( sysconfdir) /fish/
$( INSTALL) -m 644 share/config.fish $( DESTDIR) $( datadir) /fish/
$( INSTALL) -m 644 share/config_interactive.fish $( DESTDIR) $( datadir) /fish/
2005-09-20 21:26:39 +08:00
for i in $( COMPLETIONS_DIR_FILES) ; do \
2006-02-17 18:13:39 +08:00
$( INSTALL) -m 644 $$ i $( DESTDIR) $( datadir) /fish/completions/; \
2005-09-20 21:26:39 +08:00
done ;
2006-02-08 17:20:05 +08:00
for i in $( FUNCTIONS_DIR_FILES) ; do \
2006-02-17 18:13:39 +08:00
$( INSTALL) -m 644 $$ i $( DESTDIR) $( datadir) /fish/functions/; \
2006-02-08 17:20:05 +08:00
done ;
2006-11-18 00:24:38 +08:00
for i in share/man/*.1; do \
$( INSTALL) -m 644 $$ i $( DESTDIR) $( datadir) /fish/man/; \
done ;
2006-10-19 19:50:23 +08:00
$( INSTALL) -m 644 etc/fish_inputrc $( DESTDIR) $( sysconfdir) /fish/fish_inputrc;
2005-09-20 21:26:39 +08:00
$( INSTALL) -m 755 -d $( DESTDIR) $( docdir)
for i in user_doc/html/* ChangeLog; do \
2005-12-09 10:49:23 +08:00
if test -f $$ i; then \
$( INSTALL) -m 644 $$ i $( DESTDIR) $( docdir) ; \
fi ; \
2005-09-20 21:26:39 +08:00
done ;
$( INSTALL) -m 755 -d $( DESTDIR) $( mandir) /man1
for i in $( MANUALS) ; do \
$( INSTALL) -m 644 $$ i $( DESTDIR) $( mandir) /man1/; \
done ;
2006-01-18 21:11:43 +08:00
@echo fish is now installed on your system.
@echo To run fish, type \' fish\' in your terminal.
@echo
@echo To use fish as your login shell:
@echo \* add the line \' $( DESTDIR) $( bindir) /fish\' to the file \' /etc/shells\' .
@echo \* use the command \' chsh -s $( DESTDIR) $( bindir) /fish\' .
@echo
@echo Have fun!
2006-04-20 23:00:28 +08:00
.PHONY : install -force
2006-02-23 23:35:56 +08:00
2006-10-31 10:06:56 +08:00
#
2006-02-23 23:35:56 +08:00
# Uninstall this fish version
2006-10-31 10:06:56 +08:00
#
2005-09-20 21:26:39 +08:00
2006-01-04 20:51:02 +08:00
uninstall : uninstall -translations
2006-10-26 00:35:32 +08:00
-for i in $( PROGRAMS) ; do \
2005-09-20 21:26:39 +08:00
rm -f $( DESTDIR) $( bindir) /$$ i; \
done ;
2006-10-26 00:35:32 +08:00
-rm -f $( DESTDIR) $( bindir) /xsel
-rm -f $( DESTDIR) $( sysconfdir) /fish/config.fish
-rm -f $( DESTDIR) $( sysconfdir) /fish/fish_inputrc
-rmdir $( DESTDIR) $( sysconfdir) /fish
-if test -d $( DESTDIR) $( datadir) /fish; then \
2006-02-23 23:35:56 +08:00
rm -r $( DESTDIR) $( datadir) /fish; \
fi
2006-10-26 00:35:32 +08:00
-if test -d $( DESTDIR) $( docdir) ; then \
2006-02-23 23:35:56 +08:00
rm -r $( DESTDIR) $( docdir) ; \
fi
2006-10-26 00:35:32 +08:00
-for i in $( MANUALS) ; do \
2006-08-10 07:07:49 +08:00
rm -f $( DESTDIR) $( mandir) /man1/` basename $$ i` *; \
2005-09-20 21:26:39 +08:00
done ;
2006-01-24 04:40:14 +08:00
.PHONY : uninstall
2005-09-20 21:26:39 +08:00
2006-10-31 10:06:56 +08:00
#
# Uninstall an older fish release. This is not the default uninstall
2006-02-23 23:35:56 +08:00
# since there is a slight chance that it removes a file put in place by
2006-10-31 10:06:56 +08:00
# the sysadmin. But if 'make install' detects a file confligt, it
# suggests using this target.
#
2006-02-23 23:35:56 +08:00
uninstall-legacy : uninstall
2006-10-26 00:35:32 +08:00
-rm -f $( DESTDIR) $( sysconfdir) /fish.d/fish_interactive.fish
-rm -f $( DESTDIR) $( sysconfdir) /fish.d/fish_complete.fish
-rm -f $( DESTDIR) $( sysconfdir) /fish.d/fish_function.fish
-if test -d $( DESTDIR) $( sysconfdir) /fish.d/completions; then \
2006-02-23 23:35:56 +08:00
for i in $( COMPLETIONS_DIR_FILES) ; do \
basename = ` basename $$ i` ; \
if test -f $( DESTDIR) $( sysconfdir) /fish.d/completions/$$ basename; then \
rm $( DESTDIR) $( sysconfdir) /fish.d/completions/$$ basename; \
fi ; \
done ; \
fi ;
2006-10-26 00:35:32 +08:00
-rmdir $( DESTDIR) $( sysconfdir) /fish.d/completions
-rmdir $( DESTDIR) $( sysconfdir) /fish.d
-rm $( DESTDIR) $( sysconfdir) /fish
2006-03-06 05:26:30 +08:00
@echo The previous fish installation has been removed.
2006-04-20 23:00:28 +08:00
.PHONY : uninstall -legacy
2006-02-23 23:35:56 +08:00
2006-01-04 21:52:30 +08:00
install-translations : $( TRANSLATIONS )
2006-01-04 20:51:02 +08:00
if test $( HAVE_GETTEXT) = 1; then \
for i in $( TRANSLATIONS) ; do \
2006-01-22 00:01:17 +08:00
$( INSTALL) -m 755 -d $( DESTDIR) $( datadir) /locale/` basename $$ i .gmo` /LC_MESSAGES; \
$( INSTALL) -m 644 $$ i $( DESTDIR) $( datadir) /locale/` basename $$ i .gmo` /LC_MESSAGES/fish.mo; \
echo $( DESTDIR) $( datadir) /locale/` basename $$ i .gmo` /LC_MESSAGES/fish.mo; \
2006-01-04 20:51:02 +08:00
done ; \
2006-02-23 23:35:56 +08:00
fi ;
2006-01-24 04:40:14 +08:00
.PHONY : install -translations
2006-01-04 20:51:02 +08:00
2006-01-04 21:52:30 +08:00
uninstall-translations :
2006-01-04 20:51:02 +08:00
if test $( HAVE_GETTEXT) = 1; then \
for i in $( TRANSLATIONS_SRC) ; do \
2006-02-23 23:35:56 +08:00
rm -f $( DESTDIR) $( datadir) /locale/*/LC_MESSAGES/fish.mo; \
2006-01-04 20:51:02 +08:00
done ; \
fi
2006-01-24 04:40:14 +08:00
.PHONY : uninstall -translations
2006-10-31 10:06:56 +08:00
2006-01-24 04:40:14 +08:00
#
# The build rules for all the commands
#
2006-01-04 20:51:02 +08:00
2006-10-31 10:06:56 +08:00
#
# Build the fish program.
#
2006-06-13 21:43:28 +08:00
fish : $( FISH_OBJS ) main .o
2007-03-24 18:56:29 +08:00
$( CC) $( FISH_OBJS) main.o $( LDFLAGS_FISH) -o $@
2005-09-20 21:26:39 +08:00
2006-10-31 10:06:56 +08:00
#
# Build the fish_pager program.
#
2005-09-20 21:26:39 +08:00
fish_pager : $( FISH_PAGER_OBJS )
2007-03-24 18:56:29 +08:00
$( CC) $( FISH_PAGER_OBJS) $( LDFLAGS_FISH_PAGER) -o $@
2005-09-20 21:26:39 +08:00
2006-10-31 10:06:56 +08:00
#
# Build the fishd program.
#
2006-01-24 00:25:34 +08:00
fishd : $( FISHD_OBJS )
2007-03-24 18:56:29 +08:00
$( CC) $( FISHD_OBJS) $( LDFLAGS_FISHD) -o $@
2005-09-20 21:26:39 +08:00
2006-10-31 10:06:56 +08:00
#
# Build the fish_tests program.
#
2005-09-20 21:26:39 +08:00
fish_tests : $( FISH_TESTS_OBJS )
2007-03-24 18:56:29 +08:00
$( CC) $( FISH_TESTS_OBJS) $( LDFLAGS_FISH) -o $@
2005-09-20 21:26:39 +08:00
2006-10-31 10:06:56 +08:00
#
# Build the mimedb program.
#
# mimedb does not need any libraries, so we don't use LDFLAGS here.
#
2006-11-18 00:24:38 +08:00
mimedb : $( MIME_OBJS )
2007-03-24 18:56:29 +08:00
$( CC) $( MIME_OBJS) $( LDFLAGS_MIMEDB) -o $@
2006-06-15 21:52:00 +08:00
2006-10-31 10:06:56 +08:00
#
# Build the set_color program
#
2006-11-18 00:24:38 +08:00
set_color : set_color .o print_help .o common .o
2007-03-24 18:56:29 +08:00
$( CC) set_color.o print_help.o common.o wutil.o $( LDFLAGS_SET_COLOR) -o $@
2005-09-20 21:26:39 +08:00
2006-10-31 10:06:56 +08:00
#
2005-09-20 21:26:39 +08:00
# Test program for the tokenizer library
2006-10-31 10:06:56 +08:00
#
2006-06-13 21:43:28 +08:00
tokenizer_test : tokenizer .c tokenizer .h wutil .o common .o
2006-07-19 00:41:55 +08:00
$( CC) $( CFLAGS) tokenizer.c wutil.o common.o -D TOKENIZER_TEST $( LDFLAGS) -o $@
2005-09-20 21:26:39 +08:00
2006-10-31 10:06:56 +08:00
2007-04-22 18:03:12 +08:00
#
# Build the fish_indent program.
#
fish_indent : $( FISH_INDENT_OBJS )
$( CC) $( FISH_INDENT_OBJS) $( LDFLAGS_FISH_INDENT) -o $@
2006-10-31 10:06:56 +08:00
#
2006-01-24 04:40:14 +08:00
# Neat little program to show output from terminal
2006-10-31 10:06:56 +08:00
#
2006-06-13 21:43:28 +08:00
key_reader : key_reader .o input_common .o common .o env_universal .o env_universal_common .o wutil .o
$( CC) key_reader.o input_common.o common.o env_universal.o env_universal_common.o wutil.o $( LDFLAGS) -o $@
2005-09-23 04:16:52 +08:00
2006-10-31 10:06:56 +08:00
2006-01-24 04:40:14 +08:00
#
# Update dependencies
#
2005-09-20 21:26:39 +08:00
depend :
makedepend -fMakefile.in -Y *.c
2006-04-02 19:15:25 +08:00
./config.status
2006-01-24 04:40:14 +08:00
.PHONY : depend
2005-09-20 21:26:39 +08:00
2006-10-31 10:06:56 +08:00
#
2005-09-20 21:26:39 +08:00
# Copy all the source files into a new directory and use tar to create
# an archive from it. Simplest way I could think of to make an archive
# witout backups, autogenerated files, etc.
#
# Uses install instead of mkdir so build won't fail if the directory
# exists
2006-10-31 10:06:56 +08:00
#
2006-11-20 21:53:36 +08:00
fish-@PACKAGE_VERSION@.tar : $( DOC_SRC_DIR_FILES ) $( MAIN_DIR_FILES ) $( ETC_DIR_FILES ) $( TEST_DIR_FILES ) $( SHARE_DIR_FILES ) $( FUNCTIONS_DIR_FILES ) $( COMPLETIONS_DIR_FILES ) ChangeLog user_doc share /man
2005-09-20 21:26:39 +08:00
rm -rf fish-@PACKAGE_VERSION@
$( INSTALL) -d fish-@PACKAGE_VERSION@
$( INSTALL) -d fish-@PACKAGE_VERSION@/doc_src
2006-06-12 19:07:43 +08:00
$( INSTALL) -d fish-@PACKAGE_VERSION@/user_doc
2006-02-17 18:13:39 +08:00
$( INSTALL) -d fish-@PACKAGE_VERSION@/etc
$( INSTALL) -d fish-@PACKAGE_VERSION@/share
$( INSTALL) -d fish-@PACKAGE_VERSION@/share/completions
$( INSTALL) -d fish-@PACKAGE_VERSION@/share/functions
2006-11-18 00:24:38 +08:00
$( INSTALL) -d fish-@PACKAGE_VERSION@/share/man
2005-09-20 21:26:39 +08:00
$( INSTALL) -d fish-@PACKAGE_VERSION@/tests
2006-01-04 21:52:30 +08:00
$( INSTALL) -d fish-@PACKAGE_VERSION@/po
2005-09-20 21:26:39 +08:00
cp -f $( DOC_SRC_DIR_FILES) fish-@PACKAGE_VERSION@/doc_src
cp -f $( MAIN_DIR_FILES) fish-@PACKAGE_VERSION@/
2006-02-17 18:13:39 +08:00
cp -f $( ETC_DIR_FILES) fish-@PACKAGE_VERSION@/etc/
cp -f $( SHARE_DIR_FILES) fish-@PACKAGE_VERSION@/share/
cp -f $( COMPLETIONS_DIR_FILES) fish-@PACKAGE_VERSION@/share/completions/
cp -f $( FUNCTIONS_DIR_FILES) fish-@PACKAGE_VERSION@/share/functions/
2005-09-20 21:26:39 +08:00
cp -f $( TESTS_DIR_FILES) fish-@PACKAGE_VERSION@/tests/
2006-01-04 21:52:30 +08:00
cp -f $( TRANSLATIONS_SRC) fish-@PACKAGE_VERSION@/po/
2006-11-20 21:53:36 +08:00
cp -f share/man/*.1 fish-@PACKAGE_VERSION@/share/man/
2006-06-13 21:43:28 +08:00
cp -rf user_doc fish-@PACKAGE_VERSION@/
2005-09-20 21:26:39 +08:00
tar -c fish-@PACKAGE_VERSION@ >fish-@PACKAGE_VERSION@.tar
rm -rf fish-@PACKAGE_VERSION@
2006-10-31 10:06:56 +08:00
#
# Just an alias for fish-@PACKAGE_VERSION@.tar
#
2006-04-02 19:16:22 +08:00
tar : fish -@PACKAGE_VERSION @.tar
.PHONY : tar
2006-10-31 10:06:56 +08:00
#
# Make compressed tar archives
#
2005-09-20 21:26:39 +08:00
fish-@PACKAGE_VERSION@.tar.gz : fish -@PACKAGE_VERSION @.tar
gzip -f --best -c fish-@PACKAGE_VERSION@.tar >fish-@PACKAGE_VERSION@.tar.gz
fish-@PACKAGE_VERSION@.tar.bz2 : fish -@PACKAGE_VERSION @.tar
bzip2 -f --best -k fish-@PACKAGE_VERSION@.tar
2006-04-02 19:16:22 +08:00
dist : fish -@PACKAGE_VERSION @.tar .bz 2
.PHONY : dist
2006-10-31 10:06:56 +08:00
#
# Build the RPM spec file.
#
fish.spec : fish .spec .in
./config.status
2007-01-27 10:04:06 +08:00
2006-10-31 10:06:56 +08:00
#
2005-09-20 21:26:39 +08:00
# Create .rpm file for the current systems architecture and an
# .src.rpm file.
2006-10-31 10:06:56 +08:00
#
2006-08-09 19:35:54 +08:00
rpm : fish -@PACKAGE_VERSION @.tar .bz 2 fish .spec
2006-08-11 03:49:51 +08:00
@if which rpmbuild; then true; else \
2006-03-27 01:52:37 +08:00
echo Could not find the rpmbuild command, needed to build an rpm; \
echo You may be able to install it using the following command:; \
echo \' yum install rpm-build\' ; \
false; \
fi
2005-09-20 21:26:39 +08:00
cp fish.spec /usr/src/redhat/SPECS/
cp fish-@PACKAGE_VERSION@.tar.bz2 /usr/src/redhat/SOURCES/
rpmbuild -ba --clean /usr/src/redhat/SPECS/fish.spec
mv /usr/src/redhat/RPMS/*/fish*@PACKAGE_VERSION@*.rpm .
mv /usr/src/redhat/SRPMS/fish*@PACKAGE_VERSION@*.src.rpm .
2006-01-24 04:40:14 +08:00
.PHONY : rpm
2006-10-31 23:36:14 +08:00
2006-01-24 04:40:14 +08:00
#
# Cleanup targets
#
2005-09-20 21:26:39 +08:00
2006-10-31 23:36:14 +08:00
#
# distclean should restore the tree to the state right after extracting a tarball.
#
2005-11-04 01:03:48 +08:00
distclean : clean
2006-11-20 21:53:36 +08:00
rm -f fish.spec Doxyfile.help
2006-10-31 23:36:14 +08:00
rm -f etc/config.fish share/config_interactive.fish seq share/config.fish
2005-11-04 01:03:48 +08:00
rm -f config.status config.log config.h Makefile
2006-01-24 04:40:14 +08:00
.PHONY : distclean
2005-11-04 01:03:48 +08:00
2006-10-31 23:36:14 +08:00
#
# clean removes everything built by the makefile, but not things that
# are created by the configure script.
#
2005-09-20 21:26:39 +08:00
clean :
2006-10-31 23:36:14 +08:00
rm -f *.o doc.h doc.tmp doc_src/*.doxygen doc_src/*.c doc_src/*.o doc_src/commands.hdr
2005-11-04 01:03:48 +08:00
rm -f tests/tmp.err tests/tmp.out tests/tmp.status tests/foo.txt
2007-04-22 18:03:12 +08:00
rm -f $( PROGRAMS) fish_tests tokenizer_test key_reader
2005-09-20 21:26:39 +08:00
rm -f fish-@PACKAGE_VERSION@.tar
rm -f fish-@PACKAGE_VERSION@.tar.gz
rm -f fish-@PACKAGE_VERSION@.tar.bz2
rm -rf doc;
rm -rf fish-@PACKAGE_VERSION@
rm -rf xsel-0.9.6/
2006-01-11 01:49:07 +08:00
rm -f $( TRANSLATIONS)
2006-01-24 04:40:14 +08:00
.PHONY : clean
2005-09-20 21:26:39 +08:00
2006-10-31 23:36:14 +08:00
2005-09-20 21:26:39 +08:00
# DO NOT DELETE THIS LINE -- make depend depends on it.
2006-06-13 21:43:28 +08:00
builtin.o : config .h fallback .h util .h wutil .h builtin .h function .h complete .h
builtin.o : proc .h io .h parser .h event .h reader .h env .h common .h wgetopt .h
builtin.o : sanity .h tokenizer .h wildcard .h input_common .h input .h intern .h
2006-10-19 19:50:23 +08:00
builtin.o : signal .h halloc .h halloc_util .h parse_util .h expand .h path .h
2006-11-18 00:24:38 +08:00
builtin.o : builtin_set .c builtin_commandline .c builtin_complete .c
builtin.o : builtin_ulimit .c builtin_jobs .c
2006-10-09 23:19:48 +08:00
builtin_commandline.o : config .h signal .h fallback .h util .h wutil .h builtin .h
2006-06-13 21:43:28 +08:00
builtin_commandline.o : common .h wgetopt .h reader .h proc .h io .h parser .h
2006-07-20 21:30:45 +08:00
builtin_commandline.o : event .h tokenizer .h input_common .h input .h
2006-02-18 10:34:32 +08:00
builtin_commandline.o : parse_util .h
2006-10-09 23:19:48 +08:00
builtin_complete.o : config .h signal .h fallback .h util .h wutil .h builtin .h
2006-06-13 21:43:28 +08:00
builtin_complete.o : common .h complete .h wgetopt .h parser .h proc .h io .h
2006-07-20 21:30:45 +08:00
builtin_complete.o : event .h reader .h
2006-06-13 21:43:28 +08:00
builtin_jobs.o : config .h fallback .h util .h wutil .h builtin .h proc .h io .h
2006-07-20 21:30:45 +08:00
builtin_jobs.o : parser .h event .h common .h wgetopt .h
2006-10-09 23:19:48 +08:00
builtin_set.o : config .h signal .h fallback .h util .h wutil .h builtin .h env .h
2006-06-13 21:43:28 +08:00
builtin_set.o : expand .h common .h wgetopt .h proc .h io .h parser .h event .h
builtin_ulimit.o : config .h fallback .h util .h builtin .h common .h wgetopt .h
common.o : config .h fallback .h util .h wutil .h common .h expand .h proc .h io .h
common.o : wildcard .h parser .h event .h util .c halloc .c halloc .h halloc_util .c
common.o : fallback .c
2006-10-09 23:19:48 +08:00
complete.o : config .h signal .h fallback .h util .h tokenizer .h wildcard .h proc .h
2006-06-13 21:43:28 +08:00
complete.o : io .h parser .h event .h function .h complete .h builtin .h env .h
2006-07-20 21:30:45 +08:00
complete.o : exec .h expand .h common .h reader .h history .h intern .h parse_util .h
2006-10-19 19:50:23 +08:00
complete.o : halloc .h halloc_util .h wutil .h path .h
2006-06-13 21:43:28 +08:00
env.o : config .h signal .h fallback .h util .h wutil .h proc .h io .h common .h env .h
2006-04-02 19:16:22 +08:00
env.o : sanity .h expand .h history .h reader .h parser .h event .h env_universal .h
2006-07-20 21:30:45 +08:00
env.o : env_universal_common .h input_common .h complete .h
2006-06-13 21:43:28 +08:00
env_universal.o : config .h signal .h fallback .h util .h common .h wutil .h
2006-01-04 20:51:02 +08:00
env_universal.o : env_universal_common .h env_universal .h
2006-06-13 21:43:28 +08:00
env_universal_common.o : config .h signal .h fallback .h util .h common .h wutil .h
2006-01-04 20:51:02 +08:00
env_universal_common.o : env_universal_common .h
2006-10-09 23:19:48 +08:00
event.o : config .h signal .h fallback .h util .h wutil .h function .h proc .h io .h
2006-07-20 21:30:45 +08:00
event.o : parser .h event .h common .h halloc_util .h
2006-10-09 23:19:48 +08:00
exec.o : config .h signal .h fallback .h util .h common .h wutil .h proc .h io .h
2006-04-02 19:16:22 +08:00
exec.o : exec .h parser .h event .h builtin .h function .h env .h wildcard .h
2006-11-18 00:24:38 +08:00
exec.o : sanity .h expand .h halloc .h halloc_util .h parse_util .h
2006-10-09 23:19:48 +08:00
expand.o : config .h signal .h fallback .h util .h common .h wutil .h env .h proc .h
2006-04-02 19:16:22 +08:00
expand.o : io .h parser .h event .h expand .h wildcard .h exec .h tokenizer .h
2006-10-09 23:19:48 +08:00
expand.o : complete .h parse_util .h halloc .h halloc_util .h
2006-06-13 21:43:28 +08:00
fallback.o : config .h fallback .h util .h
fishd.o : config .h signal .h fallback .h util .h common .h wutil .h
2006-10-19 19:50:23 +08:00
fishd.o : env_universal_common .h halloc .h halloc_util .h path .h
2006-06-13 21:43:28 +08:00
fish_pager.o : config .h signal .h fallback .h util .h wutil .h common .h complete .h
2006-04-02 19:16:22 +08:00
fish_pager.o : output .h input_common .h env_universal .h env_universal_common .h
fish_pager.o : halloc .h halloc_util .h
2006-06-13 21:43:28 +08:00
fish_tests.o : config .h signal .h fallback .h util .h common .h proc .h io .h
2006-04-02 19:16:22 +08:00
fish_tests.o : reader .h builtin .h function .h complete .h wutil .h env .h expand .h
fish_tests.o : parser .h event .h tokenizer .h output .h exec .h halloc_util .h
2006-10-09 23:19:48 +08:00
function.o : config .h signal .h wutil .h fallback .h util .h function .h proc .h
2006-07-20 21:30:45 +08:00
function.o : io .h parser .h event .h common .h intern .h reader .h parse_util .h
2006-11-18 00:24:38 +08:00
function.o : env .h expand .h halloc .h halloc_util .h
2006-06-13 21:43:28 +08:00
halloc.o : config .h fallback .h util .h common .h halloc .h
halloc_util.o : config .h fallback .h util .h common .h halloc .h
2006-10-09 23:19:48 +08:00
highlight.o : config .h signal .h fallback .h util .h wutil .h highlight .h
2006-04-02 19:16:22 +08:00
highlight.o : tokenizer .h proc .h io .h parser .h event .h parse_util .h builtin .h
2006-06-13 21:43:28 +08:00
highlight.o : function .h env .h expand .h sanity .h common .h complete .h output .h
2006-10-19 19:50:23 +08:00
highlight.o : halloc .h halloc_util .h wildcard .h path .h
2006-10-26 00:39:50 +08:00
history2.o : config .h fallback .h util .h wutil .h history .h common .h halloc .h
history2.o : halloc_util .h intern .h path .h
history.o : config .h fallback .h util .h wutil .h history .h common .h halloc .h
history.o : halloc_util .h intern .h path .h signal .h
2006-06-13 21:43:28 +08:00
input.o : config .h signal .h fallback .h util .h wutil .h reader .h proc .h io .h
input.o : common .h sanity .h input_common .h input .h parser .h event .h env .h
2006-07-20 21:30:45 +08:00
input.o : expand .h output .h intern .h
2006-06-13 21:43:28 +08:00
input_common.o : config .h fallback .h util .h common .h wutil .h input_common .h
2005-09-20 21:26:39 +08:00
input_common.o : env_universal .h env_universal_common .h
2006-06-13 21:43:28 +08:00
intern.o : config .h fallback .h util .h wutil .h common .h intern .h
2006-07-20 21:30:45 +08:00
io.o : config .h fallback .h util .h wutil .h exec .h proc .h io .h common .h halloc .h
2006-06-13 21:43:28 +08:00
key_reader.o : config .h fallback .h input_common .h
2006-10-09 23:19:48 +08:00
kill.o : config .h signal .h fallback .h util .h wutil .h kill .h proc .h io .h
2006-10-19 19:50:23 +08:00
kill.o : sanity .h common .h env .h exec .h halloc .h path .h
2006-06-13 21:43:28 +08:00
main.o : config .h signal .h fallback .h util .h common .h reader .h builtin .h
2006-04-02 19:16:22 +08:00
main.o : function .h complete .h wutil .h env .h sanity .h proc .h io .h parser .h
2006-10-19 19:50:23 +08:00
main.o : event .h expand .h intern .h exec .h output .h halloc .h halloc_util .h
main.o : history .h path .h
2006-06-13 21:43:28 +08:00
mimedb.o : config .h xdgmime .h fallback .h util .h
output.o : config .h signal .h fallback .h util .h wutil .h expand .h common .h
2006-04-02 19:16:22 +08:00
output.o : output .h halloc_util .h highlight .h
2006-10-09 23:19:48 +08:00
parser.o : config .h signal .h fallback .h util .h common .h wutil .h proc .h io .h
2006-04-02 19:16:22 +08:00
parser.o : parser .h event .h tokenizer .h exec .h wildcard .h function .h builtin .h
2006-06-13 21:43:28 +08:00
parser.o : env .h expand .h reader .h sanity .h env_universal .h
2006-07-20 21:30:45 +08:00
parser.o : env_universal_common .h intern .h parse_util .h halloc .h halloc_util .h
2006-10-19 19:50:23 +08:00
parser.o : path .h
2006-06-13 21:43:28 +08:00
parse_util.o : config .h fallback .h util .h wutil .h common .h tokenizer .h
2006-04-02 19:16:22 +08:00
parse_util.o : parse_util .h expand .h intern .h exec .h proc .h io .h env .h
2006-11-18 00:24:38 +08:00
parse_util.o : signal .h wildcard .h halloc_util .h
2006-10-19 19:50:23 +08:00
path.o : config .h fallback .h util .h common .h env .h wutil .h halloc .h
path.o : halloc_util .h path .h expand .h
2006-06-13 21:43:28 +08:00
proc.o : config .h signal .h fallback .h util .h wutil .h proc .h io .h common .h
2006-07-20 21:30:45 +08:00
proc.o : reader .h sanity .h env .h parser .h event .h halloc .h halloc_util .h
proc.o : output .h
2006-06-13 21:43:28 +08:00
reader.o : config .h signal .h fallback .h util .h wutil .h highlight .h reader .h
reader.o : proc .h io .h parser .h event .h complete .h history .h common .h sanity .h
2006-04-02 19:16:22 +08:00
reader.o : env .h exec .h expand .h tokenizer .h kill .h input_common .h input .h
2006-10-09 23:19:48 +08:00
reader.o : function .h output .h screen .h parse_util .h
sanity.o : config .h signal .h fallback .h util .h common .h sanity .h proc .h io .h
2006-07-20 21:30:45 +08:00
sanity.o : history .h reader .h kill .h wutil .h
2006-10-09 23:19:48 +08:00
screen.o : config .h fallback .h common .h util .h wutil .h output .h highlight .h
2006-11-18 00:24:38 +08:00
screen.o : screen .h env .h
set_color.o : config .h fallback .h print_help .h
2006-04-02 19:16:22 +08:00
signal.o : config .h signal .h common .h util .h fallback .h wutil .h event .h
2006-07-20 21:30:45 +08:00
signal.o : reader .h proc .h io .h
test.o : stringtab .h
2006-06-13 21:43:28 +08:00
tokenizer.o : config .h fallback .h util .h wutil .h tokenizer .h common .h
2006-07-20 21:30:45 +08:00
tokenizer.o : wildcard .h
2006-06-13 21:43:28 +08:00
util.o : config .h fallback .h util .h common .h wutil .h
2006-07-20 21:30:45 +08:00
wgetopt.o : config .h wgetopt .h wutil .h fallback .h
2006-06-13 21:43:28 +08:00
wildcard.o : config .h fallback .h util .h wutil .h complete .h common .h wildcard .h
2006-07-20 21:30:45 +08:00
wildcard.o : reader .h expand .h
wutil.o : config .h fallback .h util .h common .h wutil .h halloc .h halloc_util .h
2005-09-20 21:26:39 +08:00
xdgmimealias.o : xdgmimealias .h xdgmime .h xdgmimeint .h
xdgmime.o : xdgmime .h xdgmimeint .h xdgmimeglob .h xdgmimemagic .h xdgmimealias .h
xdgmime.o : xdgmimeparent .h
xdgmimeglob.o : xdgmimeglob .h xdgmime .h xdgmimeint .h
xdgmimeint.o : xdgmimeint .h xdgmime .h
xdgmimemagic.o : xdgmimemagic .h xdgmime .h xdgmimeint .h
xdgmimeparent.o : xdgmimeparent .h xdgmime .h xdgmimeint .h