Source

XEmacs / Makefile

Diff from to
 # DIST: make most of the changes to this file you might want, so try
 # DIST: that first.
 
+# This file is part of XEmacs.
+
+# XEmacs 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.
+
+# XEmacs 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 XEmacs; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
 # make all	to compile and build XEmacs.
 # make install	to install it.
 # make TAGS	to update tags tables.
 # ==================== Things `configure' Might Edit ====================
 
 CC=gcc
-CPP=gcc -E -I/usr/i486-linuxaout/include -I/m/xpm-3.4h/lib -I/usr/X11R6/include
+CPP=gcc -E -I/usr/X11R6/include
 C_SWITCH_SYSTEM= -DFUNCPROTO=11 -DNARROWPROTO -D_BSD_SOURCE 
 LN_S=ln -s
-CFLAGS=-bi486-linuxaout -O4 -m486 -malign-functions=2 -malign-jumps=2 -malign-loops=2
+CFLAGS=-m486 -g -O4 -malign-loops=2 -malign-jumps=2 -malign-functions=2
 C_SWITCH_X_SITE=-I/usr/X11R6/include
 LD_SWITCH_X_SITE=-L/usr/X11R6/lib
 YACC=bison -y
 ### to install files in.
 
 ### This should be the number of the XEmacs version we're building,
-### like `19.13' or `19.14'.
-version=19.14
+### like `19.12' or `19.13'.
+version=20.0-b32
 
 ### This should be the name of the configuration we're building XEmacs
 ### for, like `mips-dec-ultrix' or `sparc-sun-sunos'.
-configuration=i486-unknown-linux2.0.0
+configuration=i586-unknown-linux2.0.27
 
 ### Libraries which should be edited into lib-src/Makefile.
 libsrc_libs= -lgcc -lc -lgcc /usr/lib/crtn.o 
 # expected to be in ${srcdir}/src, and the source code for XEmacs's
 # utility programs is expected to be in ${srcdir}/lib-src.  This is
 # set by the configure script's `--srcdir' option.
-srcdir=/m/xemacs-19.14
+srcdir=/usr/local/xemacs/xemacs-20.0-b32
 
 # Tell make where to find source files; this is needed for the makefiles.
-VPATH=/m/xemacs-19.14
+VPATH=/usr/local/xemacs/xemacs-20.0-b32
 
 # ==================== XEmacs-specific directories ====================
 
 SUBDIR = ${MAKE_SUBDIR} man
 
 # The makefiles of the directories in $SUBDIR.
-SUBDIR_MAKEFILES = lib-src/Makefile lwlib/Makefile dynodump/Makefile src/Makefile man/Makefile
+SUBDIR_MAKEFILES = lib-src/Makefile lwlib/Makefile dynodump/Makefile src/Makefile
 
 # Subdirectories to install, and where they'll go.
 # lib-src's makefile knows how to install it, so we don't do that here.
 all:	src/paths.h src/Emacs.ad.h ${MAKE_SUBDIR}
 
 # Convenience target for XEmacs beta testers
-beta:		clean all-elc
+beta:	clean all-elc
 
 # Build XEmacs and recompile out-of-date and missing .elc files along
 # the way.
-all-elc:	src/paths.h src/Emacs.ad.h lib-src lwlib dump-elcs src
+all-elc all-elcs:  src/paths.h src/Emacs.ad.h lib-src lwlib dump-elcs src
 	sh ${srcdir}/lib-src/update-elc.sh
 
 # Sub-target for all-elc.
-dump-elcs:	FRC.dump-elcs
+dump-elc dump-elcs:  FRC.dump-elcs
 	cd src; $(MAKE) dump-elcs $(MFLAGS) \
 		CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}'
 
 dynodump/Makefile: ${srcdir}/dynodump/Makefile.in.in config.status
 	./config.status
 
-man/Makefile: ${srcdir}/man/Makefile.in.in config.status
-	./config.status
-
 src/config.h: ${srcdir}/src/config.h.in
 	./config.status
 
 install: all install-arch-dep install-arch-indep;
 
 install-arch-dep: mkdir
-	(cd lib-src; \
+	(cd lib-src && \
 	  $(MAKE) install $(MFLAGS) prefix=${prefix} \
 	    exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} \
 	    archlibdir=${archlibdir})
 	if [ `(cd ${archlibdir}; /bin/pwd)` != `(cd ./lib-src; /bin/pwd)` ]; \
 	then \
-	   echo "Copying lib-src/DOC-* ..." ; \
-	   (cd ./lib-src; tar -cf - DOC-*)|(cd ${archlibdir}; umask 0; tar -xf - ); \
+	   ${INSTALL_DATA} lib-src/DOC ${archlibdir}/DOC ; \
 	   for subdir in `find ${archlibdir} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; do \
-	     rm -rf $${subdir}/RCS ; \
-	     rm -rf $${subdir}/CVS ; \
-	     rm -rf $${subdir}/SCCS ; \
-	     rm -f  $${subdir}/\#* ; \
-	     rm -f  $${subdir}/*~ ; \
+	     rm -rf $${subdir}/RCS $${subdir}/CVS $${subdir}/SCCS ; \
+	     rm -f  $${subdir}/\#* $${subdir}/*~ ; \
 	   done ; \
 	else true; fi
 	${INSTALL_PROGRAM} src/xemacs ${bindir}/xemacs-${version}
 	       (cd $${dir}; tar -cf - . )|(cd $${dest};umask 022; tar -xf - );\
 	       chmod 0755 $${dest}; \
 	       for subdir in `find $${dest} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; do \
