Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] View of /sml/trunk/sml-mode/Makefile
ViewVC logotype

View of /sml/trunk/sml-mode/Makefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 535 - (download) (annotate)
Fri Feb 18 16:49:10 2000 UTC (20 years, 8 months ago) by monnier
File size: 5195 byte(s)
* sml-util.el (make-temp-dir, make-temp-file, temp-file-dir,
  delete-temp-dirs): Replaced by the make-temp-file from Emacs-21.
(custom-create-map): add :group arg and allow key to be a list.
(define-major-mode): Removed (use define-derived-mode instead).
(sml-builtin-nested-comments-flag): New var.

* sml-proc.el (sml-host-name): New var.
(sml-make-file-name): Replaced by `sml-compile-commands'.
(sml-config-file): New var.
(sml-compile-commands-alist): New var.
(inferior-sml-load-hook): Removed.
(sml-buffer): Query if the current buffer is not a *sml*.
(inferior-sml-mode): Use minor-mode-overriding-map-alist to disable
  compilation-minor-mode's keybindings.
(run-sml): Turn into an alias for sml-run.
(sml-run): Query the user for the command.  If prefix is set (or if
  default value is not null) query for args and host.  Use `split-string'
  rather than our own function.  Run cmd on another host if requested and
  pass it an init file if it exists.  Pop to the buffer at the end.
(sml-args-to-list): Remove.
(sml-compile): Look for special files (sml-compile-command-alist) in
  the current dir (and its parents) to choose a default command.  Remember
  the command for next time in the same buffer.  Make the `cd' explicit in
  the command so the user can change it.
(sml-make-error): Fix for when `endline' is absent.

* sml-mode.el: Pass it rhough checkdoc.
(sml-mode-version): Remove.
(sml-load-hook): Remove.
(sml-mode-info): Use `info' rather than `Info-goto-node'.
(sml-keywords-regexp): Add "o".
(sml-syntax-prop-table): Use `defsyntax'.
(sml-font-lock-syntactic-keywords): Only use nested comments if supported.
(sml-mode): Use `define-derived-mode'.
(sml-electric-pipe): `sml-indent-line' -> `indent-according-to-mode'.
(sml-indent-line): Use `indent-line-to'.
(sml-cm-mode): New mode for CM files.

* Makefile: Update.

* sml-mode-startup.el: Remove since it's now autogenerated.

* sml-defs.el (sml-bindings): Remove left over C-c` binding.
(sml-mode-map): Add binding for sml-drag-region (was in sml-proc.el).
(sml-mode-syntax-table): Only use nested comments if supported.
(sml-mode-menu): Use next-error rather than the old sml-next-error.
(sml-pipehead-re): Remove "of".

* sml-compat.el (set-keymap-=parents): Make sure it also works when called
  with a single keymap rather than a list.
(temporary-file-directory): Add a default definition for XEmacs.
(make-temp-file): New function.
# Makefile for emacs-lisp package

#ident "@(#)$Name$:$Id$"

# Copyright (C) 1998-1999  Stefan Monnier <monnier@cs.yale.edu>

# This file 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.

# This file 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, 675 Mass Ave, Cambridge, MA 02139, USA.

# load the package-specific settings
include makefile.pkg

# set up the usual installation paths
prefix  = /usr/local
datadir = $(prefix)/share

# the directory where you install third-party emacs packges
lispdir = $(datadir)/emacs/site-lisp

# the directory where the .elc files will be installed
elcdir  = $(lispdir)/$(PACKAGE)
# the directory where the .el files will be installed
eldir   = $(elcdir)

# the file where the initialization goes.
#startupfile = $(HOME/.emacs
startupfile = $(lispdir)/site-start.el

# the directory where you installed the elib .elc files.
# This is only needed if your site-start.el (or default.el) does not
# set up elib correctly.
elibdir = $(lispdir)/elib

# the directory where you install the info doc
infodir = $(prefix)/info
docdir = $(prefix)/doc

EMACS	= emacs
MAKEINFO= makeinfo
TEXI2DVI= texi2dvi
SHELL	= /bin/sh
DVIPS	= dvips
CP	= cp
RM	= rm -f
MKDIR	= mkdir -p
ETAGS	= etags

######################################################################
###        No changes below this line should be necessary          ###
######################################################################

ELFLAGS	= --eval '(setq load-path (append (list "." "$(elibdir)" "$(lispdir)") load-path))'
ELC	= $(EMACS) -batch $(ELFLAGS) -f batch-byte-compile

