# Emacs Makefile for TRAMP # @configure_input@ # Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. # Author: kai.grossjohann@gmx.net # Michael.Albinus@alcatel.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., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. # This Makefile requires GNU make and GNU tar. # If we seem to be in an XEmacs package hierarchy, build packages. # Otherwise, use the upstream rules. # #### I don't think we need to strip the result of $(wildcard ...) ifeq (,$(wildcard ../../XEmacs.rules)) # This is not an XEmacs package. # 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). @SET_MAKE@ EMACS = @EMACS@ EMACS_INFO = @EMACS_INFO@ MAKEINFO = @MAKEINFO@ RM = -rm -f DIRS = lisp texi $(if $(USE_CONTRIB), contrib) CONFIG_FILES = @TRAMP_CONFIG_FILES@ CLEAN_FILES = @TRAMP_CLEAN_FILES@ # To be used by maintainer only VERSION = $(subst .,-,@PACKAGE_VERSION@) TARNAME = @PACKAGE_TARNAME@-@PACKAGE_VERSION@ XEMACS_TARGET = ../xemacs/packages/xemacs-packages/tramp EMACS_TARGET = ../emacs EMACS_EL_FILES = $(wildcard lisp/tramp.el lisp/tramp-*.el) .PHONY: MANIFEST info all: $(CONFIG_FILES) for a in ${DIRS}; do \ $(MAKE) -C $$a "EMACS=$(EMACS)" \ "EMACS_INFO=$(EMACS_INFO)" all; \ done install: $(CONFIG_FILES) for a in ${DIRS}; do \ $(MAKE) -C $$a "EMACS=$(EMACS)" \ "EMACS_INFO=$(EMACS_INFO)" install; \ done clean: $(RM) $(CLEAN_FILES) for a in ${DIRS} contrib; do \ $(MAKE) -C $$a clean; \ done distclean: clean $(RM) $(CONFIG_FILES) MANIFEST *.tar.gz info: $(MAKE) -C texi "EMACS=$(EMACS)" \ "EMACS_INFO=$(EMACS_INFO)" all # Maintainer targets maintainer-clean: distclean $(RM) configure config.status tag: 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 \( -type f \! -name *,v \) \ -print > MANIFEST tar: MANIFEST mkdir $(TARNAME) tar cpfT - MANIFEST | ( cd $(TARNAME) ; tar xpf - ) tar cvpfz $(TARNAME).tar.gz $(TARNAME) $(RM) -r $(TARNAME) chmod a+r $(TARNAME).tar.gz xemacs: cp $(EMACS_EL_FILES) lisp/ChangeLog $(XEMACS_TARGET)/lisp cp texi/tramp.texi texi/ChangeLog $(XEMACS_TARGET)/texi cp test/*.el $(XEMACS_TARGET)/test cp ChangeLog $(XEMACS_TARGET)/ChangeLog.upstream -echo "Don't forget to update AUTHOR_VERSION in Makefile." emacs: cp $(EMACS_EL_FILES) $(EMACS_TARGET)/lisp/net cp texi/tramp.texi $(EMACS_TARGET)/man -echo "Don't forget to update the ChangeLog for Emacs." dist: tar tag if [ -d /home-local/ftp/pub/src/emacs ]; then \ install -m644 $(TARNAME).tar.gz \ /home-local/ftp/pub/src/emacs; \ fi install-html: cd texi ; $(MAKE) install-html savannah: dist scp $(TARNAME).tar.gz kai@freesoftware.fsf.org:/upload/tramp cd texi ; $(MAKE) savannah cvs-update: cvs update -dP # Targets updating files generated by autoconf and configure $(CONFIG_FILES): config.status ./config.status config.status: configure ./config.status --recheck configure: configure.ac autoconf --trace=AC_INIT else # This is an XEmacs package. include Makefile.XEmacs endif