# Emacs Makefile for TRAMP
# Makefile. Generated from Makefile.in by configure.
# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
# Author: kai.grossjohann@gmx.net
# michael.albinus@gmx.de
# Keywords: comm, processes
# This file is part of GNU Emacs.
# GNU Emacs is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# GNU Emacs 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 GNU Emacs; see the file COPYING. If not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
# This Makefile requires GNU make and GNU tar.
# N.B. Configuration of utilities for XEmacs packages is done in
# ../../Local.rules. These have no effect on XEmacs's package build
# process (and thus live inside the conditional).
EMACS = emacs
EMACS_INFO = emacs
MAKEINFO = makeinfo
RM = -rm -f
AUTOCONF = autoconf
DESTDIR =
DIRS = lisp texi
CONFIG_FILES = Makefile contrib/Makefile lisp/Makefile lisp/trampver.el texi/Makefile texi/trampver.texi
CLEAN_FILES = .\\\#* \\\#* .*~ *~ *.aux *.cp *.cps *.diff *.dvi *.elc *.fn *.fns *.html *.info *.ky *.log *.pg *.tmp *.toc *.tp *.vr *.vrs
# To be used by maintainer only.
VERSION = $(subst .,-,2.1.7)
TARNAME = tramp-2.1.7
EMACS_TARGET = ../emacs
XEMACS_TARGET = ../xemacs/packages/xemacs-packages/tramp
# Can't use wildcard tramp-*.el since that would catch tramp-efs.el,
# too, which isn't included in Emacs.
# lisp/trampver.el is not listed here since it is a generated file,
# but the files listed here are subjected to "cvs diff". We just copy
# lisp/trampver.el.
EMACS_EL_FILES = lisp/tramp-cache.el lisp/tramp.el lisp/tramp-ftp.el \
lisp/tramp-smb.el lisp/tramp-util.el lisp/tramp-uu.el \
lisp/tramp-vc.el
# texi/trampver.texi is not listed here since it is a generated file,
# but the files listed here are subjected to "cvs diff". We just copy
# texi/trampver.texi.
EMACS_TEXI_FILES = texi/tramp.texi
# XEmacs Tramp package has the same filesystem structure like Tramp
# itself. Furthermore, it doesn't take *.el and *.texi only. So one
# target is sufficient. ChangeLog is copied to ChangeLog.upstream,
# lisp/trampver.el and texi/trampver.texi are copied, too.
XEMACS_FILES = CONTRIBUTORS \
lisp/ChangeLog lisp/tramp-cache.el lisp/tramp-efs.el \
lisp-tramp-ftp.el lisp/tramp-smb.el lisp/tramp-util.el \
lisp/tramp-uu.el lisp/tramp-vc.el lisp/tramp.el \
test/test-harness.el test/tramp-expr.el \
test/tramp-file-name.el test/tramp-path.el \
texi/ChangeLog texi/tramp.texi \
texi/tramp_ja.texi
TRAMP_EMACS_MERGE_VERSION = 2.0.44
TRAMP_EMACS_MERGE_TAG = $(subst .,-,V-2.0.44)
# ftp upload program to be used.
ifeq (no, yes)
# Michaels flavor.
FTP_UPLOAD = ftp-upload --host ftp-upload.gnu.org \
--dir /incoming/ftp
else
# Kais flavor.
FTP_UPLOAD = ftp -u ftp://ftp-upload.gnu.org/incoming/ftp
endif
# Decrease noise.
.SILENT: all lisp info install clean
.PHONY: all install lisp info clean distclean tags \
maintainer-clean cvstag MANIFEST tar emacs \
xemacs savannah cvs-update
all install: $(CONFIG_FILES)
for a in ${DIRS}; do \
$(MAKE) -C $$a \
"EMACS=$(EMACS)" "EMACS_INFO=$(EMACS_INFO)" \
"DESTDIR=$(DESTDIR)" $(MAKECMDGOALS); \
done
lisp: $(CONFIG_FILES)
$(MAKE) -C lisp \
"EMACS=$(EMACS)" "EMACS_INFO=$(EMACS_INFO)" \
"DESTDIR=$(DESTDIR)" all
info: $(CONFIG_FILES)
$(MAKE) -C texi \
"EMACS=$(EMACS)" "EMACS_INFO=$(EMACS_INFO)" \
"DESTDIR=$(DESTDIR)" all
clean:
$(RM) $(CLEAN_FILES) \
$(addprefix test/, $(CLEAN_FILES))
for a in ${DIRS} contrib; do \
$(MAKE) -C $$a clean; \
done
distclean: clean
for a in ${DIRS} contrib; do \
$(MAKE) -C $$a distclean; \
done
$(RM) $(CONFIG_FILES) MANIFEST *.tar.gz*
$(RM) -r autom4te.cache info
tags:
etags lisp/*.el texi/*.texi
# Maintainer targets.
maintainer-clean: distclean
$(RM) configure config.status
cvstag:
cvs tag V-$(VERSION)
# Depends on configure in order to run autoconf. All files
# which shall be produced on customer host, should be removed.
MANIFEST: configure distclean
find . \( -name CVS -prune \) \
-o \( -name info -prune \) \
-o \( -name tmp -prune \) \
-o \( -name tramp2 -prune \) \
-o \( -type f \! -name *,v \
\! -name .cvsignore \) \
-print > MANIFEST
./config.status
tar: MANIFEST
mkdir $(TARNAME)
tar cpfT - MANIFEST | ( cd $(TARNAME) ; tar xpf - )
chmod -R a+r $(TARNAME)
tar cvpfz $(TARNAME).tar.gz $(TARNAME)
$(RM) -r $(TARNAME)
gpg --detach-sign $(TARNAME).tar.gz
echo "directory: tramp" >$(TARNAME).tar.gz.directive
gpg --clearsign $(TARNAME).tar.gz.directive
$(RM) $(TARNAME).tar.gz.directive
chmod a+r $(TARNAME).tar.gz*
emacs:
./configure --with-contrib --with-packaging --with-emacs; \
cvs -f diff -u -r$(TRAMP_EMACS_MERGE_TAG) -rV-$(VERSION) \
$(EMACS_EL_FILES) > tramp-emacs-merge.diff || true; \
( cd $(EMACS_TARGET)/lisp/net; patch -p1 ) < tramp-emacs-merge.diff; \
cp lisp/trampver.el $(EMACS_TARGET)/lisp/net; \
cvs -f diff -u -r$(TRAMP_EMACS_MERGE_TAG) -rV-$(VERSION) \
$(EMACS_TEXI_FILES) > tramp-emacs-merge2.diff || true; \
( cd $(EMACS_TARGET)/man; patch -p1 ) < tramp-emacs-merge2.diff; \
cp texi/trampver.texi $(EMACS_TARGET)/man; \
ls $(EMACS_TARGET)/lisp/net/*.rej >/dev/null 2>/dev/null && \
echo "WARNING! Patch in lisp/net didn't apply cleanly."; \
ls $(EMACS_TARGET)/man/*.rej >/dev/null 2>/dev/null && \
echo "WARNING! Patch in man didn't apply cleanly."; \
echo "Don't forget to update the ChangeLog for Emacs."; \
echo "Also remember to update Emacs merge revision in configure.ac."
xemacs:
./configure --with-contrib --with-packaging --with-xemacs; \
cvs -f diff -u -r$(TRAMP_EMACS_MERGE_TAG) -rV-$(VERSION) \
$(XEMACS_FILES) > tramp-xemacs-merge.diff || true; \
patch -p0 -d $(XEMACS_TARGET) < tramp-xemacs-merge.diff; \
find $(XEMACS_TARGET) -name "*.rej" >/dev/null 2>/dev/null && \
echo "WARNING! Patch didn't apply cleanly."; \
cp lisp/trampver.el $(XEMACS_TARGET)/lisp; \
cp texi/trampver.texi $(XEMACS_TARGET)/texi; \
cp ChangeLog $(XEMACS_TARGET)/ChangeLog.upstream; \
echo "Don't forget to update AUTHOR_VERSION in Makefile."; \
echo "Don't forget to update the ChangeLog for XEmacs."; \
echo "Announce patch in xemacs-patches mailing list."; \
echo "Also remember to update Emacs merge revision in configure.ac."
savannah: tar cvstag
$(FTP_UPLOAD) $(TARNAME).tar.gz*
./configure --with-japanese-manual
$(MAKE) -C texi savannah
cvs-update:
cvs update -dP
# Targets updating files generated by autoconf and configure.
$(CONFIG_FILES): $(CONFIG_FILES:=.in) config.status
./config.status
config.status: configure
./config.status --recheck
configure: aclocal.m4 configure.ac
$(AUTOCONF)
# Experimental stuff.
# Make "Version foo released." ChangeLog entries.
cl-release:
for cl in ChangeLog */ChangeLog; do \
emacs -nw $$cl --eval \
"(progn (add-change-log-entry nil nil nil t) \
(backward-delete-char 2) \
(insert \"Version 2.1.7 released.\") \
(save-buffer) (kill-emacs))" ; \
done
syntax highlighted by Code2HTML, v. 0.9.1