-		 rm -rf $${subdir}/RCS ; \
-		 rm -rf $${subdir}/CVS ; \
-		 rm -rf $${subdir}/SCCS ; \
-		 rm -f  $${subdir}/\#* ; \
-		 rm -f  $${subdir}/*~ ; \
+		 rm -rf $${subdir}/RCS $${subdir}/CVS $${subdir}/SCCS ; \
+		 rm -f  $${subdir}/\#* $${subdir}/*~ ; \
 	       done) ; \
 	 done
 	if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \
 	   fi ; \
 	   for f in ange-ftp* cc-mode* cl* dired* ediff* external-widget* \
 		    forms* gnus* hyperbole* ilisp* info* internals* \
-		    ispell* internals* lispref* mailcrypt* message* mh-e* \
+		    ispell* lispref* mailcrypt* message* mh-e* \
                     new-users-guide* oo-browser* pcl-cvs* psgml* rmail* \
                     standards* supercite* term.* termcap* texinfo* viper* \
                     vm* w3* xemacs* ; do \
 	     ${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f ; \
 	     chmod 0644 ${infodir}/$$f; \
+	     gzip -9 ${infodir}/$$f; \
 	   done); \
 	else true; fi
 	cd ${srcdir}/etc; for page in xemacs etags ctags gnuserv \
 MAKEPATH=./lib-src/make-path
 ### Build all the directories we're going to install XEmacs in.	Since
 ### we may be creating several layers of directories (for example,
-### /usr/local/lib/xemacs-19.14/mips-dec-ultrix4.2), we use make-path
+### /usr/local/lib/xemacs-19.13/mips-dec-ultrix4.2), we use make-path
 ### instead of mkdir.  Not all systems' mkdirs have the `-p' flag.
 mkdir: FRC.mkdir
 	${MAKEPATH} ${COPYDESTS} ${lockdir} ${infodir} ${mandir} \
 
 TAGS tags:
 	@echo "If you don't have a copy of etags around, then do 'make lib-src' first."
-	@PATH=`pwd`/lib-src:$$PATH ; echo "Using etags from `which etags`."
-	PATH=`pwd`/lib-src:$$PATH ; cd ${srcdir} ; \
-	etags --regex='| /[ 	]*DEFVAR_[A-Z_ 	(]+"\([^\"]+\)"/|' src/*.[ch] ; \
-	for d in `find lisp -name SCCS -prune -o -name RCS -prune -o -type d -print` ; do (cd $$d ; if [ "`echo *.el`" != "*.el" ] ; then etags -a -o ${srcdir}/TAGS *.el ; fi ) ; done ; \
+	@PATH=`pwd`/lib-src:$$PATH HOME=/-=-; export PATH HOME; \
+	  echo "Using etags from `which etags`."
+	PATH=`pwd`/lib-src:$$PATH ; export PATH; cd ${srcdir} ; \
+	etags --regex='/[ 	]*DEF\(VAR\|INE\)_[A-Z_]+[ 	]*([ 	]*"\([^"]+\)"/\2/' src/*.[ch] ; \
+	for d in `find lisp -name SCCS -prune -o -name RCS -prune -o -type d -print` ; do \
+	  (cd $$d ; if [ "`echo *.el`" != "*.el" ] ; then etags -a -o ${srcdir}/TAGS *.el ; fi ) ; \
+	done ; \
 	etags -a lwlib/*.[ch]
 
 check:
-	@echo "We don't have any tests for XEmacs yet."
+	@echo "We don't have any automated tests for XEmacs yet."
 
 dist:
 	cd ${srcdir} && make-dist
 .PHONY: info dvi
 force-info:
 info: force-info
-	(cd ${srcdir}/man && $(MAKE) $(MFLAGS) info)
+	cd ${srcdir}/man && $(MAKE) $(MFLAGS) $@
+dvi:
+	cd ${srcdir}/man && $(MAKE) $(MFLAGS) $@
 
-dvi:
-	(cd ${srcdir}/man && $(MAKE) $(MFLAGS) dvi)
+# Fix up version information in executables (Solaris-only)
+mcs:
+	date=`LANG=C LC_ALL=C date -u '+%e %b %Y'`; \
+	ident="@(#)RELEASE VERSION XEmacs ${version} $${date}"; \
+	for f in `file lib-src/* src/xemacs | grep ELF | sed -e 's/:.*//'`; do \
+	  mcs -da "$${ident} `echo $${f} | sed 's/.*\///'`" $${f}; \
+	done