ELCFILES = $(ELFILES:.el=.elc)

TEXEXTS =  *.cps *.fns *.kys *.vr *.tp *.pg *.log *.aux *.toc *.cp *.ky *.fn

.SUFFIXES: .elc .el .info .ps .dvi .texi
.PHONY: elcfiles info clean distclean default
.PHONY: install_startup install_elc install install_el install_info
.PHONY: dvi postscript

.el.elc:
	$(ELC) $<

.texi.info:
	$(MAKEINFO) $<

.texi.dvi:
	$(TEXI2DVI) $<

.dvi.ps:
	$(DVIPS) -f $< >$@

######################################################################

default: elcfiles

elcfiles: $(ELCFILES)
info: $(PACKAGE).info

install_elc: $(ELCFILES) $(PACKAGE)-startup.el
	$(MKDIR) $(elcdir)
	for f in $(ELCFILES) $(PACKAGE)-startup.el; do \
	    $(CP) $$f $(elcdir)/$$f ;\
	done

install_el:
	$(MKDIR) $(eldir)
	for f in $(ELFILES); do \
	    $(CP) $$f $(eldir)/$$f ;\
	done

install_info: $(PACKAGE).info
	$(MKDIR) $(infodir)
	$(CP) *.info* $(infodir)/
	-[ ! -w $(infodir)/dir ] \
	    || install-info --info-dir=$(infodir)/dir $(PACKAGE).info

install_startup:
	$(MKDIR) $(lispdir)
	@if grep $(PACKAGE) $(lispdir)/site-start.el >/dev/null 2>&1 || \
	   grep $(PACKAGE) $(startupfile) >/dev/null 2>&1 || \
	   grep $(PACKAGE) $(lispdir)/default.el >/dev/null 2>&1; then \
	    echo "**********************************************************" ;\
	    echo "*** It seems you already have some setup code" ;\
	    echo "*** for $(PACKAGE) in your startup files." ;\
	    echo "*** Check that it properly loads \"$(PACKAGE)-startup\"" ;\
	    echo "**********************************************************" ;\
	else \
	    echo 'echo ";; load $(PACKAGE) setup code" >>$(startupfile)' ;\
	    echo ";; load $(PACKAGE) setup code" >>$(startupfile) ;\
	    echo 'echo "(add-to-list '\''load-path \"$(elcdir)\")" >>$(startupfile)' ;\
	    echo "(add-to-list 'load-path \"$(elcdir)\")" >>$(startupfile) ;\
	    echo 'echo "(load \"$(PACKAGE)-startup\")" >>$(startupfile)' ;\
	    echo "(load \"$(PACKAGE)-startup\")" >>$(startupfile) ;\
	fi

postscript: $(PACKAGE).ps
dvi: $(PACKAGE).dvi
install_dvi: dvi
	$(MKDIR) $(docdir)
	$(CP) `find . -type f -name '*.dvi' -print` $(docdir)/

install: install_elc install_info install_startup # install_el

clean:
	$(RM) *~ core .\#* $(TEXEXTS)

TAGS tags:
	$(ETAGS) $(ELFILES)

distclean: clean
	$(RM) *.elc *.dvi *.info* *.ps

######################################################################
###                    don't look below                            ###
######################################################################

$(PACKAGE)-startup.el: $(ELFILES)
	[ -f $@ ] || echo '' >$@
	$(EMACS) --batch --eval '(setq generated-autoload-file "'`pwd`'/$@")' -f batch-update-autoloads "."

##

TAG = $(shell echo v$(VERSION) | tr '.' '_')
ftpdir=/home/ftp/pub/monnier/$(PACKAGE)

dist:
	cvs tag -F $(TAG) &&\
	cd $(TMP) &&\
	cvs export -r $(TAG) -d $(PACKAGE)-$(VERSION) elisp/$(PACKAGE) &&\
	cd $(PACKAGE)-$(VERSION) &&\
	gmake info $(PACKAGE)-startup.el &&\
	cd .. &&\
	ztar $(PACKAGE)-$(VERSION) &&\
	rm -rf $(PACKAGE)-$(VERSION)
	mv $(TMP)/$(PACKAGE)-$(VERSION).tar.gz $(ftpdir)/
	ln -sf $(PACKAGE)-$(VERSION).tar.gz $(ftpdir)/$(PACKAGE).tar.gz

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0