]> code.delx.au - gnu-emacs/blobdiff - lisp/makefile.nt
(Custom-set, Custom-save, Custom-reset-current)
[gnu-emacs] / lisp / makefile.nt
index a4c755967695b1ce9e92d2b01e1c1c415a81e3b7..c1b905498b952a1b7dee2e13f8aecd2e65d5eb06 100644 (file)
 #  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.  */
+#  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.
 #
 
 !include ..\nt\makefile.def
 
 all:
 
+# You can specify a different executable on the make command line,
+# e.g. "make EMACS=../src/emacs ...".
+
+EMACS = ..\src\$(BLD)\emacs
+
+# Command line flags for Emacs.  This must include --multibyte,
+# otherwise some files will not compile.
+
+EMACSOPT = --no-init-file --no-site-file --multibyte -batch
+
+# Files which should not be compiled.  All file names must be relative
+# to the `lisp' directory.
+# - emacs-lisp/cl-specs.el:  only contains `def-edebug-spec's so there's
+#   no point compiling it, although it doesn't hurt.
+
+DONTCOMPILE = bindings.el mail/blessmail.el play/bruce.el cus-load.el \
+       cus-start.el forms-d2.el forms-pass.el \
+       international/latin-1.el international/latin-2.el \
+       international/latin-3.el international/latin-4.el \
+       international/latin-5.el \
+       loaddefs.el loadup.el international/mule-conf.el patcomp.el \
+       paths.el mail/sc.el subdirs.el version.el \
+       generic-x.el international/latin-8.el international/latin-9.el \
+       emacs-lisp/cl-specs.el finder-inf.el term/internal.el
+
+# The actual Emacs command run in the targets below.
+
+emacs = $(EMACS) $(EMACSOPT)
+
+.el.elc:
+       -$(emacs) -f batch-byte-compile $<
+
+$(DONTCOMPILE:.el=.elc):
+       -$(DEL) $@
+
+# Recompile all Lisp files which are newer than their .elc files.
+# Note that this doesn't create .elc files.  It only recompiles if an
+# .elc is present.
+
+recompile:
+       $(emacs) -f batch-byte-recompile-directory .
+
 #
 # Assuming INSTALL_DIR is defined, copy the elisp files to it
+# Windows 95 makes this harder than it should be.
 #
-install:;      - mkdir $(INSTALL_DIR)\lisp
-               - del /q .\same-dir.tst
-               - del /q $(INSTALL_DIR)\lisp\same-dir.tst
-               echo SameDirTest > .\same-dir.tst
-               if not exist $(INSTALL_DIR)\lisp\same-dir.tst $(CP_DIR) . $(INSTALL_DIR)\lisp
-               - del /q .\same-dir.tst
-               
+install:
+               - mkdir $(INSTALL_DIR)\lisp
+               - $(DEL) .\same-dir.tst
+               - $(DEL) $(INSTALL_DIR)\lisp\same-dir.tst
+               echo SameDirTest > $(INSTALL_DIR)\lisp\same-dir.tst
+!ifdef COPY_LISP_SOURCE
+               if not exist .\same-dir.tst $(CP_DIR) . $(INSTALL_DIR)\lisp
+!else
+               if not exist .\same-dir.tst $(CP_DIR) *.elc $(INSTALL_DIR)\lisp
+               if not exist .\same-dir.tst $(CP) cus-load.el $(INSTALL_DIR)\lisp
+               if not exist .\same-dir.tst $(CP) forms*.el $(INSTALL_DIR)\lisp
+               if not exist .\same-dir.tst $(CP) patcomp.el $(INSTALL_DIR)\lisp
+               if not exist .\same-dir.tst $(CP) subdirs.el $(INSTALL_DIR)\lisp
+               if not exist .\same-dir.tst $(CP) version.el $(INSTALL_DIR)\lisp
+               if not exist .\same-dir.tst $(CP) mail\blessmail.el $(INSTALL_DIR)\lisp\mail
+               if not exist .\same-dir.tst $(CP) mail\sc.el $(INSTALL_DIR)\lisp\mail
+               if not exist .\same-dir.tst $(CP) play\bruce.el $(INSTALL_DIR)\lisp\play
+               if not exist .\same-dir.tst $(CP) international\latin-*.el $(INSTALL_DIR)\lisp\international
+               if not exist .\same-dir.tst $(CP) international\mule-conf.el $(INSTALL_DIR)\lisp\international
+               - $(DEL) $(INSTALL_DIR)\lisp\same-dir.tst
+!endif
 
 #
 # Maintenance
 # 
-clean:;                - del /q *~
+clean:;                - $(DEL) *~ term\*~
+               - $(DEL) *.orig *.rej *.crlf
+               - $(DEL) emacs-lisp\*.orig emacs-lisp\*.rej emacs-lisp\*.crlf
+               - $(DEL) emulation\*.orig emulation\*.rej emulation\*.crlf
+               - $(DEL) gnus\*.orig gnus\*.rej gnus\*.crlf
+               - $(DEL) international\*.orig international\*.rej international\*.crlf
+               - $(DEL) language\*.orig language\*.rej language\*.crlf
+               - $(DEL) mail\*.orig mail\*.rej mail\*.crlf
+               - $(DEL) play\*.orig play\*.rej play\*.crlf
+               - $(DEL) progmodes\*.orig progmodes\*.rej progmodes\*.crlf
+               - $(DEL) term\*.orig term\*.rej term\*.crlf
+               - $(DEL) textmodes\*.orig textmodes\*.rej textmodes\*.crlf
                - $(DEL_TREE) deleted
-