comparison nt/INSTALL @ 93965:b29775f48b94

Document make targets.
author Jason Rumney <jasonr@gnu.org>
date Thu, 10 Apr 2008 08:59:12 +0000
parents 0573bdbac2e6
children 188974bfdea0
comparison
equal deleted inserted replaced
93964:46ac0eab32c3 93965:b29775f48b94
190 [7] not recommended; please report if you try this combination. 190 [7] not recommended; please report if you try this combination.
191 [8] tested only on Windows XP. 191 [8] tested only on Windows XP.
192 192
193 Other compilers may work, but specific reports from people that have 193 Other compilers may work, but specific reports from people that have
194 tried suggest that the Intel C compiler (for example) may produce an 194 tried suggest that the Intel C compiler (for example) may produce an
195 Emacs executable with strange filename completion behaviour. Unless 195 Emacs executable with strange filename completion behavior. Unless
196 you would like to assist by finding and fixing the cause of any bugs 196 you would like to assist by finding and fixing the cause of any bugs
197 like this, we recommend the use of the supported compilers mentioned 197 like this, we recommend the use of the supported compilers mentioned
198 in the previous paragraph. 198 in the previous paragraph.
199 199
200 You will also need a copy of the Posix cp, rm and mv programs. These 200 You will also need a copy of the Posix cp, rm and mv programs. These
243 absolutely sure the produced binaries will never need to be run under 243 absolutely sure the produced binaries will never need to be run under
244 a debugger. 244 a debugger.
245 245
246 N.B. It is normal to see a few error messages output while configure 246 N.B. It is normal to see a few error messages output while configure
247 is running, when gcc support is being tested. These cannot be 247 is running, when gcc support is being tested. These cannot be
248 surpressed because of limitations in the Windows 9x command.com shell. 248 suppressed because of limitations in the Windows 9x command.com shell.
249 249
250 You are encouraged to look at the file config.log which shows details 250 You are encouraged to look at the file config.log which shows details
251 for failed tests, after configure.bat finishes. Any unexplained failure 251 for failed tests, after configure.bat finishes. Any unexplained failure
252 should be investigated and perhaps reported as a bug (see the section 252 should be investigated and perhaps reported as a bug (see the section
253 about reporting bugs in the file README in this directory and in the 253 about reporting bugs in the file README in this directory and in the
278 expected names of the libraries. 278 expected names of the libraries.
279 279
280 Some image libraries have dependencies on one another, or on zlib. 280 Some image libraries have dependencies on one another, or on zlib.
281 For example, tiff support depends on the jpeg library. If you did not 281 For example, tiff support depends on the jpeg library. If you did not
282 compile the libraries yourself, you must make sure that any dependency 282 compile the libraries yourself, you must make sure that any dependency
283 is in the PATH or otherwise accesible and that the binaries are 283 is in the PATH or otherwise accessible and that the binaries are
284 compatible (for example, that they were built with the same compiler). 284 compatible (for example, that they were built with the same compiler).
285 285
286 Binaries for the image libraries (among many others) can be found at 286 Binaries for the image libraries (among many others) can be found at
287 the GnuWin32 project. PNG, JPEG and TIFF libraries are also 287 the GnuWin32 project. PNG, JPEG and TIFF libraries are also
288 included with GTK, which is installed along with other Free Software 288 included with GTK, which is installed along with other Free Software
349 (for `nmake', type "nmake install INSTALL_DIR=D:/emacs" instead). 349 (for `nmake', type "nmake install INSTALL_DIR=D:/emacs" instead).
350 350
351 The install process will run addpm to setup the registry entries, and 351 The install process will run addpm to setup the registry entries, and
352 to create a Start menu icon for Emacs. 352 to create a Start menu icon for Emacs.
353 353
354 * Make targets
355
356 The following make targets may be used by users building the source
357 distribution, or users who have checked out of CVS after
358 an initial bootstrapping.
359
360 make
361 Builds Emacs from the available sources and pre-compiled lisp files.
362
363 make install
364 Installs programs to the bin directory, and runs addpm to create
365 Start Menu icons.
366
367 make clean
368 Removes object and executable files produced by the build process in
369 the current configuration. After make clean, you can rebuild with
370 the same configuration using make.
371
372 make distclean
373 In addition to the files removed by make clean, this also removes
374 Makefiles and other generated files to get back to the state of a
375 freshly unpacked source distribution. Note that this will not remove
376 installed files, or the results of builds performed with different
377 compiler or optimization options than the current configuration.
378 After make distclean, it is necessary to run configure.bat followed
379 by make to rebuild.
380
381 make cleanall
382 Removes object and executable files that may have been created by
383 previous builds with different configure options, in addition to
384 the files produced by the current configuration.
385
386 make realclean
387 Removes the installed files in the bin subdirectory in addition to
388 the files removed by make cleanall.
389
390
391 The following targets are intended only for users who have checked out
392 of CVS.
393
394 make bootstrap
395 Creates a temporary emacs binary with lisp source files and
396 uses it to compile the lisp files. Once the lisp files are built,
397 emacs is redumped with the compiled lisp.
398
399 make recompile
400 Recompiles any changed lisp files after a cvs update. This saves
401 doing a full bootstrap after every update. If this or a subsequent
402 make fail, you probably need to perform a full bootstrap, though
403 running this target multiple times may eventually sort out the
404 interdependencies.
405
406 make maintainer-clean
407 Removes everything that can be recreated, including compiled lisp
408 files, to get back to the state of a fresh CVS checkout. After make
409 maintainer-clean, it is necessary to run configure.bat and make
410 bootstrap to rebuild. Occasionally it may be necessary to run this
411 target after a cvs update.
412
413
354 * Trouble-shooting 414 * Trouble-shooting
355 415
356 The main problems that are likely to be encountered when building 416 The main problems that are likely to be encountered when building
357 Emacs stem from using an old version of GCC, or old MinGW or W32 API 417 Emacs stem from using an old version of GCC, or old MinGW or W32 API
358 headers. Additionally, cygwin ports of GNU make may require the Emacs 418 headers. Additionally, cygwin ports of GNU make may require the Emacs
434 be displayed in the console window that was opened when the 494 be displayed in the console window that was opened when the
435 emacs.exe executable was started. The output sent to the debugger 495 emacs.exe executable was started. The output sent to the debugger
436 should be displayed in its "Debug" output window. 496 should be displayed in its "Debug" output window.
437 497
438 When you are in the process of debugging Emacs and you would like to 498 When you are in the process of debugging Emacs and you would like to
439 examine the contents of a Lisp_Object variable, popup the QuickWatch 499 examine the contents of a Lisp_Object variable, pop up the QuickWatch
440 window (QuickWatch has an eyeglass symbol on its button in the 500 window (QuickWatch has an eyeglass symbol on its button in the
441 toolbar). In the text field at the top of the window, enter 501 toolbar). In the text field at the top of the window, enter
442 debug_print(<variable>) and hit return. For example, start and run 502 debug_print(<variable>) and hit return. For example, start and run
443 Emacs in the debugger until it is waiting for user input. Then click 503 Emacs in the debugger until it is waiting for user input. Then click
444 on the Break button in the debugger to halt execution. Emacs should 504 on the Break button in the debugger to halt execution. Emacs should