1# $NetBSD: Makefile,v 1.32 2024/01/04 13:20:22 uwe Exp $ 2 3.include <bsd.own.mk> 4 5SRCDIR= ${NETBSDSRCDIR}/external/bsd/tmux/dist 6.PATH: ${SRCDIR} 7.PATH: ${SRCDIR}/compat 8 9BINDIR= /usr/bin 10PROG= tmux 11MAN= tmux.1 12 13WARNS?= 4 14 15SRCS+= \ 16alerts.c \ 17arguments.c \ 18attributes.c \ 19cfg.c \ 20client.c \ 21cmd-attach-session.c \ 22cmd-bind-key.c \ 23cmd-break-pane.c \ 24cmd-capture-pane.c \ 25cmd-choose-tree.c \ 26cmd-command-prompt.c \ 27cmd-confirm-before.c \ 28cmd-copy-mode.c \ 29cmd-detach-client.c \ 30cmd-display-menu.c \ 31cmd-display-message.c \ 32cmd-display-panes.c \ 33cmd-find-window.c \ 34cmd-find.c \ 35cmd-if-shell.c \ 36cmd-join-pane.c \ 37cmd-kill-pane.c \ 38cmd-kill-server.c \ 39cmd-kill-session.c \ 40cmd-kill-window.c \ 41cmd-list-buffers.c \ 42cmd-list-clients.c \ 43cmd-list-keys.c \ 44cmd-list-panes.c \ 45cmd-list-sessions.c \ 46cmd-list-windows.c \ 47cmd-load-buffer.c \ 48cmd-lock-server.c \ 49cmd-move-window.c \ 50cmd-new-session.c \ 51cmd-new-window.c \ 52cmd-parse.y \ 53cmd-paste-buffer.c \ 54cmd-pipe-pane.c \ 55cmd-queue.c \ 56cmd-refresh-client.c \ 57cmd-rename-session.c \ 58cmd-rename-window.c \ 59cmd-resize-pane.c \ 60cmd-resize-window.c \ 61cmd-respawn-pane.c \ 62cmd-respawn-window.c \ 63cmd-rotate-window.c \ 64cmd-run-shell.c \ 65cmd-save-buffer.c \ 66cmd-select-layout.c \ 67cmd-select-pane.c \ 68cmd-select-window.c \ 69cmd-send-keys.c \ 70cmd-server-access.c \ 71cmd-set-buffer.c \ 72cmd-set-environment.c \ 73cmd-set-option.c \ 74cmd-show-environment.c \ 75cmd-show-messages.c \ 76cmd-show-options.c \ 77cmd-show-prompt-history.c \ 78cmd-source-file.c \ 79cmd-split-window.c \ 80cmd-swap-pane.c \ 81cmd-swap-window.c \ 82cmd-switch-client.c \ 83cmd-unbind-key.c \ 84cmd-wait-for.c \ 85cmd.c \ 86colour.c \ 87control-notify.c \ 88control.c \ 89environ.c \ 90file.c \ 91format-draw.c \ 92format.c \ 93grid-reader.c \ 94grid-view.c \ 95grid.c \ 96input-keys.c \ 97input.c \ 98job.c \ 99key-bindings.c \ 100key-string.c \ 101layout-custom.c \ 102layout-set.c \ 103layout.c \ 104log.c \ 105menu.c \ 106mode-tree.c \ 107names.c \ 108notify.c \ 109options-table.c \ 110options.c \ 111osdep-netbsd.c \ 112paste.c \ 113popup.c \ 114proc.c \ 115regsub.c \ 116resize.c \ 117screen-redraw.c \ 118screen-write.c \ 119screen.c \ 120server-acl.c \ 121server-client.c \ 122server-fn.c \ 123server.c \ 124session.c \ 125spawn.c \ 126status.c \ 127style.c \ 128tmux.c \ 129tty-acs.c \ 130tty-features.c \ 131tty-keys.c \ 132tty-term.c \ 133tty.c \ 134utf8.c \ 135window-buffer.c \ 136window-client.c \ 137window-clock.c \ 138window-copy.c \ 139window-customize.c \ 140window-tree.c \ 141window.c \ 142xmalloc.c 143 144SRCS+= utempter.c 145CPPFLAGS+=-DSUPPORT_UTMP -DSUPPORT_UTMPX 146 147# Files in compat/ 148SRCS+= imsg-buffer.c 149SRCS+= imsg.c 150SRCS+= fdforkpty.c 151SRCS+= freezero.c 152SRCS+= explicit_bzero.c 153SRCS+= recallocarray.c 154SRCS+= getdtablecount.c 155#SRCS+= strtonum.c 156#SRCS+= unvis.c 157#SRCS+= vis.c 158 159CPPFLAGS+= -I${SRCDIR} -I${.CURDIR} 160 161# The following flags have been extracted from the compiler command-line 162# generated by Automake and Autoconf when building tmux under NetBSD. 163# Would be nicer to stick this in a config.h file, but the upstream code 164# does not use one at this moment. 165 166# HAVE_REALLOCARRAY, HAVE_TREE_H, HAVE_VIS added manually; HAVE_BSD_GETOPT_H necessary due to local patches 167CPPFLAGS+= \ 168-DHAVE_ASPRINTF=1 \ 169-DHAVE_B64_NTOP=1 \ 170-DHAVE_BITSTRING_H=1 \ 171-DHAVE_BSD_GETOPT=1 \ 172-DHAVE_CFMAKERAW=1 \ 173-DHAVE_CLOCK_GETTIME=1 \ 174-DHAVE_CLOSEFROM=1 \ 175-DHAVE_CURSES_H=1 \ 176-DHAVE_DAEMON=1 \ 177-DHAVE_DIRENT_H=1 \ 178-DHAVE_EVENT2_EVENT_H=1 \ 179-DHAVE_FCNTL_CLOSEM=1 \ 180-DHAVE_FCNTL_H=1 \ 181-DHAVE_FGETLN=1 \ 182-DHAVE_FLOCK=1 \ 183-DHAVE_FORKPTY=1 \ 184-DHAVE_GETDTABLESIZE=1 \ 185-DHAVE_GETLINE=1 \ 186-DHAVE_GETPEEREID=1 \ 187-DHAVE_GETPROGNAME=1 \ 188-DHAVE_INTTYPES_H=1 \ 189-DHAVE_LIBM=1 \ 190-DHAVE_LIBPROC_H=1 \ 191-DHAVE_MEMMEM=1 \ 192-DHAVE_MEMORY_H=1 \ 193-DHAVE_PATHS_H=1 \ 194-DHAVE_PROC_PID=1 \ 195-DHAVE_QUEUE_H=1 \ 196-DHAVE_REALLOCARRAY=1 \ 197-DHAVE_SETENV=1 \ 198-DHAVE_SETPROCTITLE=1 \ 199-DHAVE_STDINT_H=1 \ 200-DHAVE_STDLIB_H=1 \ 201-DHAVE_STRCASESTR=1 \ 202-DHAVE_STRINGS_H=1 \ 203-DHAVE_STRING_H=1 \ 204-DHAVE_STRLCAT=1 \ 205-DHAVE_STRLCPY=1 \ 206-DHAVE_STRNDUP=1 \ 207-DHAVE_STRSEP=1 \ 208-DHAVE_STRTONUM=1 \ 209-DHAVE_SYSCONF=1 \ 210-DHAVE_SYS_DIR_H=1 \ 211-DHAVE_SYS_SIGNAME=1 \ 212-DHAVE_SYS_STAT_H=1 \ 213-DHAVE_SYS_TREE_H=1 \ 214-DHAVE_SYS_TYPES_H=1 \ 215-DHAVE_TREE_H=1 \ 216-DHAVE_UNISTD_H=1 \ 217-DHAVE_UTIL_H=1 \ 218-DHAVE_VIS=1 \ 219-DHAVE___PROGNAME=1 \ 220-DPACKAGE=\"tmux\" \ 221-DPACKAGE_BUGREPORT=\"\" \ 222-DPACKAGE_NAME=\"tmux\" \ 223-DPACKAGE_STRING=\"tmux\ 3.3a\" \ 224-DPACKAGE_TARNAME=\"tmux\" \ 225-DPACKAGE_URL=\"\" \ 226-DPACKAGE_VERSION=\"3.3a\" \ 227-DSTDC_HEADERS=1 \ 228-DTMUX_CONF='"/etc/tmux.conf:~/.tmux.conf:$XDG_CONFIG_HOME/tmux/tmux.conf:~/.config/tmux/tmux.conf"' \ 229-DTMUX_TERM='"tmux-256color"' \ 230-DTMUX_VERSION='"3.3a"' \ 231-DVERSION=\"3.3a\" \ 232-D_ALL_SOURCE=1 \ 233-D_FORTIFY_SOURCE=2 \ 234-D_GNU_SOURCE=1 \ 235-D_OPENBSD_SOURCE \ 236-D_POSIX_PTHREAD_SEMANTICS=1 \ 237-D_TANDEM_SOURCE=1 \ 238-D__EXTENSIONS__=1 239 240LDADD+= -levent -lterminfo -lutil -lm 241DPADD+= ${LIBEVENT} ${LIBTERMINFO} ${LIBUTIL} 242 243COPTS.format.c += -Wno-format-nonliteral 244COPTS.input.c += -Wno-sign-compare -Wno-pointer-sign 245COPTS.notify.c += -Wno-sign-compare 246COPTS.tty.c += -Wno-pointer-sign 247COPTS.utempter.c+= ${CC_WNO_STRINGOP_TRUNCATION} 248COPTS.window-copy.c+= ${CC_WNO_MAYBE_UNINITIALIZED} -Wno-pointer-sign 249 250# The man page needs substitutions, but the dist file usurps the 251# output file suffix. 252.NOPATH: tmux.1 253tmux.1: $(SRCDIR)/tmux.1 254 sed -e 's|@SYSCONFDIR@|/etc|g' $> > $@ 255 256.include <bsd.prog.mk> 257