From 81ac4f35366bfc525fa6ed89e0b5aaa90a05c902 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 26 May 2010 22:43:27 -0700 Subject: [PATCH] Do not preprocess src/Makefile.in. * configure.in: Do not preprocess src/Makefile.in. (cpp_undefs, CPP_NEED_TRADITIONAL): Remove. (AC_EGREP_CPP): Test no longer needed. * configure: Regenerate. * config.bat: Do not preprocess src/Makefile.in. * make-dist: No more Makefile.c files. * INSTALL, src/README: Makefiles are not preprocessed. * src/Makefile.in, src/autodeps.mk, src/deps.mk, src/ns.mk: Convert comments to Makefile format. * lib-src/Makefile.in (distclean): No more Makefile.c. * src/Makefile.in (bootstrap-clean): No more Makefile.c. * admin/notes/cpp: Remove file. * admin/quick-install-emacs (AVOID): No more Makefile.c files. * etc/PROBLEMS, etc/MACHINES: Remove details of cpp problems which can no longer occur. --- ChangeLog | 10 ++ INSTALL | 26 ++-- admin/ChangeLog | 6 + admin/notes/cpp | 14 -- admin/quick-install-emacs | 6 +- config.bat | 9 +- configure | 75 +---------- configure.in | 53 +------- etc/MACHINES | 12 +- etc/PROBLEMS | 38 ------ lib-src/ChangeLog | 4 + lib-src/Makefile.in | 2 +- make-dist | 3 +- src/ChangeLog | 7 + src/Makefile.in | 262 +++++++++++++++++++------------------- src/README | 14 +- src/autodeps.mk | 4 +- src/deps.mk | 68 +++++----- src/ns.mk | 42 +++--- 19 files changed, 248 insertions(+), 407 deletions(-) delete mode 100644 admin/notes/cpp diff --git a/ChangeLog b/ChangeLog index f17fd567624..0e82d3a521c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2010-05-27 Glenn Morris + + * config.bat: Do not preprocess src/Makefile.in. + + * configure.in: Do not preprocess src/Makefile.in. + (cpp_undefs, CPP_NEED_TRADITIONAL): Remove. + (AC_EGREP_CPP): Test no longer needed. + + * make-dist: No more Makefile.c files. + 2010-05-26 Glenn Morris * configure.in (YMF_PASS_LDFLAGS): Remove. diff --git a/INSTALL b/INSTALL index 040b25f6d6d..35238fc21a4 100644 --- a/INSTALL +++ b/INSTALL @@ -1,6 +1,7 @@ GNU Emacs Installation Guide Copyright (C) 1992, 1994, 1996, 1997, 2000, 2001, 2002, 2003, 2004, -2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008, 2009, 2010 + Free Software Foundation, Inc. See the end of the file for license conditions. @@ -686,8 +687,8 @@ when running make in the subdirectories. CONFIGURATION BY HAND -Instead of running the `configure' program, you have to perform the -following steps. +This should not be necessary and is not recommended. Instead of +running the `configure' program, you have to perform the following steps. 1) Copy `./src/config.in' to `./src/config.h'. @@ -701,22 +702,15 @@ the appropriate system and architecture description files. 2) Edit `./src/config.h' to set the right options for your system. If you need to override any of the definitions in the s/*.h and m/*.h files for your system and machine, do so by editing config.h, not by -changing the s/*.h and m/*.h files. Occasionally you may need to -redefine parameters used in `./lib-src/movemail.c'. +changing the s/*.h and m/*.h files. -3) Create src/Makefile and lib-src/Makefile from the corresponding -`Makefile.in' files. First copy `Makefile.in' to `Makefile.c', -then edit in appropriate substitutions for the @...@ constructs, -and then copy the shell commands near the end of `configure' -that run cpp to construct `Makefile'. - -4) Create `Makefile' files in various other directories -from the corresponding `Makefile.in' files. This isn't so hard, -just a matter of substitution. +3) Create `Makefile' files in various directories from the +corresponding `Makefile.in' files. This isn't so hard, just a matter +of editing in appropriate substitutions for the @...@ constructs. The `configure' script is built from `configure.in' by the `autoconf' -program. You need version 2.51 or newer of `autoconf' to rebuild -`configure'. +program. You need at least the version of autoconf specified in the +AC_PREREQ(...) command to rebuild `configure' from `configure.in'. BUILDING GNU EMACS BY HAND diff --git a/admin/ChangeLog b/admin/ChangeLog index 54be4a7fec3..2f6efffd157 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog @@ -1,3 +1,9 @@ +2010-05-27 Glenn Morris + + * quick-install-emacs (AVOID): No more Makefile.c files. + + * notes/cpp: Remove file. + 2010-05-15 Ken Raeburn * admin.el (set-version, set-copyright): Update emacs.c instead of diff --git a/admin/notes/cpp b/admin/notes/cpp deleted file mode 100644 index 73b4b3d64ff..00000000000 --- a/admin/notes/cpp +++ /dev/null @@ -1,14 +0,0 @@ -ttn 2003-04-09 - -we use a C preprocesor not only in the normal compilation of .c files -into object files, but also for creating src/Makefile. -(delimited by comment "start of cpp stuff"). some cpp implementations -insert whitespace in between tokens. - -during makefile creation, the preprocessor symbol NOT_C_CODE is defined. -this should not be defined for normal .c file compilation. - -there has been discussion on eliminating this use of cpp and relying -solely on autoconf processing. rms says to leave it be. - -;;; arch-tag: d654291e-9fc8-41b7-ab0c-d3cde842a8e0 diff --git a/admin/quick-install-emacs b/admin/quick-install-emacs index d603d8fd0d6..39b200b5102 100755 --- a/admin/quick-install-emacs +++ b/admin/quick-install-emacs @@ -1,8 +1,8 @@ #!/bin/sh ### quick-install-emacs --- do a halfway-decent job of installing emacs quickly -## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 -## Free Software Foundation, Inc. +## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, +## 2010 Free Software Foundation, Inc. ## Author: Miles Bader @@ -31,7 +31,7 @@ PUBLIC_LIBSRC_BINARIES='b2m emacsclient etags ctags ebrowse' PUBLIC_LIBSRC_SCRIPTS='grep-changelog rcs-checkin' -AVOID="CVS -DIC README COPYING ChangeLog ~ [.]orig$ [.]rej$ Makefile$ Makefile.in$ Makefile.c$ makefile$ makefile.w32-in$ stamp-subdir [.]cvsignore [.]arch-ids [{]arch[}] [.][cho]$ make-docfile testfile test-distrib" +AVOID="CVS -DIC README COPYING ChangeLog ~ [.]orig$ [.]rej$ Makefile$ Makefile.in$ makefile$ makefile.w32-in$ stamp-subdir [.]cvsignore [.]arch-ids [{]arch[}] [.][cho]$ make-docfile testfile test-distrib" # Prune old binaries lying around in the source tree PRUNE=no diff --git a/config.bat b/config.bat index ba31161962e..a37a7a70085 100644 --- a/config.bat +++ b/config.bat @@ -190,11 +190,10 @@ rem On my system dir.h gets in the way. It's a VMS file so who cares. if exist dir.h ren dir.h vmsdir.h rem Create "makefile" from "makefile.in". -rm -f Makefile junk.c junk2.c -sed -e "1,/== start of cpp stuff ==/s@^##*[ ].*$@@" junk.c -copy junk.c + deps.mk junk2.c -gcc -E -traditional junk2.c | sed -f ../msdos/sed1v2.inp >Makefile -rm -f junk.c junk2.c +rm -f Makefile makefile.tmp +copy Makefile.in + deps.mk makefile.tmp +sed -f ../msdos/sed1v2.inp Makefile +rm -f makefile.tmp if "%X11%" == "" goto src5 mv Makefile makefile.tmp diff --git a/configure b/configure index 7895df600a2..3f8ebffc6ee 100755 --- a/configure +++ b/configure @@ -26694,15 +26694,15 @@ fi test "x$LINKER" = "x" && LINKER=ld -## FIXME? What setting of YMF_PASS_LDFLAGS should this have? +## FIXME? What setting of EDIT_LDFLAGS should this have? test "$NS_IMPL_GNUSTEP" = "yes" && LINKER="\$(CC) -rdynamic" -## FIXME? The logic here is not precisely the same as that above -## setting YMF_PASS_LDFLAGS. There is no check here for a pre-defined -## LINKER. Should we only be setting LIB_GCC if LD ~ -nostdlib? +## FIXME? The logic here is not precisely the same as that above. +## There is no check here for a pre-defined LINKER. +## Should we only be setting LIB_GCC if LD ~ -nostdlib? LIB_GCC= if test "x$GCC" = "xyes" && test "x$ORDINARY_LINK" != "xyes"; then @@ -26848,42 +26848,7 @@ test "${prefix}" != NONE && test "${exec_prefix}" != NONE && exec_prefix=`echo "${exec_prefix}" | sed 's,\([^/]\)/*$,\1,'` -# Now get this: Some word that is part of the ${srcdir} directory name -# or the ${configuration} value might, just might, happen to be an -# identifier like `sun4' or `i386' or something, and be predefined by -# the C preprocessor to some helpful value like 1, or maybe the empty -# string. Needless to say consequent macro substitutions are less -# than conducive to the makefile finding the correct directory. -# src/Makefile.in used to treat X11 as equivalent to HAVE_X11. -# But nothing in Emacs defines X11, and everywhere else uses HAVE_X11, -# so that cannot have been doing anything. -cpp_undefs="`echo $srcdir $configuration $canonical unix mktime register X11 | - sed -e 's/[^a-zA-Z0-9_]/ /g' -e 's/^/ /' -e 's/ *$//' \ - -e 's/ */ -U/g' -e 's/-U[0-9][^ ]*//g'`" - -## Check if the C preprocessor will convert `..' to `. .'. If so, set -## CPP_NEED_TRADITIONAL to `yes' so that the code to generate Makefile -## from Makefile.c can correctly provide the arg `-traditional' to the -## C preprocessor. - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -yes..yes -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "yes..yes" >/dev/null 2>&1; then - CPP_NEED_TRADITIONAL=no -else - CPP_NEED_TRADITIONAL=yes -fi -rm -f conftest* - - -ac_config_files="$ac_config_files Makefile lib-src/Makefile oldXMenu/Makefile doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile doc/lispref/Makefile src/Makefile.c:src/Makefile.in lwlib/Makefile lisp/Makefile leim/Makefile" +ac_config_files="$ac_config_files Makefile lib-src/Makefile oldXMenu/Makefile doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile doc/lispref/Makefile src/Makefile lwlib/Makefile lisp/Makefile leim/Makefile" ac_config_commands="$ac_config_commands default" @@ -27470,7 +27435,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # -GCC="$GCC" NON_GNU_CPP="$NON_GNU_CPP" CPP="$CPP" CPP_NEED_TRADITIONAL="$CPP_NEED_TRADITIONAL" CPPFLAGS="$CPPFLAGS" cpp_undefs="$cpp_undefs" +GCC="$GCC" NON_GNU_CPP="$NON_GNU_CPP" CPP="$CPP" CPPFLAGS="$CPPFLAGS" _ACEOF @@ -27488,7 +27453,7 @@ do "doc/misc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/misc/Makefile" ;; "doc/lispintro/Makefile") CONFIG_FILES="$CONFIG_FILES doc/lispintro/Makefile" ;; "doc/lispref/Makefile") CONFIG_FILES="$CONFIG_FILES doc/lispref/Makefile" ;; - "src/Makefile.c") CONFIG_FILES="$CONFIG_FILES src/Makefile.c:src/Makefile.in" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "lwlib/Makefile") CONFIG_FILES="$CONFIG_FILES lwlib/Makefile" ;; "lisp/Makefile") CONFIG_FILES="$CONFIG_FILES lisp/Makefile" ;; "leim/Makefile") CONFIG_FILES="$CONFIG_FILES leim/Makefile" ;; @@ -28154,35 +28119,9 @@ for dir in etc lisp ; do test -d ${dir} || mkdir ${dir} done -# Build src/Makefile from ${srcdir}/src/Makefile.c -# This must be done after src/config.h is built, since we rely on that file. - echo creating src/epaths.h ${MAKE-make} epaths-force -# As of 2000-11-19, newest development versions of GNU cpp preprocess -# `..' to `. .' unless invoked with -traditional - -if test "x$GCC" = xyes && test "x$CPP_NEED_TRADITIONAL" = xyes; then - CPPFLAGS="$CPPFLAGS -traditional" -fi - -echo creating src/Makefile -( cd src - rm -f junk.c junk1.c junk2.c - sed -e '/start of cpp stuff/q' \ - < Makefile.c > junk1.c - sed -e '1,/start of cpp stuff/d'\ - -e 's,/\*\*/#\(.*\)$,/* \1 */,' \ - < Makefile.c > junk.c - $CPP -P $cpp_undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \ - sed -e 's/^ / /' -e '/^#/d' -e '/^[ ]*$/d' > junk2.c - cat junk1.c junk2.c > Makefile.new - rm -f junk.c junk1.c junk2.c - chmod 444 Makefile.new - mv -f Makefile.new Makefile -) - if test ! -f src/.gdbinit && test -f $srcdir/src/.gdbinit; then echo creating src/.gdbinit echo source $srcdir/src/.gdbinit > src/.gdbinit diff --git a/configure.in b/configure.in index 9fb73280d78..9d301367b09 100644 --- a/configure.in +++ b/configure.in @@ -3755,32 +3755,9 @@ fi test "${exec_prefix}" != NONE && exec_prefix=`echo "${exec_prefix}" | sed 's,\([^/]\)/*$,\1,'`] -# Now get this: Some word that is part of the ${srcdir} directory name -# or the ${configuration} value might, just might, happen to be an -# identifier like `sun4' or `i386' or something, and be predefined by -# the C preprocessor to some helpful value like 1, or maybe the empty -# string. Needless to say consequent macro substitutions are less -# than conducive to the makefile finding the correct directory. -# src/Makefile.in used to treat X11 as equivalent to HAVE_X11. -# But nothing in Emacs defines X11, and everywhere else uses HAVE_X11, -# so that cannot have been doing anything. -[cpp_undefs="`echo $srcdir $configuration $canonical unix mktime register X11 | - sed -e 's/[^a-zA-Z0-9_]/ /g' -e 's/^/ /' -e 's/ *$//' \ - -e 's/ */ -U/g' -e 's/-U[0-9][^ ]*//g'`"] - -## Check if the C preprocessor will convert `..' to `. .'. If so, set -## CPP_NEED_TRADITIONAL to `yes' so that the code to generate Makefile -## from Makefile.c can correctly provide the arg `-traditional' to the -## C preprocessor. - -AC_EGREP_CPP(yes..yes, - [yes..yes], - CPP_NEED_TRADITIONAL=no, - CPP_NEED_TRADITIONAL=yes) - AC_OUTPUT(Makefile lib-src/Makefile oldXMenu/Makefile \ doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile \ - doc/lispref/Makefile src/Makefile.c:src/Makefile.in \ + doc/lispref/Makefile src/Makefile \ lwlib/Makefile lisp/Makefile leim/Makefile, [ ### Make the necessary directories, if they don't exist. @@ -3788,41 +3765,15 @@ for dir in etc lisp ; do test -d ${dir} || mkdir ${dir} done -# Build src/Makefile from ${srcdir}/src/Makefile.c -# This must be done after src/config.h is built, since we rely on that file. - echo creating src/epaths.h ${MAKE-make} epaths-force -# As of 2000-11-19, newest development versions of GNU cpp preprocess -# `..' to `. .' unless invoked with -traditional - -if test "x$GCC" = xyes && test "x$CPP_NEED_TRADITIONAL" = xyes; then - CPPFLAGS="$CPPFLAGS -traditional" -fi - -echo creating src/Makefile -( cd src - rm -f junk.c junk1.c junk2.c - sed -e '/start of cpp stuff/q' \ - < Makefile.c > junk1.c - sed -e '1,/start of cpp stuff/d'\ - -e 's,/\*\*/#\(.*\)$,/* \1 */,' \ - < Makefile.c > junk.c - $CPP -P $cpp_undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \ - sed -e 's/^ / /' -e '/^#/d' -e '/^[ ]*$/d' > junk2.c - cat junk1.c junk2.c > Makefile.new - rm -f junk.c junk1.c junk2.c - chmod 444 Makefile.new - mv -f Makefile.new Makefile -) - if test ! -f src/.gdbinit && test -f $srcdir/src/.gdbinit; then echo creating src/.gdbinit echo source $srcdir/src/.gdbinit > src/.gdbinit fi -], [GCC="$GCC" NON_GNU_CPP="$NON_GNU_CPP" CPP="$CPP" CPP_NEED_TRADITIONAL="$CPP_NEED_TRADITIONAL" CPPFLAGS="$CPPFLAGS" cpp_undefs="$cpp_undefs"]) +], [GCC="$GCC" NON_GNU_CPP="$NON_GNU_CPP" CPP="$CPP" CPPFLAGS="$CPPFLAGS"]) m4_if(dnl Do not change this comment arch-tag: 156a4dd5-bddc-4d18-96ac-f37742cf6a5e diff --git a/etc/MACHINES b/etc/MACHINES index 8fc79ab0d1d..aa5d766e8dd 100644 --- a/etc/MACHINES +++ b/etc/MACHINES @@ -198,8 +198,7 @@ IBM RS/6000 (rs6000-ibm-aix*) IBM System/390 running GNU/Linux (s390-*-linux-gnu) - As of Emacs 21.2, a 31-bit only version is supported on this - system. + As of Emacs 21.2, a 31-bit only version is supported on this system. Intel 386 (i386-*-freebsd, i386-*-linux-gnu, i386-*-sol2.4, i386-intsys-sysv, @@ -247,11 +246,6 @@ Intel 386 (i386-*-freebsd, i386-*-linux-gnu, do `gmake install MAKE=gmake'. However, more recently it is reported that using the system Make on NetBSD 1.3.1 works ok. - If you are using System V release 4.2, you may find that `cc -E' - puts spurious spaces in `src/xmakefile'. If that happens, - specify CPP=/lib/cpp as an option when you run make. - There is no problem if you compile with GCC. - Note that use of Linux with GCC 2.4 and the DLL 4.4 libraries requires the experimental "net 2" network patches (no relation to Berkeley Net 2). There is a report that (some version of) Linux @@ -491,10 +485,6 @@ System V rel 4.0.3 and 4.0.4 (usg5.4) If you get compilation errors about wrong number of arguments to getpgrp, define GETPGRP_NO_ARG. - The standard C preprocessor may generate xmakefile incorrectly. However, - /lib/cpp will work, so use `make CPP=/lib/cpp'. Standard cpp - seems to work OK under Dell 2.2. - Some versions 3 and earlier of V.4, on the Intel 386 and 860, had problems in the X11 libraries. These prevent Emacs from working with X. You can use Emacs with X provided your copy of X is based diff --git a/etc/PROBLEMS b/etc/PROBLEMS index b3cda374c51..65e3920eee3 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS @@ -2373,18 +2373,6 @@ The solution is to tell configure to use the correct C preprocessor for your C compiler (CPP="/opt/SUNWspro/bin/cc -E" in the above example). -*** `configure' fails with ``"junk.c", line 660: invalid input token: 8.elc'' - -The final stage of the Emacs configure process uses the C preprocessor -to generate the Makefiles. Errors of this form can occur if the C -preprocessor inserts extra whitespace into its output. The solution -is to find the switches that stop your preprocessor from inserting extra -whitespace, add them to CPPFLAGS, and re-run configure. For example, -this error can occur on Solaris 10 when using the Sun Studio compiler -``Sun C 5.8'' with its preprocessor CPP="/opt/SUNWspro/bin/cc -E". -The relevant switch in this case is "-Xs" (``compile assuming -(pre-ANSI) K & R C style code''). - ** Compilation *** Building Emacs over NFS fails with ``Text file busy''. @@ -2427,32 +2415,6 @@ you are working on the host called `marvin'. Then an entry in the The solution is to remove this line from `etc/fstab'. -*** Building Emacs with GCC 2.9x fails in the `src' directory. - -This may happen if you use a development version of GNU `cpp' from one -of the GCC snapshots between Oct 2000 and Feb 2001, or from a released -version of GCC newer than 2.95.2 which was prepared around those -dates; similar problems were reported with some snapshots of GCC 3.1 -around Sep 30 2001. The preprocessor in those versions is -incompatible with a traditional Unix cpp (e.g., it expands ".." into -". .", which breaks relative file names that reference the parent -directory; or inserts TAB characters before lines that set Make -variables). - -The solution is to make sure the preprocessor is run with the -`-traditional' option. The `configure' script does that automatically -when it detects the known problems in your cpp, but you might hit some -unknown ones. To force the `configure' script to use `-traditional', -run the script like this: - - CPP='gcc -E -traditional' ./configure ... - -(replace the ellipsis "..." with any additional arguments you pass to -the script). - -Note that this problem does not pertain to the MS-Windows port of -Emacs, since it doesn't use the preprocessor to generate Makefiles. - *** src/Makefile and lib-src/Makefile are truncated--most of the file missing. *** Compiling wakeup, in lib-src, says it can't make wakeup.c. diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index d2c7301fb6f..ac1641a552e 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,7 @@ +2010-05-27 Glenn Morris + + * Makefile.in (distclean): No more Makefile.c. + 2010-05-22 Jan Djärv * Makefile.in (STAMP_INST_SCRIPTS, STAMP_SCRIPS): New (Bug #6246). diff --git a/lib-src/Makefile.in b/lib-src/Makefile.in index 1c19dec276b..264f14b1d49 100644 --- a/lib-src/Makefile.in +++ b/lib-src/Makefile.in @@ -283,7 +283,7 @@ clean: mostlyclean distclean: clean -rm -f TAGS - -rm -f Makefile Makefile.c blessmail + -rm -f Makefile blessmail maintainer-clean: distclean true diff --git a/make-dist b/make-dist index 11969042db1..d853a078ce3 100755 --- a/make-dist +++ b/make-dist @@ -461,7 +461,7 @@ echo "Making links to \`src'" ln makefile.w32-in ../${tempdir}/src ln .gdbinit .dbxinit ../${tempdir}/src cd ../${tempdir}/src - rm -f config.h epaths.h Makefile Makefile.c + rm -f config.h epaths.h Makefile rm -f =* TAGS) echo "Making links to \`src/bitmaps'" @@ -499,7 +499,6 @@ echo "Making links to \`lib-src'" fi done cd ../${tempdir}/lib-src - rm -f Makefile.c rm -f getopt.h rm -f =* TAGS) diff --git a/src/ChangeLog b/src/ChangeLog index 83d2e956af6..d7128960af7 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2010-05-27 Glenn Morris + + * Makefile.in, autodeps.mk, deps.mk, ns.mk: + Convert comments to Makefile format. + + * Makefile.in (bootstrap-clean): No more Makefile.c. + 2010-05-26 Glenn Morris * Makefile.in (YMF_PASS_LDFLAGS): Remove. diff --git a/src/Makefile.in b/src/Makefile.in index ea84fa08429..0b23606a921 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -23,13 +23,6 @@ # script may need modifying in sync with changes made here. Try to # avoid shell-ism because the DOS build has to use the DOS shell. -# Don't try to replace the cpp processing using autoconf facilities, -# says rms. -# Replacing a particular part of the conditionals to work via autoconf -# is OK. -# Some of the conditionals might be dead now. Finding them and -# deleting them would be fine. - SHELL = /bin/sh # Here are the things that we expect ../configure to edit. @@ -47,7 +40,7 @@ version = @version@ # BSD doesn't have it as a default. @SET_MAKE@ # Don't use LIBS. configure puts stuff in it that either shouldn't be -# linked with Emacs or is duplicated by the cpp stuff below. +# linked with Emacs or is duplicated by the other stuff below. # LIBS = @LIBS@ LIBOBJS = @LIBOBJS@ @@ -298,24 +291,26 @@ DEPFLAGS=@DEPFLAGS@ ## test -d ${DEPDIR} || mkdir ${DEPDIR} (if AUTO_DEPEND); else ':'. MKDEPDIR=@MKDEPDIR@ -# ========================== start of cpp stuff ======================= -/* From here on, comments must be done in C syntax. */ - -/* DO NOT use -R. There is a special hack described in lastfile.c - which is used instead. Some initialized data areas are modified - at initial startup, then labeled as part of the text area when - Emacs is dumped for the first time, and never changed again. */ - -/* -Demacs is needed to make some files produce the correct version - for use in Emacs. - - -DHAVE_CONFIG_H is needed for some other files to take advantage of - the information in ``config.h''. */ - -/* C_SWITCH_X_SITE must come before C_SWITCH_X_SYSTEM - since it may have -I options that should override those. */ -/* MYCPPFLAGS only referenced in etc/DEBUG. */ -ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(MYCPPFLAGS) -I. -I${srcdir} ${C_SWITCH_MACHINE} ${C_SWITCH_SYSTEM} ${C_SWITCH_X_SITE} ${C_SWITCH_X_SYSTEM} ${CFLAGS_SOUND} ${RSVG_CFLAGS} ${DBUS_CFLAGS} ${GCONF_CFLAGS} ${CFLAGS} ${FREETYPE_CFLAGS} ${FONTCONFIG_CFLAGS} ${LIBOTF_CFLAGS} ${M17N_FLT_CFLAGS} ${DEPFLAGS} +## DO NOT use -R. There is a special hack described in lastfile.c +## which is used instead. Some initialized data areas are modified +## at initial startup, then labeled as part of the text area when +## Emacs is dumped for the first time, and never changed again. +## +## -Demacs is needed to make some files produce the correct version +## for use in Emacs. +## +## -DHAVE_CONFIG_H is needed for some other files to take advantage of +## the information in `config.h'. +## +## C_SWITCH_X_SITE must come before C_SWITCH_X_SYSTEM +## since it may have -I options that should override those. +## +## FIXME? MYCPPFLAGS only referenced in etc/DEBUG. +ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(MYCPPFLAGS) -I. -I${srcdir} \ + ${C_SWITCH_MACHINE} ${C_SWITCH_SYSTEM} ${C_SWITCH_X_SITE} \ + ${C_SWITCH_X_SYSTEM} ${CFLAGS_SOUND} ${RSVG_CFLAGS} ${DBUS_CFLAGS} \ + ${GCONF_CFLAGS} ${CFLAGS} ${FREETYPE_CFLAGS} ${FONTCONFIG_CFLAGS} \ + ${LIBOTF_CFLAGS} ${M17N_FLT_CFLAGS} ${DEPFLAGS} ALL_OBJC_CFLAGS=$(ALL_CFLAGS) $(GNU_OBJC_CFLAGS) .SUFFIXES: .m @@ -327,8 +322,8 @@ ALL_OBJC_CFLAGS=$(ALL_CFLAGS) $(GNU_OBJC_CFLAGS) $(CC) -c $(CPPFLAGS) $(ALL_OBJC_CFLAGS) $< -/* lastfile must follow all files whose initialized data areas should - be dumped as pure by dump-emacs. */ +## lastfile must follow all files whose initialized data areas should +## be dumped as pure by dump-emacs. obj= dispnew.o frame.o scroll.o xdisp.o menu.o $(XMENU_OBJ) window.o \ charset.o coding.o category.o ccl.o character.o chartab.o bidi.o \ cm.o term.o terminal.o xfaces.o $(XOBJ) $(GTK_OBJ) $(DBUS_OBJ) \ @@ -344,8 +339,8 @@ obj= dispnew.o frame.o scroll.o xdisp.o menu.o $(XMENU_OBJ) window.o \ doprnt.o strftime.o intervals.o textprop.o composite.o md5.o \ $(MSDOS_OBJ) $(MSDOS_X_OBJ) $(NS_OBJ) $(CYGWIN_OBJ) $(FONT_OBJ) -/* Object files used on some machine or other. - These go in the DOC file on all machines in case they are needed. */ +## Object files used on some machine or other. +## These go in the DOC file on all machines in case they are needed. SOME_MACHINE_OBJECTS = dosfns.o msdos.o \ xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \ fontset.o dbusbind.o \ @@ -353,39 +348,38 @@ SOME_MACHINE_OBJECTS = dosfns.o msdos.o \ w32.o w32console.o w32fns.o w32heap.o w32inevt.o \ w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o $(FONT_OBJ) -/* gmalloc.o if !SYSTEM_MALLOC && !DOUG_LEA_MALLOC, else empty. */ +## gmalloc.o if !SYSTEM_MALLOC && !DOUG_LEA_MALLOC, else empty. GMALLOC_OBJ=@GMALLOC_OBJ@ -/* vm-limit.o if !SYSTEM_MALLOC, else empty. */ +## vm-limit.o if !SYSTEM_MALLOC, else empty. VMLIMIT_OBJ=@VMLIMIT_OBJ@ -/* ralloc.o if !SYSTEM_MALLOC && REL_ALLOC, else empty. */ +## ralloc.o if !SYSTEM_MALLOC && REL_ALLOC, else empty. RALLOC_OBJ=@RALLOC_OBJ@ -/* Empty on Cygwin, lastfile.o elsewhere. */ +## Empty on Cygwin, lastfile.o elsewhere. PRE_ALLOC_OBJ=@PRE_ALLOC_OBJ@ -/* lastfile.o on Cygwin, empty elsewhere. */ +## lastfile.o on Cygwin, empty elsewhere. POST_ALLOC_OBJ=@POST_ALLOC_OBJ@ -/* List of object files that make-docfile should not be told about. */ +## List of object files that make-docfile should not be told about. otherobj= $(TERMCAP_OBJ) $(PRE_ALLOC_OBJ) $(GMALLOC_OBJ) $(RALLOC_OBJ) \ $(POST_ALLOC_OBJ) $(VMLIMIT_OBJ) $(WIDGET_OBJ) $(LIBOBJS) -/* This is the platform-specific list of Lisp files loaded into the - dumped Emacs. It is arranged like this because it is easier to generate - it semi-mechanically from loadup.el this way. - - Note that this list should not include lisp files which might not - be present, like site-load.el and site-init.el; this makefile - expects them all to be either present or buildable. - - Files which are loaded unconditionally (i.e., on all platforms) should - also be in shortlisp. Files which are loaded conditionally (i.e., only - on some platforms) should instead be in SOME_MACHINE_LISP. */ - -/* Place loaddefs.el first, so it gets generated first, since it is on - the critical path (relevant in parallel compilations). */ - +## This is the platform-specific list of Lisp files loaded into the +## dumped Emacs. It is arranged like this because it is easier to generate +## it semi-mechanically from loadup.el this way. +## +## Note that this list should not include lisp files which might not +## be present, like site-load.el and site-init.el; this makefile +## expects them all to be either present or buildable. +## +## Files which are loaded unconditionally (i.e., on all platforms) should +## also be in shortlisp. Files which are loaded conditionally (i.e., only +## on some platforms) should instead be in SOME_MACHINE_LISP. +## +## Place loaddefs.el first, so it gets generated first, since it is on +## the critical path (relevant in parallel compilations). lisp= \ ${lispsource}loaddefs.el \ ${lispsource}abbrev.elc \ @@ -475,11 +469,11 @@ lisp= \ ${lispsource}window.elc \ ${lispsource}version.el -/* List of relative names for those files from $lisp that are loaded - unconditionally (i.e. on all platforms). Files from $lisp that - are only loaded on some platforms should instead be placed in - SOME_MACHINE_LISP. The only reason this variable exists is to prevent - the make-docfile command-line getting too long for some systems. */ +## List of relative names for those files from $lisp that are loaded +## unconditionally (i.e. on all platforms). Files from $lisp that +## are only loaded on some platforms should instead be placed in +## SOME_MACHINE_LISP. The only reason this variable exists is to prevent +## the make-docfile command-line getting too long for some systems. shortlisp= \ ../lisp/loaddefs.el \ ../lisp/abbrev.elc \ @@ -563,8 +557,8 @@ shortlisp= \ ../lisp/window.elc \ ../lisp/version.el -/* Like $shortlisp, but includes only those files from $lisp that are loaded - conditionally (i.e., only on some platforms). */ +## Like $shortlisp, but includes only those files from $lisp that are loaded +## conditionally (i.e., only on some platforms). SOME_MACHINE_LISP = ../lisp/mouse.elc \ ../lisp/select.elc ../lisp/scroll-bar.elc \ ../lisp/ls-lisp.elc ../lisp/dos-fns.elc \ @@ -583,11 +577,10 @@ SOME_MACHINE_LISP = ../lisp/mouse.elc \ ../lisp/term/ns-win.elc ../lisp/term/w32-win.elc \ ../lisp/emacs-lisp/easymenu.elc -/* Construct full set of libraries to be linked. - Note that SunOS needs -lm to come before -lc; otherwise, you get - duplicated symbols. If the standard libraries were compiled - with GCC, we might need LIB_GCC again after them. */ - +## Construct full set of libraries to be linked. +## Note that SunOS needs -lm to come before -lc; otherwise, you get +## duplicated symbols. If the standard libraries were compiled +## with GCC, we might need LIB_GCC again after them. LIBES = $(LOADLIBES) $(LIBS) $(LIBX_BASE) $(LIBX_OTHER) $(LIBSOUND) \ $(RSVG_LIBS) $(DBUS_LIBS) $(LIBGPM) $(LIBRESOLV) $(LIBS_SYSTEM) \ $(LIBS_TERMCAP) $(GETLOADAVG_LIBS) ${GCONF_LIBS} ${LIBSELINUX_LIBS} \ @@ -596,9 +589,9 @@ LIBES = $(LOADLIBES) $(LIBS) $(LIBX_BASE) $(LIBX_OTHER) $(LIBSOUND) \ all: emacs${EXEEXT} $(OTHER_FILES) -/* Does anyone ever pay attention to the load-path-shadows output here? */ -/* The dumped Emacs is as functional and more efficient than - bootstrap-emacs, so we replace the latter with the former. */ +## Does anyone ever pay attention to the load-path-shadows output here? +## The dumped Emacs is as functional and more efficient than +## bootstrap-emacs, so we replace the latter with the former. emacs${EXEEXT}: temacs${EXEEXT} ${etc}DOC ${lisp} if test "${CANNOT_DUMP}" = "yes"; then \ ln -f temacs${EXEEXT} emacs${EXEEXT}; \ @@ -610,19 +603,19 @@ emacs${EXEEXT}: temacs${EXEEXT} ${etc}DOC ${lisp} ./emacs -q -batch -f list-load-path-shadows || true; \ fi -/* We run make-docfile twice because the command line may get too long - on some systems. */ -/* ${SOME_MACHINE_OBJECTS} comes before ${obj} because some files may - or may not be included in ${obj}, but they are always included in - ${SOME_MACHINE_OBJECTS}. Since a file is processed when it is mentioned - for the first time, this prevents any variation between configurations - in the contents of the DOC file. - Likewise for ${SOME_MACHINE_LISP}. */ -/* Most of this Makefile refers to Lisp files via ${lispsource}, so - we also use ${lisp} rather than ${shortlisp} for the dependency since - the Makefile uses string equality to decide when we talk about identical - files. Apparently we pass ${shortlisp} rather than ${lisp} to make-docfile - only in order to reduce the command line length. --Stef */ +## We run make-docfile twice because the command line may get too long +## on some systems. +## ${SOME_MACHINE_OBJECTS} comes before ${obj} because some files may +## or may not be included in ${obj}, but they are always included in +## ${SOME_MACHINE_OBJECTS}. Since a file is processed when it is mentioned +## for the first time, this prevents any variation between configurations +## in the contents of the DOC file. +## Likewise for ${SOME_MACHINE_LISP}. +## Most of this Makefile refers to Lisp files via ${lispsource}, so +## we also use ${lisp} rather than ${shortlisp} for the dependency since +## the Makefile uses string equality to decide when we talk about identical +## files. Apparently we pass ${shortlisp} rather than ${lisp} to make-docfile +## only in order to reduce the command line length. --Stef ${etc}DOC: ${libsrc}make-docfile${EXEEXT} ${obj} ${lisp} ${SOME_MACHINE_LISP} -rm -f ${etc}DOC ${libsrc}make-docfile -d ${srcdir} ${SOME_MACHINE_OBJECTS} ${obj} > ${etc}DOC @@ -635,11 +628,11 @@ buildobj.h: Makefile echo "#define BUILDOBJ \"${obj} ${otherobj} " "\"" > buildobj.h -/* We cannot define variables for PRE_EDIT and POST_EDIT. - If !ORDINARY_LINK && !LINKER && GCC, they add a - \`./prefix-args -Xlinker ... \` wrapper, otherwise they are empty. - One alternative to this approach would be to always call prefix-args, - and have it DTRT in all cases, by testing the above defines. */ +## We cannot define variables for PRE_EDIT and POST_EDIT. +## If !ORDINARY_LINK && !LINKER && GCC, they add a +## `./prefix-args -Xlinker ... ` wrapper, otherwise they are empty. +## One alternative to this approach would be to always call prefix-args, +## and have it DTRT in all cases, by testing the above defines. temacs${EXEEXT}: $(START_FILES) stamp-oldxmenu ${obj} ${otherobj} prefix-args${EXEEXT} $(LD) @PRE_EDIT_LDFLAGS@ ${TEMACS_LDFLAGS} @POST_EDIT_LDFLAGS@ \ ${TEMACS_LDFLAGS2} \ @@ -649,27 +642,27 @@ prefix-args${EXEEXT}: prefix-args.o $(config_h) $(CC) $(LDFLAGS) prefix-args.o -o prefix-args -/* The following oldxmenu-related rules are only (possibly) used if - HAVE_X11 && !USE_GTK, but there is no harm in always defining them - (provided we take a little care that OLDXMENU is never empty). */ +## The following oldxmenu-related rules are only (possibly) used if +## HAVE_X11 && !USE_GTK, but there is no harm in always defining them +## (provided we take a little care that OLDXMENU is never empty). really-lwlib: cd ${lwlibdir}; ${MAKE} ${MFLAGS} \ CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}' - @true /* make -t should not create really-lwlib. */ + @true # make -t should not create really-lwlib. .PHONY: really-lwlib really-oldXMenu: cd ${oldXMenudir}; ${MAKE} ${MFLAGS} \ CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}' - @true /* make -t should not create really-oldXMenu. */ + @true # make -t should not create really-oldXMenu. .PHONY: really-oldXMenu -/* We don''t really need this when OLDXMENU_DEPS is empty, but as - things stand we need something to satisfy the temacs dependency. */ +## We do not really need this when OLDXMENU_DEPS is empty, but as +## things stand we need something to satisfy the temacs dependency. stamp-oldxmenu: ${OLDXMENU_DEPS} touch stamp-oldxmenu -/* Supply an ordering for parallel make. */ +## Supply an ordering for parallel make. ../src/$(OLDXMENU): ${OLDXMENU} $(OLDXMENU): $(OLDXMENU_TARGET) @@ -690,7 +683,7 @@ ecrt0.o: ecrt0.c $(config_h) doc.o: buildobj.h -/* If HAVE_NS, some ns-specific rules (for OTHER_FILES) are inserted here. */ +## If HAVE_NS, some ns-specific rules (for OTHER_FILES) are inserted here. @ns_frag@ @@ -704,18 +697,18 @@ clean: mostlyclean -rm -rf ${DEPDIR} test "X${ns_appdir}" = "X" || rm -rf ${ns_appdir} -/* bootstrap-clean is used to clean up just before a bootstrap. - It should remove all files generated during a compilation/bootstrap, - but not things like config.status or TAGS. */ +## bootstrap-clean is used to clean up just before a bootstrap. +## It should remove all files generated during a compilation/bootstrap, +## but not things like config.status or TAGS. bootstrap-clean: clean - rm -f epaths.h config.h Makefile.c config.stamp stamp-oldxmenu ../etc/DOC-* + rm -f epaths.h config.h config.stamp stamp-oldxmenu ../etc/DOC-* if test -f ./.gdbinit; then \ mv ./.gdbinit ./.gdbinit.save; \ if test -f "${srcdir}/.gdbinit"; then rm -f ./.gdbinit.save; \ else mv ./.gdbinit.save ./.gdbinit; fi; \ fi -/**/# This is used in making a distribution. -/**/# Do not use it on development directories! +## This is used in making a distribution. +## Do not use it on development directories! distclean: bootstrap-clean rm -f Makefile maintainer-clean: distclean @@ -727,8 +720,8 @@ versionclean: extraclean: distclean -rm -f *~ \#* m/?*~ s/?*~ -/* Arrange to make a tags table TAGS-LISP for ../lisp, - plus TAGS for the C files, which includes ../lisp/TAGS by reference. */ +## Arrange to make a tags table TAGS-LISP for ../lisp, +## plus TAGS for the C files, which includes ../lisp/TAGS by reference. ctagsfiles1 = [xyzXYZ]*.[hcm] ctagsfiles2 = [a-wA-W]*.[hcm] @@ -748,49 +741,49 @@ tags: TAGS TAGS-LISP $(lwlibdir)TAGS .PHONY: tags -/* Bootstrapping. */ -/* Bootstrapping right is difficult because of the circular dependencies. - Furthermore, we have to deal with the fact that many compilation targets - such as loaddefs.el or *.elc can typically be produced by any old - Emacs executable, so we would like to avoid rebuilding them whenever - we build a new Emacs executable. - To solve the circularity, we use 2 different Emacs executables, - "emacs" is the main target and "bootstrap-emacs" is the one used - to build the *.elc and loaddefs.el files. - To solve the freshness issue, we used to use a third file "witness-emacs" - which was used to witness the fact that there is a bootstrap-emacs - executable, and then have dependencies on witness-emacs rather than - bootstrap-emacs, but that lead to problems in parallel builds (because - witness-emacs needed to be free from dependencies (to avoid rebuilding - it), so it was compiled in parallel, leading typically to having 2 - processes dumping bootstrap-emacs at the same time). - So instead, we replace the witness-emacs dependencies by conditional - bootstrap-dependencies (via ${BOOTSTRAPEMACS}). Of course, since we do - not want to rely on GNU Make features, we have to rely on an external - script to do the conditional part of the dependency - (i.e. see the ${SUBDIR} rule ../Makefile.in). */ +### Bootstrapping. + +## Bootstrapping right is difficult because of the circular dependencies. +## Furthermore, we have to deal with the fact that many compilation targets +## such as loaddefs.el or *.elc can typically be produced by any old +## Emacs executable, so we would like to avoid rebuilding them whenever +## we build a new Emacs executable. +## To solve the circularity, we use 2 different Emacs executables, +## "emacs" is the main target and "bootstrap-emacs" is the one used +## to build the *.elc and loaddefs.el files. +## To solve the freshness issue, we used to use a third file "witness-emacs" +## which was used to witness the fact that there is a bootstrap-emacs +## executable, and then have dependencies on witness-emacs rather than +## bootstrap-emacs, but that lead to problems in parallel builds (because +## witness-emacs needed to be free from dependencies (to avoid rebuilding +## it), so it was compiled in parallel, leading typically to having 2 +## processes dumping bootstrap-emacs at the same time). +## So instead, we replace the witness-emacs dependencies by conditional +## bootstrap-dependencies (via ${BOOTSTRAPEMACS}). Of course, since we do +## not want to rely on GNU Make features, we have to rely on an external +## script to do the conditional part of the dependency +## (i.e. see the ${SUBDIR} rule ../Makefile.in). .SUFFIXES: .elc .el -/* These suffix rules do not allow additional dependencies, sadly, so - instead of adding a $(BOOTSTRAPEMACS) dependency here, we add it - separately below. - With GNU Make, we would just say "%.el : %.elc $(BOOTSTRAPEMACS)" */ +## These suffix rules do not allow additional dependencies, sadly, so +## instead of adding a $(BOOTSTRAPEMACS) dependency here, we add it +## separately below. +## With GNU Make, we would just say "%.el : %.elc $(BOOTSTRAPEMACS)" .el.elc: @cd ../lisp; $(MAKE) $(MFLAGS) compile-onefile \ THEFILE=$< EMACS=${bootstrap_exe} -/* Since the .el.elc rule cannot specify an extra dependency, we do it here. */ +## Since the .el.elc rule cannot specify an extra dependency, we do it here. ${lisp} ${SOME_MACHINE_LISP}: $(BOOTSTRAPEMACS) -/* VCSWITNESS points to the file that holds info about the current checkout. - We use it as a heuristic to decide when to rebuild loaddefs.el. */ +## VCSWITNESS points to the file that holds info about the current checkout. +## We use it as a heuristic to decide when to rebuild loaddefs.el. ${lispsource}loaddefs.el: $(BOOTSTRAPEMACS) $(VCSWITNESS) cd ../lisp; $(MAKE) $(MFLAGS) autoloads EMACS=${bootstrap_exe} -/* Dump an Emacs executable named bootstrap-emacs containing the - files from loadup.el in source form. */ - +## Dump an Emacs executable named bootstrap-emacs containing the +## files from loadup.el in source form. bootstrap-emacs${EXEEXT}: temacs${EXEEXT} cd ../lisp; $(MAKE) $(MFLAGS) update-subdirs if test "${CANNOT_DUMP}" = "yes"; then \ @@ -802,5 +795,8 @@ bootstrap-emacs${EXEEXT}: temacs${EXEEXT} @: Compile some files earlier to speed up further compilation. cd ../lisp; $(MAKE) $(MFLAGS) compile-first EMACS=${bootstrap_exe} -/* Insert either autodeps.mk (if AUTO_DEPEND), else deps.mk. */ +## Insert either autodeps.mk (if AUTO_DEPEND), else deps.mk. @deps_frag@ + + +### Makefile.in ends here diff --git a/src/README b/src/README index 679fc961e53..b4ce91b150a 100644 --- a/src/README +++ b/src/README @@ -1,5 +1,5 @@ -Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 - Free Software Foundation, Inc. +Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, + 2010 Free Software Foundation, Inc. See the end of the file for license conditions. @@ -10,12 +10,10 @@ and installed, if the dumped Emacs (on Unix systems) is copied elsewhere. See the files ../README and then ../INSTALL for installation instructions. Under GNU and Unix systems, the file `Makefile.in' is used as a -template by the script `../configure' to produce `Makefile.c'. The -same script then uses `cpp' to produce the machine-dependent -`Makefile' from `Makefile.c'; `Makefile' is the file which actually -controls the compilation of Emacs. Most of this should work -transparently to the user; you should only need to run `../configure', -and then type `make'. +template by the script `../configure' to produce `Makefile'. This +is the file which actually controls the compilation of Emacs. +All of this should work transparently to the user; you should only +need to run `../configure', and then type `make'. This file is part of GNU Emacs. diff --git a/src/autodeps.mk b/src/autodeps.mk index a5d2a04dcf4..c3cc91e22a7 100644 --- a/src/autodeps.mk +++ b/src/autodeps.mk @@ -1,6 +1,6 @@ -/* autodeps.mk --- src/Makefile fragment for GNU Emacs +### autodeps.mk --- src/Makefile fragment for GNU Emacs -This is inserted in src/Makefile if AUTO_DEPEND=yes. */ +## This is inserted in src/Makefile if AUTO_DEPEND=yes. ALLOBJS=$(START_FILES) ${obj} ${otherobj} prefix-args.o -include $(ALLOBJS:%.o=${DEPDIR}/%.d) diff --git a/src/deps.mk b/src/deps.mk index 08a435da6a9..1514ec5e61a 100644 --- a/src/deps.mk +++ b/src/deps.mk @@ -1,41 +1,41 @@ -/* deps.mk --- src/Makefile fragment for GNU Emacs +### deps.mk --- src/Makefile fragment for GNU Emacs -Copyright (C) 1985, 1987, 1988, 1993, 1994, 1995, 1999, 2000, 2001, 2002, - 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 - Free Software Foundation, Inc. +## Copyright (C) 1985, 1987, 1988, 1993, 1994, 1995, 1999, 2000, 2001, 2002, +## 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 +## Free Software Foundation, Inc. -This file is part of GNU Emacs. +## 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 3 of the License, or -(at your option) any later version. +## 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 3 of the License, 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. If not, see . -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. +## Commentary: +## +## This file is inserted in src/Makefile if AUTO_DEPEND=no. +## It defines static dependencies between the various source files. -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . +## FIXME some of these dependencies are platform-specific. +## Eg callproc.c only depends on w32.h for WINDOWSNT builds. +## One way to fix this would be to replace w32.h (etc) by $(W32_H), +## a variable set by configure. Does not seem worth the trouble. +## Since the w32 build does not even use this file, you might ask +## why these dependencies are here at all... -Commentary: +## nsgui.h: In fact, every .o file depends directly or indirectly on +## dispextern.h and hence nsgui.h under NS. But the ones that actually +## use stuff there are more limited. -This file is inserted in src/Makefile if AUTO_DEPEND=no. -It defines static dependencies between the various source files. - -FIXME some of these dependencies are platform-specific. -Eg callproc.c only depends on w32.h for WINDOWSNT builds. -One way to fix this would be to replace w32.h (etc) by $(W32_H), -a variable set by configure. Does not seem worth the trouble. -Since the w32 build does not even use this file, you might ask -why these dependencies are here at all... - -nsgui.h: In fact, every .o file depends directly or indirectly on -dispextern.h and hence nsgui.h under NS. But the ones that actually -use stuff there are more limited. - -Code: */ +### Code: atimer.o: atimer.c atimer.h syssignal.h systime.h lisp.h blockinput.h \ $(config_h) @@ -245,7 +245,7 @@ xsettings.o: xterm.h xsettings.h lisp.h frame.h termhooks.h $(config_h) \ dispextern.h keyboard.h systime.h coding.h composite.h blockinput.h \ atimer.h termopts.h -/* The files of Lisp proper. */ +## The files of Lisp proper. alloc.o: alloc.c process.h frame.h window.h buffer.h puresize.h syssignal.h \ keyboard.h blockinput.h atimer.h systime.h character.h lisp.h $(config_h) \ $(INTERVALS_H) termhooks.h @@ -267,7 +267,7 @@ lread.o: lread.c commands.h keyboard.h buffer.h epaths.h character.h \ charset.h lisp.h $(config_h) $(INTERVALS_H) termhooks.h coding.h msdos.h \ systime.h frame.h blockinput.h atimer.h -/* Text properties support. */ +## Text properties support. composite.o: composite.c buffer.h character.h coding.h font.h ccl.h \ frame.h termhooks.h $(INTERVALS_H) window.h lisp.h $(config_h) intervals.o: intervals.c buffer.h $(INTERVALS_H) keyboard.h puresize.h \ @@ -276,4 +276,4 @@ textprop.o: textprop.c buffer.h window.h $(INTERVALS_H) \ lisp.h $(config_h) -/* deps.mk ends here */ +### deps.mk ends here diff --git a/src/ns.mk b/src/ns.mk index 255ffa7046b..d674466a407 100644 --- a/src/ns.mk +++ b/src/ns.mk @@ -1,29 +1,29 @@ -/* autodeps.mk --- src/Makefile fragment for GNU Emacs +### autodeps.mk --- src/Makefile fragment for GNU Emacs -Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. +## Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. -This file is part of GNU Emacs. +## 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 3 of the License, or -(at your option) any later version. +## 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 3 of the License, 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. If not, see . -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. +### Commentary: -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . +## This is inserted in src/Makefile if HAVE_NS. -Commentary: - -This is inserted in src/Makefile if HAVE_NS. - -The only reason this is in a separate file is because $ns_appdir, -which appears as a target, is empty on non-NS builds. Some makes -do not like empty targets, even if they are never used. */ +## The only reason this is in a separate file is because $ns_appdir, +## which appears as a target, is empty on non-NS builds. Some makes +## do not like empty targets, even if they are never used. ${ns_appdir}: ${ns_appsrc} rm -fr ${ns_appdir} @@ -36,4 +36,4 @@ ${ns_appbindir}Emacs: emacs${EXEEXT} ns-app: ${ns_appdir} ${ns_appbindir}Emacs -/* ns.mk ends here */ +### ns.mk ends here -- 2.39.2