Edit

IABSD.fr/xenocara/app/xterm/Makefile.in

Branch :

  • Show log

    Commit

  • Author : matthieu
    Date : 2026-02-08 09:42:33
    Hash : caf8a778
    Message : Update to xterm-406. Tested by kirill@ and tb, ok tb@

  • app/xterm/Makefile.in
  • ## $XTermId: Makefile.in,v 1.269 2025/11/20 00:25:51 tom Exp $
    # -----------------------------------------------------------------------------
    # this file is part of xterm
    #
    # Copyright 1997-2023,2025 by Thomas E. Dickey
    #
    #                         All Rights Reserved
    #
    # Permission is hereby granted, free of charge, to any person obtaining a
    # copy of this software and associated documentation files (the
    # "Software"), to deal in the Software without restriction, including
    # without limitation the rights to use, copy, modify, merge, publish,
    # distribute, sublicense, and/or sell copies of the Software, and to
    # permit persons to whom the Software is furnished to do so, subject to
    # the following conditions:
    #
    # The above copyright notice and this permission notice shall be included
    # in all copies or substantial portions of the Software.
    #
    # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
    # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
    # IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
    # CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
    # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
    # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    #
    # Except as contained in this notice, the name(s) of the above copyright
    # holders shall not be used in advertising or otherwise to promote the
    # sale, use or other dealings in this Software without prior written
    # authorization.
    # -----------------------------------------------------------------------------
    
    SHELL		= /bin/sh
    
    #### Start of system configuration section. ####
    
    srcdir		= @srcdir@
    VPATH  		= @srcdir@
    
    x		= @EXEEXT@
    o		= .@OBJEXT@
    
    CC		= @CC@
    CPP		= @CPP@
    AWK		= @AWK@
    LINK		= $(CC) $(CFLAGS)
    
    CTAGS		= @CTAGS@
    ETAGS		= @ETAGS@
    
    LN_S		= @LN_S@
    RM              = rm -f
    LINT		= @LINT@
    LINT_OPTS	= @LINT_OPTS@
    
    INSTALL		= @INSTALL@
    INSTALL_PROGRAM	= @INSTALL_PROGRAM@
    INSTALL_SCRIPT	= @INSTALL_SCRIPT@
    INSTALL_DATA	= @INSTALL_DATA@
    transform	= @program_transform_name@
    
    EXTRA_CFLAGS	= @EXTRA_CFLAGS@
    EXTRA_CPPFLAGS	= @EXTRA_CPPFLAGS@
    EXTRA_LOADFLAGS	= @IMAKE_LOADFLAGS@
    
    PIXMAPDIR_DEF	= @no_pixmapdir@-DPIXMAP_ROOTDIR=\"@PIXMAPDIR@/\"
    CPPFLAGS	= -I. -I$(srcdir) -DHAVE_CONFIG_H @CPPFLAGS@ -DDEFCLASS=\"@APP_CLASS@\" $(PIXMAPDIR_DEF) $(EXTRA_CPPFLAGS)
    CFLAGS		= @CFLAGS@ $(EXTRA_CFLAGS)
    LDFLAGS		= @LDFLAGS@ @EXTRA_LDFLAGS@
    LIBS		= @LIBS@
    
    prefix		= @prefix@
    exec_prefix	= @exec_prefix@
    datarootdir	= @datarootdir@
    datadir		= @datadir@
    
    manext		= 1
    bindir		= @bindir@
    libdir		= @libdir@
    mandir		= @mandir@/man$(manext)
    appsdir		= @APPSDIR@
    icondir		= @ICONDIR@
    pixmapdir	= @PIXMAPDIR@
    
    #### End of system configuration section. ####
    
    ICON_NAME	= @ICON_NAME@
    ICON_SYMLINK	= @ICON_SYMLINK@
    
    DESTDIR		=
    BINDIR		= $(DESTDIR)$(bindir)
    LIBDIR		= $(DESTDIR)$(libdir)
    MANDIR		= $(DESTDIR)$(mandir)
    APPSDIR		= $(DESTDIR)$(appsdir)
    
    @no_icondir@ICONDIR		= $(DESTDIR)$(icondir)
    @no_pixmapdir@PIXMAPDIR	= $(DESTDIR)$(pixmapdir)
    
    INSTALL_DIRS    = $(BINDIR) $(APPSDIR) $(ICONDIR) $(PIXMAPDIR) $(MANDIR)
    
    CLASS		= @APP_CLASS@
    EXTRAHDR	= @EXTRAHDRS@
    EXTRASRC	= @EXTRASRCS@
    EXTRAOBJ	= @EXTRAOBJS@
    
    AUTO_SOURCE	= \
    		builtin_icons.h \
    		VTparse.cin \
    		Tekparse.cin \
    		VTparse.hin \
    		Tekparse.hin
    
              SRCS1 = button.c cachedGCs.c charproc.c charsets.c cursor.c \
    	  	  data.c doublechr.c fontutils.c input.c \
    		  keysym2ucs.c linedata.c main.c menu.c misc.c \
    		  print.c ptydata.c scrollback.c \
    		  screen.c scrollbar.c tabs.c util.c version.c xstrings.c \
    		  xtermcap.c VTPrsTbl.c $(EXTRASRC)
              OBJS1 = button$o cachedGCs$o charproc$o charsets$o cursor$o \
    	  	  data$o doublechr$o fontutils$o input$o \
    		  keysym2ucs$o linedata$o main$o menu$o misc$o \
    		  print$o ptydata$o scrollback$o \
    		  screen$o scrollbar$o tabs$o util$o version$o xstrings$o \
    		  xtermcap$o VTPrsTbl$o $(EXTRAOBJ)
              SRCS2 = resize.c version.c xstrings.c
              OBJS2 = resize$o version$o xstrings$o
               SRCS = $(SRCS1) $(SRCS2)
               OBJS = $(OBJS1) $(OBJS2)
               HDRS = VTparse.h data.h error.h fontutils.h main.h menu.h \
                      ptyx.h version.h xstrings.h xterm.h xtermcap.h $(EXTRAHDR)
           PROGRAMS = xterm$x resize$x
      TEST_PROGRAMS = test_charclass$x test_ptydata$x test_wcwidth$x
    
    all :	$(PROGRAMS)
    ################################################################################
    .SUFFIXES : .i .def .cin .hin .$(manext) .ms .man .txt @MAN2HTML_NOTE@ .html @GROFF_NOTE@ .ps .pdf
    
    .c$o :
    	@RULE_CC@
    	@ECHO_CC@$(CC) $(CPPFLAGS) $(CFLAGS) -c $(srcdir)/$*.c
    
    .c.i :
    	@RULE_CC@
    	@ECHO_CC@$(CPP) -C $(CPPFLAGS) $*.c >$@
    
    .def.cin :
    	@echo "making $@ from $<"
    	@$(AWK) 'BEGIN{printf "/* vile:cmode */\n";}/^CASE_/{printf "{ %d, \"%s\" },\n", n++, $$1; }' < $< >$@
    
    .def.hin :
    	@echo "making $@ from $<"
    	@$(AWK) 'BEGIN{printf "/* vile:cmode */\n";}/^CASE_/{printf "#define %s %d\n", $$1, n++}' < $< >$@
    
    .man.$(manext) :
    	$(SHELL) ./minstall "$(INSTALL_DATA)" $< $@ $* $*
    
    @NROFF_NOTE@.$(manext).txt :
    @NROFF_NOTE@	$(SHELL) -c "tbl $*.$(manext) | nroff -man | col -bx" >$@
    @NROFF_NOTE@
    @NROFF_NOTE@.ms.txt :
    @NROFF_NOTE@	$(SHELL) -c "tbl $*.$(manext) | nroff -ms | col -bx" >$@
    @NROFF_NOTE@
    
    @MAN2HTML_NOTE@.$(manext).html :
    @MAN2HTML_NOTE@	./@MAN2HTML_TEMP@ $* $(manext) man >$@
    @MAN2HTML_NOTE@
    @GROFF_NOTE@.$(manext).ps :
    @GROFF_NOTE@	$(SHELL) -c "tbl $*.$(manext) | groff -man" >$@
    @GROFF_NOTE@
    @GROFF_NOTE@.$(manext).txt :
    @GROFF_NOTE@	GROFF_NO_SGR=stupid $(SHELL) -c "tbl $*.$(manext) | groff -rHY=0 -Tascii -man | col -bx" >$@
    @GROFF_NOTE@
    @MAN2HTML_NOTE@.ms.html :
    @MAN2HTML_NOTE@	./@MAN2HTML_TEMP@ $* ms ms >$@
    @MAN2HTML_NOTE@
    @GROFF_NOTE@.ms.ps :
    @GROFF_NOTE@	$(SHELL) -c "tbl $< | groff -ms" >$@
    @GROFF_NOTE@
    @GROFF_NOTE@.ms.txt :
    @GROFF_NOTE@	GROFF_NO_SGR=stupid $(SHELL) -c "tbl $< | groff -rHY=0 -Tascii -ms | col -bx" >$@
    @GROFF_NOTE@
    @GROFF_NOTE@.ps.pdf :
    @GROFF_NOTE@	ps2pdf $*.ps
    ################################################################################
    
    VTPARSE_H = VTparse.h VTparse.hin
    TEKPARSE_H = Tekparse.h Tekparse.hin
    
    main$o : main.h
    misc$o : version.h
    
    $(OBJS1) : xterm.h ptyx.h fontutils.h menu.h xtermcfg.h
    main$o resize$o screen$o : xterm_io.h
    
    xterm$x : $(OBJS1)
    	@ECHO_LD@$(SHELL) $(srcdir)/plink.sh $(LINK) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS1) $(LIBS) $(EXTRA_LOADFLAGS)
    
    resize$x : $(OBJS2)
    	@ECHO_LD@$(SHELL) $(srcdir)/plink.sh $(LINK) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS2) $(LIBS)
    
    256colres.h :
    	-$(RM) $@
    	perl $(srcdir)/256colres.pl > $@
    
    88colres.h :
    	-$(RM) $@
    	perl $(srcdir)/88colres.pl > $@
    
    charproc$o : $(VTPARSE_H) main.h @CHARPROC_DEPS@
    graphics_regis$o : $(VTPARSE_H)
    graphics_sixel$o : $(VTPARSE_H)
    misc$o : $(VTPARSE_H)
    VTPrsTbl$o : $(VTPARSE_H)
    
    charsets$o : charsets.h
    
    charproc$o \
    graphics$o \
    graphics_regis$o \
    graphics_sixel$o \
    main$o \
    misc$o \
    screen$o \
    util$o : graphics.h
    
    TekPrsTbl$o : $(TEKPARSE_H)
    Tekproc$o : $(TEKPARSE_H)
    
    misc$o : builtin_icons.h
    
    trace$o : VTparse.cin Tekparse.cin
    
    # do this to quiet gcc -Wcast-qual warnings
    builtin_icons.h :
    	@echo "#if OPT_BUILTIN_XPMS" >$@
    	@echo "#include <icons/mini.xterm.xpms>" >>$@
    	@echo "#include <icons/filled-xterm.xpms>" >>$@
    	@echo "#include <icons/xterm.xpms>" >>$@
    	@echo "#include <icons/xterm-color.xpms>" >>$@
    	@echo "#else" >>$@
    	@sed -e 's/static char \* /static const char * /' $(srcdir)/icons/mini.xterm_48x48.xpm >>$@
    	@echo "#endif" >>$@
    	@echo "made $@"
    
    ################################################################################
    test_charclass$x : $(srcdir)/charclass.c
    	@ECHO_LD@$(SHELL) $(srcdir)/plink.sh $(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -DTEST_DRIVER $(srcdir)/charclass.c $(LDFLAGS) $(LIBS)
    
    ################################################################################
    test_ptydata$x : $(srcdir)/ptydata.c
    	@ECHO_LD@$(SHELL) $(srcdir)/plink.sh $(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -DTEST_DRIVER $(srcdir)/ptydata.c $(LDFLAGS) $(LIBS)
    
    ################################################################################
    test_wcwidth$x : $(srcdir)/wcwidth.c
    	@ECHO_LD@$(SHELL) $(srcdir)/plink.sh $(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -DTEST_DRIVER $(srcdir)/wcwidth.c $(LDFLAGS) $(LIBS)
    
    ################################################################################
    actual_xterm  = `echo xterm|        sed '$(transform)'`
    actual_resize = `echo resize|       sed '$(transform)'`
    actual_uxterm = `echo uxterm|       sed '$(transform)'`
    actual_k8term = `echo koi8rxterm|   sed '$(transform)'`
    
    binary_xterm  = $(actual_xterm)$x
    binary_resize = $(actual_resize)$x
    binary_uxterm = $(actual_uxterm)
    binary_k8term = $(actual_k8term)
    
    install \
    install-bin \
    install-full :: xterm$x resize$x $(BINDIR)
    @MAY_SETUID@	$(SHELL) $(srcdir)/sinstall.sh @SINSTALL_OPTS@ "$(INSTALL_PROGRAM)" xterm$x  @XTERM_PATH@ $(BINDIR)/$(binary_xterm)
    @NOT_SETUID@	$(INSTALL_PROGRAM) xterm$x $(BINDIR)/$(binary_xterm)
    	$(INSTALL_PROGRAM) -m  755 resize$x $(BINDIR)/$(binary_resize)
    
    EDIT_SCRIPT = sed -e s,=xterm,=\$$name, -e s,XTerm,$(CLASS),
    
    InstallLink = \
    	if test @XTERM_SYMLINK@ != NONE \
    	&& test \$$source != NONE \
    	&& test \$$source != \$$target ; then \
    		cd \$$TARGET && ( \
    			$(RM) \$$source ; \
    			$(LN_S) \$$target \$$source ; \
    			echo \"... created symbolic link:\" ; \
    			ls -l \$$target \$$source ) ; \
    	fi
    
    InstallBinLink = TARGET=$(BINDIR); $(InstallLink)
    InstallManLink = TARGET=$(MANDIR); $(InstallLink)
    
    InstallScript = \
    	echo \"... installing $(BINDIR)/\$$target\"; \
    	name=$(binary_xterm); \
    	$(EDIT_SCRIPT) $(srcdir)/\$$source >\$$source.tmp; \
    	$(INSTALL_SCRIPT) -m  755 \$$source.tmp $(BINDIR)/\$$target; \
    	$(RM) \$$source.tmp
    
    install \
    install-bin \
    install-scripts \
    install-full :: $(BINDIR)
    	@$(SHELL) -c "source=\"@XTERM_SYMLINK@\"; \
    		target=\"$(binary_xterm)\"; \
    		$(InstallBinLink)"
    	@$(SHELL) -c "source=\"resize\"; \
    		target=\"$(binary_resize)\"; \
    		$(InstallBinLink)"
    	@$(SHELL) -c "source=\"uxterm\"; \
    		target=\"$(binary_uxterm)\"; \
    		$(InstallScript); \
    		$(InstallBinLink)"
    	@$(SHELL) -c "source=\"koi8rxterm\"; \
    		target=\"$(binary_k8term)\"; \
    		$(InstallScript); \
    		$(InstallBinLink)"
    
    install \
    install-man \
    install-full :: $(MANDIR)
    	@-$(SHELL) -c "for source in xterm resize uxterm koi8rxterm ; \
    		do \
    			target=\`echo \"\$$source\" | sed '@program_transform_name@'\`; \
    			$(SHELL) ./minstall \"$(INSTALL_DATA)\" \
    				$(srcdir)/\$$source.man  \
    				$(MANDIR)/\$$target.$(manext) \
    				\$$source \
    				\$$target; \
    		done"
    	@-$(SHELL) -c "if test @XTERM_SYMLINK@ != NONE ; then \
    		source=$(actual_xterm).$(manext); \
    		target=@XTERM_SYMLINK@.$(manext); \
    		cd $(MANDIR) && ( \
    			$(RM) \$$target ; \
    			$(LN_S) \$$source \$$target ; \
    			echo '... created symbolic link:' ; \
    			ls -l \$$source \$$target ; \
    			) \
    		fi"
    
    APP_NAMES = XTerm UXTerm KOI8RXTerm
    
    @no_appsdir@install \
    @no_appsdir@install-app \
    @no_appsdir@install-full :: $(APPSDIR)
    @no_appsdir@	@-$(SHELL) -c 'for s in $(APP_NAMES); \
    @no_appsdir@	do \
    @no_appsdir@		echo "** $$s"; \
    @no_appsdir@		d=`echo $$s | sed -e s/XTerm/$(CLASS)/`; \
    @no_appsdir@		echo installing $(APPSDIR)/$$d; \
    @no_appsdir@		sed -e s/XTerm/$(CLASS)/ $(srcdir)/$$s.ad >XTerm.tmp; \
    @no_appsdir@		$(INSTALL_DATA) XTerm.tmp $(APPSDIR)/$$d; \
    @no_appsdir@		echo installing $(APPSDIR)/$$d-color; \
    @no_appsdir@		sed -e s/XTerm/$$d/ $(srcdir)/XTerm-col.ad >XTerm.tmp; \
    @no_appsdir@		$(INSTALL_DATA) XTerm.tmp $(APPSDIR)/$$d-color; \
    @no_appsdir@	done'
    @no_appsdir@	@$(RM) XTerm.tmp
    @no_icondir@	@echo "... installed app-defaults"
    
    @no_icondir@ICON_LIST = @ICON_LIST@
    @no_icondir@ICON_THEME = @ICON_THEME@
    @no_icondir@install \
    @no_icondir@install-icon \
    @no_icondir@install-full :: $(ICONDIR)
    @no_icondir@	@ECHO_CC@ACTUAL_XTERM=$(actual_xterm) $(SHELL) -c '\
    @no_icondir@		h=$(ICONDIR)/$(ICON_THEME); \
    @no_icondir@		for n in $(ICON_LIST); \
    @no_icondir@		do \
    @no_icondir@			x=$$ACTUAL_XTERM; \
    @no_icondir@			l=`echo "$$n" | cut -f1 -d:`; \
    @no_icondir@			r=`echo "$$n" | cut -f2 -d: |sed -e "s,xterm,$$ACTUAL_XTERM,"`; \
    @no_icondir@			test -z "$$r" && continue; \
    @no_icondir@			d=$$h/`echo "$$r" | sed -e "s,/[^/]*$$,,"`; \
    @no_icondir@			test -d "$$d" || mkdir -p "$$d"; \
    @no_icondir@			echo "installing icon $$h/$$r"; \
    @no_icondir@			$(INSTALL_DATA) $$l $$h/$$r; \
    @no_icondir@			s=`echo "$$r" | sed -e '"'s,^.*\.,.,'"'`; \
    @no_icondir@			t=$(ICON_SYMLINK)$$s; \
    @no_icondir@			b=`basename $$n $$s | sed -e "s,_[1-9][0-9]*x.*,,"`; \
    @no_icondir@			if test "$(ICON_SYMLINK)" != NONE ; then \
    @no_icondir@				if test "$$r" != "$$t" ; then \
    @no_icondir@					if test "x$$b" = "x$(ICON_NAME)" ; then \
    @no_icondir@						echo "linking $$r -> $$t"; \
    @no_icondir@						( cd $$h; $(RM) $$t; $(LN_S) $$r $$t; ) \
    @no_icondir@					fi \
    @no_icondir@				fi \
    @no_icondir@			fi \
    @no_icondir@		done'
    @no_icondir@	@echo "... installed icons"
    
    @no_pixmapdir@install \
    @no_pixmapdir@install-icon \
    @no_pixmapdir@install-full :: $(PIXMAPDIR)
    @no_pixmapdir@	@ECHO_CC@ACTUAL_XTERM=$(actual_xterm) $(SHELL) -c '\
    @no_pixmapdir@		h=$(PIXMAPDIR); \
    @no_pixmapdir@		for n in $(srcdir)/icons/*xterm*_*x*.xpm; \
    @no_pixmapdir@		do \
    @no_pixmapdir@			l=`basename $$n`; \
    @no_pixmapdir@			r=`echo "$$l" | sed -e "s,xterm,$$ACTUAL_XTERM,"`; \
    @no_pixmapdir@			echo "installing pixmap $$h/$$r"; \
    @no_pixmapdir@			$(INSTALL_DATA) $(srcdir)/icons/$$l $$h/$$r; \
    @no_pixmapdir@			s=`echo "$$r" | sed -e '"'s,^.*\.,.,'"'`; \
    @no_pixmapdir@			t=$(ICON_SYMLINK)$$s; \
    @no_pixmapdir@			b=`basename $$n $$s | sed -e "s,_[1-9][0-9]*x.*,,"`; \
    @no_pixmapdir@			if test "$(ICON_SYMLINK)" != NONE ; then \
    @no_pixmapdir@				if test "x$$r" != "$$t" ; then \
    @no_pixmapdir@					if test "x$$b" = "x$(ICON_NAME)" ; then \
    @no_pixmapdir@						echo "linking $$r -> $$t"; \
    @no_pixmapdir@						( cd $$h; $(RM) $$t; $(LN_S) $$r $$t; ) \
    @no_pixmapdir@					fi \
    @no_pixmapdir@				fi \
    @no_pixmapdir@			fi \
    @no_pixmapdir@		done'
    @no_pixmapdir@	@echo "... installed icons"
    
    install ::
    	@echo 'Completed installation of executables and documentation.'
    	@echo 'Use "make install-ti" to install terminfo description.'
    
    TERMINFO_DIR = @TERMINFO_DIR@
    SET_TERMINFO = @SET_TERMINFO@
    
    @no_ticprog@install-full \
    @no_ticprog@install-ti :: $(TERMINFO_DIR)
    @no_ticprog@	@echo "Installing $(srcdir)/terminfo"
    @no_ticprog@	@$(SHELL) -c "chmod +x ./run-tic.sh"
    @no_ticprog@	@$(SHELL) -c "$(SET_TERMINFO) ./run-tic.sh $(srcdir)/terminfo"
    @no_ticprog@	@echo 'Completed installation of terminfo description.'
    
    install-full \
    install-tc ::
    	@-$(SHELL) -c "if test -f /etc/termcap ; then echo 'You must install the termcap entry manually by editing /etc/termcap'; fi"
    
    installdirs : $(INSTALL_DIRS)
    ################################################################################
    
    UninstallLink = \
    	if test @XTERM_SYMLINK@ != NONE \
    	&& test \$$source != NONE \
    	&& test \$$source != \$$target \
    	&& test -h \$$TARGET/\$$source ; then \
    		echo \"... removing \$$TARGET/\$$source\"; \
    		cd \$$TARGET && \
    		$(RM) \$$source; \
    	fi
    
    UninstallBinLink = TARGET=$(BINDIR); $(UninstallLink)
    UninstallManLink = TARGET=$(MANDIR); $(UninstallLink)
    
    UninstallBinary = \
    	echo \"... removing $(BINDIR)/\$$target\"; \
    	$(RM) $(BINDIR)/\$$target
    
    uninstall \
    uninstall-bin \
    uninstall-full ::
    	@-$(SHELL) -c "source=\"@XTERM_SYMLINK@\"; \
    		target=\"$(binary_xterm)\"; \
    		$(UninstallBinLink); \
    		$(UninstallBinary)"
    	@-$(SHELL) -c "source=\"resize\"; \
    		target=\"$(binary_resize)\"; \
    		$(UninstallBinLink); \
    		$(UninstallBinary)"
    
    uninstall \
    uninstall-bin \
    uninstall-scripts \
    uninstall-full ::
    	@-$(SHELL) -c "source=\"uxterm\"; \
    		target=\"$(binary_uxterm)\"; \
    		$(UninstallBinLink); \
    		$(UninstallBinary)"
    	@-$(SHELL) -c "source=\"koi8rxterm\"; \
    		target=\"$(binary_k8term)\"; \
    		$(UninstallBinLink); \
    		$(UninstallBinary)"
    
    uninstall \
    uninstall-man \
    uninstall-full ::
    	@-$(SHELL) -c "\
    		source=@XTERM_SYMLINK@.$(manext); \
    		target=$(actual_xterm).$(manext); \
    		$(UninstallManLink)"
    	@-$(SHELL) -c "for source in \
    		$(actual_xterm).$(manext) \
    		$(actual_resize).$(manext) \
    		$(actual_uxterm).$(manext) \
    		$(actual_k8term).$(manext); \
    		do \
    			echo \"... removing $(MANDIR)/\$$source\"; \
    			$(RM) $(MANDIR)/\$$source; \
    		done"
    
    @no_appsdir@uninstall \
    @no_appsdir@uninstall-app \
    @no_appsdir@uninstall-full ::
    @no_appsdir@	-@ECHO_CC@$(SHELL) -c 'for s in $(APP_NAMES); \
    @no_appsdir@	do \
    @no_appsdir@		echo "** $$s"; \
    @no_appsdir@		d=`echo $$s | sed -e s/XTerm/$(CLASS)/`; \
    @no_appsdir@		echo uninstalling $(APPSDIR)/$$d; \
    @no_appsdir@		$(RM) $(APPSDIR)/$$d; \
    @no_appsdir@		echo uninstalling $(APPSDIR)/$$d-color; \
    @no_appsdir@		$(RM) $(APPSDIR)/$$d-color; \
    @no_appsdir@	done'
    
    @no_icondir@uninstall \
    @no_icondir@uninstall-icon \
    @no_icondir@uninstall-full ::
    @no_icondir@	-@ECHO_CC@$(SHELL) -c 'ACTUAL_XTERM=$(actual_xterm) ; \
    @no_icondir@		for n in $(ICON_LIST); \
    @no_icondir@		do \
    @no_icondir@		r=`echo "$$n" | sed -e s,\^.\*:,, -e s,xterm,$$ACTUAL_XTERM,`; \
    @no_icondir@		test -z "$$r" && continue; \
    @no_icondir@		h=$(ICONDIR)/$(ICON_THEME); \
    @no_icondir@		test -f $$h/$$r || continue; \
    @no_icondir@		echo removing $$h/$$r; \
    @no_icondir@		$(RM) $$h/$$r; \
    @no_icondir@		done'
    @no_icondir@	@echo "... removed icons"
    
    @no_pixmapdir@uninstall \
    @no_pixmapdir@uninstall-icon \
    @no_pixmapdir@uninstall-full ::
    @no_pixmapdir@	-@$(SHELL) -c 'ACTUAL_XTERM=$(actual_xterm) ; \
    @no_pixmapdir@		for n in $(srcdir)/icons/*xterm*_32x32.xpm $(srcdir)/icons/*xterm*_48x48.xpm; \
    @no_pixmapdir@		do \
    @no_pixmapdir@			l=`basename $$n`; \
    @no_pixmapdir@			r=`echo "$$l" | sed -e "s,xterm,$$ACTUAL_XTERM,"`; \
    @no_pixmapdir@			echo removing $(PIXMAPDIR)/$$r; \
    @no_pixmapdir@			$(RM) $(PIXMAPDIR)/$$r; \
    @no_pixmapdir@		done'
    @no_pixmapdir@	@echo "... removed icons"
    ################################################################################
    # Desktop-utils does not provide an uninstall, and is not uniformly available.
    @desktop_utils@DESKTOP_FILES = $(srcdir)/xterm.desktop $(srcdir)/uxterm.desktop
    @desktop_utils@DESKTOP_FLAGS = @DESKTOP_FLAGS@
    @desktop_utils@install-desktop \
    @desktop_utils@install-full ::
    @desktop_utils@	ACTUAL_XTERM=$(actual_xterm) \
    @desktop_utils@	$(SHELL) -c 'for n in $(DESKTOP_FILES); \
    @desktop_utils@		do $(SHELL) df-install $$ACTUAL_XTERM $(ICON_NAME) DESTDIR="$(DESTDIR)" $(DESKTOP_FLAGS) $$n; \
    @desktop_utils@		done'
    ################################################################################
    check : $(TEST_PROGRAMS)
    	@ echo "See demos in vttests/* (use vttest for system-level testing)"
    	@ $(SHELL) -c 'echo "** executing test_charclass"; \
    		./test_charclass'
    	@ $(SHELL) -c 'echo "** executing test_wcwidth"; \
    		for range in 32-126 160-0xff00 0x10000-0x11000 -t; \
    		do echo ".. range $$range"; \
    		./test_wcwidth -m $$range; \
    		./test_wcwidth -m $$range -s -w; \
    	done'
    	@ $(SHELL) -c 'echo "** executing test_ptydata"; \
    		./test_ptydata -a'
    ################################################################################
    mostlyclean :
    	-$(RM) *$o *.[is] XTerm[1-9]*.* Xterm.log.* XtermLog.* .pure core *~ *.bak *.BAK *.out *.tmp
    
    clean : mostlyclean
    	-$(RM) $(PROGRAMS) $(TEST_PROGRAMS) $(AUTO_SOURCE)
    
    sources : $(AUTO_SOURCE)
    
    distclean :: clean
    	-$(RM) Makefile config.status config.cache config.log xtermcfg.h
    	-$(RM) df-install minstall run-tic.sh
    
    distclean \
    docs-clean ::
    	-$(RM) *.ps *.pdf *.png
    	-$(SHELL) -c 'for p in xterm resize uxterm koi8rxterm; \
    	do \
    		$(RM) $$p.html $$p.$(manext) $$p.txt; \
    	done'
    	-$(RM) ctlseqs.html ctlseqs.$(manext)
    
    distclean ::
    	-$(RM) man2html.tmp
    
    realclean : distclean
    	-$(RM) tags TAGS
    
    maintainer-clean : realclean
    	-$(RM) 256colres.h 88colres.h
    ################################################################################
    TIC=tic
    terminfo.out : terminfo		; $(TIC) -a -I -1 terminfo >$@
    termcap.out : termcap		; $(TIC) -a -C -U termcap >$@
    ################################################################################
    docs-ctlseqs \
    docs :: $(srcdir)/ctlseqs.txt @MAN2HTML_NOTE@ ctlseqs.html @GROFF_NOTE@ ctlseqs.pdf ctlseqs.ps
    
    ctlseqs.html : $(srcdir)/ctlseqs.ms
    ctlseqs.pdf : ctlseqs.ps
    ctlseqs.ps : $(srcdir)/ctlseqs.ms
    ctlseqs.txt : $(srcdir)/ctlseqs.ms
    ################################################################################
    docs-resize \
    docs ::  resize.txt @MAN2HTML_NOTE@ resize.html @GROFF_NOTE@ resize.pdf resize.ps
    resize.html : resize.$(manext)
    resize.pdf : resize.ps
    resize.ps : resize.$(manext)
    resize.txt : resize.$(manext)
    ################################################################################
    docs-xterm \
    docs ::  xterm.txt @MAN2HTML_NOTE@ xterm.html @GROFF_NOTE@ xterm.pdf xterm.ps
    xterm.html : xterm.$(manext)
    xterm.pdf : xterm.ps
    xterm.ps : xterm.$(manext)
    xterm.txt : xterm.$(manext)
    ################################################################################
    docs-uxterm \
    docs ::  uxterm.txt @MAN2HTML_NOTE@ uxterm.html @GROFF_NOTE@ uxterm.pdf uxterm.ps
    uxterm.html : uxterm.$(manext)
    uxterm.pdf : uxterm.ps
    uxterm.ps : uxterm.$(manext)
    uxterm.txt : uxterm.$(manext)
    ################################################################################
    docs-koi8rxterm \
    docs ::  koi8rxterm.txt @MAN2HTML_NOTE@ koi8rxterm.html @GROFF_NOTE@ koi8rxterm.pdf koi8rxterm.ps
    koi8rxterm.html : koi8rxterm.$(manext)
    koi8rxterm.pdf : koi8rxterm.ps
    koi8rxterm.ps : koi8rxterm.$(manext)
    koi8rxterm.txt : koi8rxterm.$(manext)
    ################################################################################
    lint :
    	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(SRCS1)
    	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(SRCS2)
    
    tags :
    	$(CTAGS) $(SRCS) $(HDRS)
    
    TAGS :
    	$(ETAGS) $(SRCS) $(HDRS)
    
    $(TERMINFO_DIR) $(INSTALL_DIRS) :
    	mkdir -p $@
    
    ALWAYS :
    
    depend : $(TABLES)
    	makedepend -- $(CPPFLAGS) -- $(SRCS)
    
    # DO NOT DELETE THIS LINE -- make depend depends on it.