2015-09-14 14:59:21 +00:00
|
|
|
# Makefile.am
|
2010-12-31 22:12:33 +00:00
|
|
|
|
|
|
|
# Obvious program stuff.
|
|
|
|
bin_PROGRAMS = tmux
|
2013-05-15 15:27:30 +00:00
|
|
|
CLEANFILES = tmux.1.mdoc tmux.1.man
|
2010-12-31 22:12:33 +00:00
|
|
|
|
|
|
|
# Distribution tarball options.
|
2011-01-03 23:40:21 +00:00
|
|
|
EXTRA_DIST = \
|
2017-06-08 12:29:36 +00:00
|
|
|
CHANGES README COPYING example_tmux.conf compat/*.[ch] \
|
2016-10-18 19:34:18 +00:00
|
|
|
osdep-*.c mdoc2man.awk tmux.1
|
2010-12-31 22:12:33 +00:00
|
|
|
|
2011-01-21 20:35:20 +00:00
|
|
|
# Preprocessor flags.
|
2016-10-19 14:20:21 +00:00
|
|
|
AM_CPPFLAGS += @XOPEN_DEFINES@ -DTMUX_CONF="\"$(sysconfdir)/tmux.conf\""
|
2011-01-21 20:35:20 +00:00
|
|
|
|
2017-03-22 19:22:32 +00:00
|
|
|
# Additional object files.
|
|
|
|
LDADD = $(LIBOBJS)
|
|
|
|
|
2015-06-04 07:50:20 +00:00
|
|
|
# Set flags for gcc.
|
2010-12-31 22:12:33 +00:00
|
|
|
if IS_GCC
|
2016-10-19 14:20:21 +00:00
|
|
|
AM_CFLAGS += -std=gnu99 -O2
|
2010-12-31 22:12:33 +00:00
|
|
|
if IS_DEBUG
|
2016-10-19 14:20:21 +00:00
|
|
|
AM_CFLAGS += -g
|
|
|
|
AM_CFLAGS += -Wno-long-long -Wall -W -Wformat=2
|
|
|
|
AM_CFLAGS += -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations
|
|
|
|
AM_CFLAGS += -Wwrite-strings -Wshadow -Wpointer-arith -Wsign-compare
|
|
|
|
AM_CFLAGS += -Wundef -Wbad-function-cast -Winline -Wcast-align
|
|
|
|
AM_CFLAGS += -Wdeclaration-after-statement -Wno-pointer-sign -Wno-attributes
|
2017-02-15 08:54:21 +00:00
|
|
|
AM_CFLAGS += -Wno-unused-result
|
2016-10-19 14:20:21 +00:00
|
|
|
AM_CPPFLAGS += -DDEBUG
|
2010-12-31 22:12:33 +00:00
|
|
|
endif
|
2016-10-19 14:20:21 +00:00
|
|
|
AM_CPPFLAGS += -iquote.
|
2010-12-31 22:12:33 +00:00
|
|
|
endif
|
|
|
|
|
|
|
|
# Set flags for Solaris.
|
|
|
|
if IS_SUNOS
|
2013-06-25 08:35:42 +00:00
|
|
|
if IS_GCC
|
2017-03-22 07:49:27 +00:00
|
|
|
AM_CPPFLAGS += -D_XPG6
|
2013-06-25 08:35:42 +00:00
|
|
|
else
|
2017-03-22 07:49:27 +00:00
|
|
|
AM_CPPFLAGS += -D_XPG4_2
|
2010-12-31 22:12:33 +00:00
|
|
|
endif
|
2013-06-25 08:35:42 +00:00
|
|
|
endif
|
2010-12-31 22:12:33 +00:00
|
|
|
|
|
|
|
# Set flags for Sun CC.
|
|
|
|
if IS_SUNCC
|
2016-10-19 14:20:21 +00:00
|
|
|
AM_CFLAGS += -erroff=E_EMPTY_DECLARATION
|
2010-12-31 22:12:33 +00:00
|
|
|
endif
|
|
|
|
|
2016-03-17 15:11:40 +00:00
|
|
|
# Set _LINUX_SOURCE_COMPAT for AIX for malloc(0).
|
2015-07-14 07:14:35 +00:00
|
|
|
if IS_AIX
|
2017-03-22 07:54:30 +00:00
|
|
|
AM_CPPFLAGS += -D_LINUX_SOURCE_COMPAT=1
|
2015-07-14 07:14:35 +00:00
|
|
|
endif
|
|
|
|
|
2016-10-12 09:52:04 +00:00
|
|
|
# Set flags for NetBSD.
|
|
|
|
if IS_NETBSD
|
2016-10-19 14:20:21 +00:00
|
|
|
AM_CPPFLAGS += -D_OPENBSD_SOURCE
|
2016-10-12 09:52:04 +00:00
|
|
|
endif
|
|
|
|
|
2010-12-31 22:12:33 +00:00
|
|
|
# List of sources.
|
|
|
|
dist_tmux_SOURCES = \
|
2015-08-30 20:44:01 +00:00
|
|
|
alerts.c \
|
2011-01-07 14:46:13 +00:00
|
|
|
arguments.c \
|
2010-12-31 22:12:33 +00:00
|
|
|
attributes.c \
|
|
|
|
cfg.c \
|
|
|
|
client.c \
|
|
|
|
cmd-attach-session.c \
|
|
|
|
cmd-bind-key.c \
|
|
|
|
cmd-break-pane.c \
|
|
|
|
cmd-capture-pane.c \
|
2012-07-11 17:15:23 +00:00
|
|
|
cmd-choose-tree.c \
|
2010-12-31 22:12:33 +00:00
|
|
|
cmd-command-prompt.c \
|
|
|
|
cmd-confirm-before.c \
|
|
|
|
cmd-copy-mode.c \
|
|
|
|
cmd-detach-client.c \
|
|
|
|
cmd-display-message.c \
|
|
|
|
cmd-display-panes.c \
|
|
|
|
cmd-find-window.c \
|
2016-10-18 19:34:18 +00:00
|
|
|
cmd-find.c \
|
2010-12-31 22:12:33 +00:00
|
|
|
cmd-if-shell.c \
|
|
|
|
cmd-join-pane.c \
|
|
|
|
cmd-kill-pane.c \
|
|
|
|
cmd-kill-server.c \
|
|
|
|
cmd-kill-session.c \
|
|
|
|
cmd-kill-window.c \
|
|
|
|
cmd-list-buffers.c \
|
|
|
|
cmd-list-clients.c \
|
|
|
|
cmd-list-keys.c \
|
|
|
|
cmd-list-panes.c \
|
|
|
|
cmd-list-sessions.c \
|
|
|
|
cmd-list-windows.c \
|
|
|
|
cmd-list.c \
|
|
|
|
cmd-load-buffer.c \
|
|
|
|
cmd-lock-server.c \
|
|
|
|
cmd-move-window.c \
|
|
|
|
cmd-new-session.c \
|
|
|
|
cmd-new-window.c \
|
|
|
|
cmd-paste-buffer.c \
|
|
|
|
cmd-pipe-pane.c \
|
2013-02-23 22:25:58 +00:00
|
|
|
cmd-queue.c \
|
2010-12-31 22:12:33 +00:00
|
|
|
cmd-refresh-client.c \
|
|
|
|
cmd-rename-session.c \
|
|
|
|
cmd-rename-window.c \
|
|
|
|
cmd-resize-pane.c \
|
2011-06-23 19:23:12 +00:00
|
|
|
cmd-respawn-pane.c \
|
2010-12-31 22:12:33 +00:00
|
|
|
cmd-respawn-window.c \
|
|
|
|
cmd-rotate-window.c \
|
|
|
|
cmd-run-shell.c \
|
|
|
|
cmd-save-buffer.c \
|
|
|
|
cmd-select-layout.c \
|
|
|
|
cmd-select-pane.c \
|
|
|
|
cmd-select-window.c \
|
|
|
|
cmd-send-keys.c \
|
|
|
|
cmd-set-buffer.c \
|
|
|
|
cmd-set-environment.c \
|
2015-12-08 07:11:09 +00:00
|
|
|
cmd-set-hook.c \
|
2010-12-31 22:12:33 +00:00
|
|
|
cmd-set-option.c \
|
|
|
|
cmd-show-environment.c \
|
|
|
|
cmd-show-messages.c \
|
|
|
|
cmd-show-options.c \
|
|
|
|
cmd-source-file.c \
|
|
|
|
cmd-split-window.c \
|
|
|
|
cmd-string.c \
|
|
|
|
cmd-swap-pane.c \
|
|
|
|
cmd-swap-window.c \
|
|
|
|
cmd-switch-client.c \
|
|
|
|
cmd-unbind-key.c \
|
2013-03-06 09:57:26 +00:00
|
|
|
cmd-wait-for.c \
|
2010-12-31 22:12:33 +00:00
|
|
|
cmd.c \
|
|
|
|
colour.c \
|
2016-10-18 19:34:18 +00:00
|
|
|
compat.h \
|
2012-09-04 21:50:16 +00:00
|
|
|
control-notify.c \
|
2016-10-18 19:34:18 +00:00
|
|
|
control.c \
|
2010-12-31 22:12:33 +00:00
|
|
|
environ.c \
|
2011-09-21 16:32:31 +00:00
|
|
|
format.c \
|
2010-12-31 22:12:33 +00:00
|
|
|
grid-view.c \
|
|
|
|
grid.c \
|
2015-12-08 07:11:09 +00:00
|
|
|
hooks.c \
|
2010-12-31 22:12:33 +00:00
|
|
|
input-keys.c \
|
|
|
|
input.c \
|
|
|
|
job.c \
|
|
|
|
key-bindings.c \
|
|
|
|
key-string.c \
|
|
|
|
layout-custom.c \
|
|
|
|
layout-set.c \
|
|
|
|
layout.c \
|
|
|
|
log.c \
|
Rewrite of choose mode, both to simplify and tidy the code and to add
some modern features.
Now the common code is in mode-tree.c, which provides an API used by the
three modes now separated into window-{buffer,client,tree}.c. Buffer
mode shows buffers, client mode clients and tree mode a tree of
sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific
to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content
(very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them
(for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session,
window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this
is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird
with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in
the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
2017-05-30 21:44:59 +00:00
|
|
|
mode-tree.c \
|
2010-12-31 22:12:33 +00:00
|
|
|
names.c \
|
2012-03-18 02:24:33 +00:00
|
|
|
notify.c \
|
2011-01-03 23:54:51 +00:00
|
|
|
options-table.c \
|
2010-12-31 22:12:33 +00:00
|
|
|
options.c \
|
|
|
|
paste.c \
|
2015-10-27 23:27:26 +00:00
|
|
|
proc.c \
|
2010-12-31 22:12:33 +00:00
|
|
|
resize.c \
|
|
|
|
screen-redraw.c \
|
|
|
|
screen-write.c \
|
|
|
|
screen.c \
|
|
|
|
server-client.c \
|
|
|
|
server-fn.c \
|
|
|
|
server.c \
|
|
|
|
session.c \
|
|
|
|
status.c \
|
2014-01-31 21:47:54 +00:00
|
|
|
style.c \
|
2010-12-31 22:12:33 +00:00
|
|
|
tmux.c \
|
2016-10-18 19:34:18 +00:00
|
|
|
tmux.h \
|
2010-12-31 22:12:33 +00:00
|
|
|
tty-acs.c \
|
|
|
|
tty-keys.c \
|
|
|
|
tty-term.c \
|
|
|
|
tty.c \
|
|
|
|
utf8.c \
|
Rewrite of choose mode, both to simplify and tidy the code and to add
some modern features.
Now the common code is in mode-tree.c, which provides an API used by the
three modes now separated into window-{buffer,client,tree}.c. Buffer
mode shows buffers, client mode clients and tree mode a tree of
sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific
to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content
(very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them
(for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session,
window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this
is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird
with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in
the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
2017-05-30 21:44:59 +00:00
|
|
|
window-buffer.c \
|
|
|
|
window-client.c \
|
2010-12-31 22:12:33 +00:00
|
|
|
window-clock.c \
|
|
|
|
window-copy.c \
|
Rewrite of choose mode, both to simplify and tidy the code and to add
some modern features.
Now the common code is in mode-tree.c, which provides an API used by the
three modes now separated into window-{buffer,client,tree}.c. Buffer
mode shows buffers, client mode clients and tree mode a tree of
sessions, windows and panes.
Each mode has a common set of key bindings plus a few that are specific
to the mode. Other changes are:
- each mode has a preview pane: for buffers this is the buffer content
(very useful), for others it is a preview of the pane;
- items may be sorted in different ways ('O' key);
- multiple items may be tagged and an operation applied to all of them
(for example, to delete multiple buffers at once);
- in tree mode a command may be run on the selected item (session,
window, pane) or on tagged items (key ':');
- displayed items may be filtered in tree mode by using a format (this
is used to implement find-window) (key 'f');
- the custom format (-F) for the display is no longer available;
- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird
with keys used for other uses to 0-9, M-a to M-z.
Now that the code is simpler, other improvements will come later.
Primary key bindings for each mode are documented under the commands in
the man page (choose-buffer, choose-client, choose-tree).
Parts written by Thomas Adam.
2017-05-30 21:44:59 +00:00
|
|
|
window-tree.c \
|
2010-12-31 22:12:33 +00:00
|
|
|
window.c \
|
|
|
|
xmalloc.c \
|
2016-10-18 19:34:18 +00:00
|
|
|
xmalloc.h \
|
2010-12-31 22:12:33 +00:00
|
|
|
xterm-keys.c
|
2011-01-03 23:40:21 +00:00
|
|
|
nodist_tmux_SOURCES = osdep-@PLATFORM@.c
|
2010-12-31 22:12:33 +00:00
|
|
|
|
2017-03-22 19:22:32 +00:00
|
|
|
# Add compat file for forkpty.
|
|
|
|
if NEED_FORKPTY
|
|
|
|
nodist_tmux_SOURCES += compat/forkpty-@PLATFORM@.c
|
|
|
|
endif
|
|
|
|
|
2016-09-01 19:40:03 +00:00
|
|
|
# Add compat file for utf8proc.
|
|
|
|
if HAVE_UTF8PROC
|
|
|
|
nodist_tmux_SOURCES += compat/utf8proc.c
|
|
|
|
endif
|
|
|
|
|
2013-05-15 15:27:30 +00:00
|
|
|
# Install tmux.1 in the right format.
|
|
|
|
install-exec-hook:
|
2013-04-16 10:33:53 +00:00
|
|
|
if test x@MANFORMAT@ = xmdoc; then \
|
2013-05-15 15:50:15 +00:00
|
|
|
sed -e "s|@SYSCONFDIR@|$(sysconfdir)|g" $(srcdir)/tmux.1 \
|
|
|
|
>$(srcdir)/tmux.1.mdoc; \
|
2013-04-16 10:33:53 +00:00
|
|
|
else \
|
2013-05-15 15:50:15 +00:00
|
|
|
sed -e "s|@SYSCONFDIR@|$(sysconfdir)|g" $(srcdir)/tmux.1| \
|
2014-06-18 07:21:08 +00:00
|
|
|
$(AWK) -f$(srcdir)/mdoc2man.awk >$(srcdir)/tmux.1.man; \
|
2013-04-16 10:33:53 +00:00
|
|
|
fi
|
2014-06-19 22:15:06 +00:00
|
|
|
$(mkdir_p) $(DESTDIR)$(mandir)/man1
|
2013-05-15 15:50:15 +00:00
|
|
|
$(INSTALL_DATA) $(srcdir)/tmux.1.@MANFORMAT@ \
|
|
|
|
$(DESTDIR)$(mandir)/man1/tmux.1
|