Mercurial > hg > xemacs-beta
comparison Makefile @ 0:376386a54a3c r19-14
Import from CVS: tag r19-14
| author | cvs |
|---|---|
| date | Mon, 13 Aug 2007 08:45:50 +0200 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:376386a54a3c |
|---|---|
| 1 # Generated automatically from Makefile.in by configure. | |
| 2 # DIST: This is the distribution Makefile for XEmacs. configure can | |
| 3 # DIST: make most of the changes to this file you might want, so try | |
| 4 # DIST: that first. | |
| 5 | |
| 6 # make all to compile and build XEmacs. | |
| 7 # make install to install it. | |
| 8 # make TAGS to update tags tables. | |
| 9 # | |
| 10 # make clean or make mostlyclean | |
| 11 # Delete all files from the current directory that are normally | |
| 12 # created by building the program. Don't delete the files that | |
| 13 # record the configuration. Also preserve files that could be made | |
| 14 # by building, but normally aren't because the distribution comes | |
| 15 # with them. | |
| 16 # | |
| 17 # Delete `.dvi' files here if they are not part of the distribution. | |
| 18 # | |
| 19 # make distclean | |
| 20 # Delete all files from the current directory that are created by | |
| 21 # configuring or building the program. If you have unpacked the | |
| 22 # source and built the program without creating any other files, | |
| 23 # `make distclean' should leave only the files that were in the | |
| 24 # distribution. | |
| 25 # | |
| 26 # make realclean | |
| 27 # Delete everything from the current directory that can be | |
| 28 # reconstructed with this Makefile. This typically includes | |
| 29 # everything deleted by distclean, plus more: C source files | |
| 30 # produced by Bison, tags tables, info files, and so on. | |
| 31 # | |
| 32 # make extraclean | |
| 33 # Still more severe - delete backup and autosave files, too. | |
| 34 | |
| 35 SHELL = /bin/sh | |
| 36 | |
| 37 | |
| 38 # ==================== Things `configure' Might Edit ==================== | |
| 39 | |
| 40 CC=gcc | |
| 41 CPP=gcc -E -I/usr/i486-linuxaout/include -I/m/xpm-3.4h/lib -I/usr/X11R6/include | |
| 42 C_SWITCH_SYSTEM= -DFUNCPROTO=11 -DNARROWPROTO -D_BSD_SOURCE | |
| 43 LN_S=ln -s | |
| 44 CFLAGS=-bi486-linuxaout -O4 -m486 -malign-functions=2 -malign-jumps=2 -malign-loops=2 | |
| 45 C_SWITCH_X_SITE=-I/usr/X11R6/include | |
| 46 LD_SWITCH_X_SITE=-L/usr/X11R6/lib | |
| 47 YACC=bison -y | |
| 48 | |
| 49 ### These help us choose version- and architecture-specific directories | |
| 50 ### to install files in. | |
| 51 | |
| 52 ### This should be the number of the XEmacs version we're building, | |
| 53 ### like `19.13' or `19.14'. | |
| 54 version=19.14 | |
| 55 | |
| 56 ### This should be the name of the configuration we're building XEmacs | |
| 57 ### for, like `mips-dec-ultrix' or `sparc-sun-sunos'. | |
| 58 configuration=i486-unknown-linux2.0.0 | |
| 59 | |
| 60 ### Libraries which should be edited into lib-src/Makefile. | |
| 61 libsrc_libs= -lgcc -lc -lgcc /usr/lib/crtn.o | |
| 62 | |
| 63 # ==================== Where To Install Things ==================== | |
| 64 | |
| 65 # The default location for installation. Everything is placed in | |
| 66 # subdirectories of this directory. The default values for many of | |
| 67 # the variables below are expressed in terms of this one, so you may | |
| 68 # not need to change them. This defaults to /usr/local. | |
| 69 prefix=/usr/local | |
| 70 | |
| 71 # Like `prefix', but used for architecture-specific files. | |
| 72 exec_prefix=${prefix} | |
| 73 | |
| 74 # Where to install XEmacs and other binaries that people will want to | |
| 75 # run directly (like etags). | |
| 76 bindir=${exec_prefix}/bin | |
| 77 | |
| 78 # Where to install architecture-independent data files. ${lispdir} | |
| 79 # and ${etcdir} are subdirectories of this. | |
| 80 datadir=${prefix}/lib | |
| 81 | |
| 82 # Where to install and expect the files that XEmacs modifies as it | |
| 83 # runs. These files are all architecture-independent. Right now, the | |
| 84 # only such data is the locking directory; ${lockdir} is a | |
| 85 # subdirectory of this. | |
| 86 statedir=${prefix}/lib | |
| 87 | |
| 88 # Where to install and expect executable files to be run by XEmacs | |
| 89 # rather than directly by users, and other architecture-dependent | |
| 90 # data. ${archlibdir} is a subdirectory of this. | |
| 91 libdir=${exec_prefix}/lib | |
| 92 | |
| 93 # Where to install XEmacs's man pages, and what extension they should have. | |
| 94 mandir=${prefix}/man/man1 | |
| 95 manext=.1 | |
| 96 | |
| 97 # Where to install and expect the info files describing XEmacs. In the | |
| 98 # past, this defaulted to a subdirectory of ${prefix}/lib/xemacs, but | |
| 99 # since there are now many packages documented with the texinfo | |
| 100 # system, it is inappropriate to imply that it is part of XEmacs. | |
| 101 infodir=${prefix}/lib/xemacs-${version}/info | |
| 102 | |
| 103 # This is set to 'yes' if the user specified the --infodir flag at | |
| 104 # configuration time. | |
| 105 infodir_user_defined=no | |
| 106 | |
| 107 # Where to find the source code. The source code for XEmacs's C kernel is | |
| 108 # expected to be in ${srcdir}/src, and the source code for XEmacs's | |
| 109 # utility programs is expected to be in ${srcdir}/lib-src. This is | |
| 110 # set by the configure script's `--srcdir' option. | |
| 111 srcdir=/m/xemacs-19.14 | |
| 112 | |
| 113 # Tell make where to find source files; this is needed for the makefiles. | |
| 114 VPATH=/m/xemacs-19.14 | |
| 115 | |
| 116 # ==================== XEmacs-specific directories ==================== | |
| 117 | |
| 118 # These variables hold the values XEmacs will actually use. They are | |
| 119 # based on the values of the standard Make variables above. | |
| 120 | |
| 121 # Where to install the lisp files distributed with | |
| 122 # XEmacs. This includes the XEmacs version, so that the | |
| 123 # lisp files for different versions of XEmacs will install | |
| 124 # themselves in separate directories. | |
| 125 lispdir=${datadir}/xemacs-${version}/lisp | |
| 126 | |
| 127 # This is set to 'yes' if the user specified the --lispdir or | |
| 128 # --datadir flag at configuration time. | |
| 129 lispdir_user_defined=no | |
| 130 | |
| 131 # Directories XEmacs should search for lisp files specific | |
| 132 # to this site (i.e. customizations), before consulting | |
| 133 # ${lispdir}. This should be a colon-separated list of | |
| 134 # directories. | |
| 135 sitelispdir=${datadir}/xemacs/site-lisp | |
| 136 | |
| 137 # Where XEmacs will search for its lisp files while | |
| 138 # building. This is only used during the process of | |
| 139 # compiling XEmacs, to help XEmacs find its lisp files | |
| 140 # before they've been installed in their final location. | |
| 141 # It's usually identical to lispdir, except that the | |
| 142 # entry for the directory containing the installed lisp | |
| 143 # files has been replaced with ../lisp. This should be a | |
| 144 # colon-separated list of directories. | |
| 145 buildlispdir=${srcdir}/lisp | |
| 146 | |
| 147 # Where to install the other architecture-independent | |
| 148 # data files distributed with XEmacs (like the tutorial, | |
| 149 # the cookie recipes and the Zippy database). This path | |
| 150 # usually contains the XEmacs version number, so the data | |
| 151 # files for multiple versions of XEmacs may be installed | |
| 152 # at once. | |
| 153 etcdir=${datadir}/xemacs-${version}/etc | |
| 154 | |
| 155 # This is set to 'yes' if the user specified the --etcdir or | |
| 156 # --datadir flag at configuration time. | |
| 157 etcdir_user_defined=no | |
| 158 | |
| 159 # Where to create and expect the locking directory, where | |
| 160 # the XEmacs locking code keeps track of which files are | |
| 161 # currently being edited. | |
| 162 lockdir=${statedir}/xemacs/lock | |
| 163 | |
| 164 # This is set to 'yes' if the user specified the --lockdir or | |
| 165 # --statedir flag at configuration time. | |
| 166 lockdir_user_defined=no | |
| 167 | |
| 168 # Where to put executables to be run by XEmacs rather than | |
| 169 # the user. This path usually includes the XEmacs version | |
| 170 # and configuration name, so that multiple configurations | |
| 171 # for multiple versions of XEmacs may be installed at | |
| 172 # once. | |
| 173 archlibdir=${libdir}/xemacs-${version}/${configuration} | |
| 174 | |
| 175 # This is set to 'yes' if the user specified any of --exec-prefix, | |
| 176 # --libdir or --archlibdir at configuration time. | |
| 177 archlibdir_user_defined=no | |
| 178 | |
| 179 # ==================== Utility Programs for the Build ==================== | |
| 180 | |
| 181 # Allow the user to specify the install program. | |
| 182 INSTALL = /usr/bin/install -c | |
| 183 INSTALL_PROGRAM = ${INSTALL} | |
| 184 INSTALL_DATA = ${INSTALL} -m 644 | |
| 185 | |
| 186 # ============================= Targets ============================== | |
| 187 | |
| 188 # Subdirectories to make recursively. `lisp' is not included | |
| 189 # because the compiled lisp files are part of the distribution | |
| 190 # and you cannot remake them without installing XEmacs first. | |
| 191 MAKE_SUBDIR = lib-src lwlib dynodump src | |
| 192 | |
| 193 # Subdirectories that can be made recursively. | |
| 194 SUBDIR = ${MAKE_SUBDIR} man | |
| 195 | |
| 196 # The makefiles of the directories in $SUBDIR. | |
| 197 SUBDIR_MAKEFILES = lib-src/Makefile lwlib/Makefile dynodump/Makefile src/Makefile man/Makefile | |
| 198 | |
| 199 # Subdirectories to install, and where they'll go. | |
| 200 # lib-src's makefile knows how to install it, so we don't do that here. | |
| 201 # When installing the info files, we need to do special things to | |
| 202 # avoid nuking an existing dir file, so we don't do that here; | |
| 203 # instead, we have written out explicit code in the `install' targets. | |
| 204 COPYDIR = ${srcdir}/etc ${srcdir}/lisp | |
| 205 COPYDESTS = ${etcdir} ${lispdir} | |
| 206 | |
| 207 .NO_PARALLEL: src/paths.h src/Emacs.ad.h ${MAKE_SUBDIR} dump-elcs | |
| 208 | |
| 209 all: src/paths.h src/Emacs.ad.h ${MAKE_SUBDIR} | |
| 210 | |
| 211 # Convenience target for XEmacs beta testers | |
| 212 beta: clean all-elc | |
| 213 | |
| 214 # Build XEmacs and recompile out-of-date and missing .elc files along | |
| 215 # the way. | |
| 216 all-elc: src/paths.h src/Emacs.ad.h lib-src lwlib dump-elcs src | |
| 217 sh ${srcdir}/lib-src/update-elc.sh | |
| 218 | |
| 219 # Sub-target for all-elc. | |
| 220 dump-elcs: FRC.dump-elcs | |
| 221 cd src; $(MAKE) dump-elcs $(MFLAGS) \ | |
| 222 CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}' | |
| 223 | |
| 224 autoloads: src | |
| 225 sh ${srcdir}/lib-src/update-autoloads.sh | |
| 226 | |
| 227 # We force the rebuilding of src/paths.h because the user might give | |
| 228 # different values for the various directories. Since we use | |
| 229 # move-if-change, src/paths.h only actually changes if the user did | |
| 230 # something notable, so the only unnecessary work we do is in building | |
| 231 # src/paths.h.tmp, which isn't much. Note that sed is not in /bin on | |
| 232 # 386bsd. | |
| 233 src/paths.h: Makefile ${srcdir}/src/paths.h.in FRC.src.paths.h | |
| 234 @echo "Producing \`src/paths.h' from \`src/paths.h.in'." | |
| 235 -rm -f src/paths.h.tmp | |
| 236 @cp ${srcdir}/src/paths.h.in src/paths.h.tmp | |
| 237 -chmod 0644 src/paths.h.tmp | |
| 238 @echo '#define PATH_PREFIX "${prefix}"' >> src/paths.h.tmp | |
| 239 @if [ x"${lispdir_user_defined}" = x"yes" ]; then \ | |
| 240 echo '#define PATH_LOADSEARCH "${lispdir}"' >> src/paths.h.tmp;\ | |
| 241 else \ | |
| 242 echo '/* #define PATH_LOADSEARCH "${lispdir}" */' >>src/paths.h.tmp;\ | |
| 243 fi | |
| 244 @if [ x"${archlibdir_user_defined}" = x"yes" ]; then \ | |
| 245 echo '#define PATH_EXEC "${archlibdir}"' >> src/paths.h.tmp ;\ | |
| 246 else \ | |
| 247 echo '/* #define PATH_EXEC "${archlibdir}" */' >> src/paths.h.tmp ;\ | |
| 248 fi | |
| 249 @if [ x"${etcdir_user_defined}" = x"yes" ]; then \ | |
| 250 echo '#define PATH_DATA "${etcdir}"' >> src/paths.h.tmp ;\ | |
| 251 else \ | |
| 252 echo '/* #define PATH_DATA "${etcdir}" */' >> src/paths.h.tmp ;\ | |
| 253 fi | |
| 254 @if [ x"${lockdir_user_defined}" = x"yes" ]; then \ | |
| 255 echo '#define PATH_LOCK "${lockdir}"' >> src/paths.h.tmp ;\ | |
| 256 else \ | |
| 257 echo '/* #define PATH_LOCK "${lockdir}" */' >> src/paths.h.tmp ;\ | |
| 258 fi | |
| 259 @if [ x"${infodir_user_defined}" = x"yes" ]; then \ | |
| 260 echo '#define PATH_INFO "${infodir}"' >> src/paths.h.tmp ;\ | |
| 261 else \ | |
| 262 echo '/* #define PATH_INFO "${infodir}" */' >> src/paths.h.tmp ;\ | |
| 263 fi | |
| 264 @sh ${srcdir}/move-if-change src/paths.h.tmp src/paths.h | |
| 265 | |
| 266 # We have to force the building of Emacs.ad.h as well in order to get it | |
| 267 # updated correctly when VPATH is being used. Since we use move-if-change, | |
| 268 # it will only actually change if the user modified ${etcdir}/Emacs.ad. | |
| 269 src/Emacs.ad.h: ${srcdir}/etc/Emacs.ad | |
| 270 @echo "Producing \`src/Emacs.ad.h' from \`etc/Emacs.ad'." | |
| 271 -rm -f src/Emacs.ad.h | |
| 272 @(echo "/* Do not edit this file!" ; \ | |
| 273 echo " Automatically generated from ${srcdir}/etc/Emacs.ad" ; \ | |
| 274 echo " */" ; \ | |
| 275 /bin/sh ${srcdir}/lib-src/ad2c ${srcdir}/etc/Emacs.ad ) > \ | |
| 276 src/Emacs.ad.h | |
| 277 | |
| 278 src: lib-src lwlib dynodump FRC.src | |
| 279 lib-src: FRC.lib-src | |
| 280 lwlib: FRC.lwlib | |
| 281 dynodump: FRC.dynodump | |
| 282 | |
| 283 .RECURSIVE: ${SUBDIR} | |
| 284 | |
| 285 ${SUBDIR}: ${SUBDIR_MAKEFILES} src/config.h FRC | |
| 286 cd $@; $(MAKE) all $(MFLAGS) \ | |
| 287 CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}' | |
| 288 | |
| 289 Makefile: ${srcdir}/Makefile.in config.status | |
| 290 ./config.status | |
| 291 | |
| 292 src/Makefile: ${srcdir}/src/Makefile.in.in config.status | |
| 293 ./config.status | |
| 294 | |
| 295 lib-src/Makefile: ${srcdir}/lib-src/Makefile.in.in config.status | |
| 296 ./config.status | |
| 297 | |
| 298 lwlib/Makefile: ${srcdir}/lwlib/Makefile.in.in config.status | |
| 299 ./config.status | |
| 300 | |
| 301 dynodump/Makefile: ${srcdir}/dynodump/Makefile.in.in config.status | |
| 302 ./config.status | |
| 303 | |
| 304 man/Makefile: ${srcdir}/man/Makefile.in.in config.status | |
| 305 ./config.status | |
| 306 | |
| 307 src/config.h: ${srcdir}/src/config.h.in | |
| 308 ./config.status | |
| 309 | |
| 310 # ==================== Installation ==================== | |
| 311 | |
| 312 ## If we let lib-src do its own installation, that means we | |
| 313 ## don't have to duplicate the list of utilities to install in | |
| 314 ## this Makefile as well. | |
| 315 | |
| 316 ## On AIX, use tar xBf. | |
| 317 ## On Xenix, use tar xpf. | |
| 318 | |
| 319 .PHONY: install install-arch-dep install-arch-indep mkdir | |
| 320 | |
| 321 ## We delete each directory in ${COPYDESTS} before we copy into it; | |
| 322 ## that way, we can reinstall over directories that have been put in | |
| 323 ## place with their files read-only (perhaps because they are checked | |
| 324 ## into RCS). In order to make this safe, we make sure that the | |
| 325 ## source exists and is distinct from the destination. | |
| 326 | |
| 327 ## FSF doesn't depend on `all', but rather on ${MAKE_SUBDIR}, so that | |
| 328 ## they "won't ever modify src/paths.h". But that means you can't do | |
| 329 ## 'make install' right off the bat because src/paths.h won't exist. | |
| 330 ## And, in XEmacs case, src/Emacs.ad.h won't exist either. I also | |
| 331 ## don't see the point in avoiding modifying paths.h. It creates an | |
| 332 ## inconsistency in the build process. So we go ahead and depend on | |
| 333 ## all. --cet | |
| 334 | |
| 335 install: all install-arch-dep install-arch-indep; | |
| 336 | |
| 337 install-arch-dep: mkdir | |
| 338 (cd lib-src; \ | |
| 339 $(MAKE) install $(MFLAGS) prefix=${prefix} \ | |
| 340 exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} \ | |
| 341 archlibdir=${archlibdir}) | |
| 342 if [ `(cd ${archlibdir}; /bin/pwd)` != `(cd ./lib-src; /bin/pwd)` ]; \ | |
| 343 then \ | |
| 344 echo "Copying lib-src/DOC-* ..." ; \ | |
| 345 (cd ./lib-src; tar -cf - DOC-*)|(cd ${archlibdir}; umask 0; tar -xf - ); \ | |
| 346 for subdir in `find ${archlibdir} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; do \ | |
| 347 rm -rf $${subdir}/RCS ; \ | |
| 348 rm -rf $${subdir}/CVS ; \ | |
| 349 rm -rf $${subdir}/SCCS ; \ | |
| 350 rm -f $${subdir}/\#* ; \ | |
| 351 rm -f $${subdir}/*~ ; \ | |
| 352 done ; \ | |
| 353 else true; fi | |
| 354 ${INSTALL_PROGRAM} src/xemacs ${bindir}/xemacs-${version} | |
| 355 -chmod 0755 ${bindir}/xemacs-${version} | |
| 356 rm -f ${bindir}/xemacs | |
| 357 (cd ${bindir} ; ${LN_S} xemacs-${version} ./xemacs) | |
| 358 | |
| 359 install-arch-indep: mkdir | |
| 360 -set ${COPYDESTS} ; \ | |
| 361 for dir in ${COPYDIR} ; do \ | |
| 362 if [ `(cd $$1 && pwd)` != `(cd $${dir} && pwd)` ] ; then \ | |
| 363 echo "rm -rf $$1" ; \ | |
| 364 fi ; \ | |
| 365 shift ; \ | |
| 366 done | |
| 367 -set ${COPYDESTS} ; \ | |
| 368 mkdir ${COPYDESTS} ; \ | |
| 369 for dir in ${COPYDIR} ; do \ | |
| 370 dest=$$1 ; shift ; \ | |
| 371 [ -d $${dir} ] \ | |
| 372 && [ `(cd $${dir} && /bin/pwd)` != `(cd $${dest} && /bin/pwd)` ] \ | |
| 373 && (echo "Copying $${dir}..." ; \ | |
| 374 (cd $${dir}; tar -cf - . )|(cd $${dest};umask 022; tar -xf - );\ | |
| 375 chmod 0755 $${dest}; \ | |
| 376 for subdir in `find $${dest} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; do \ | |
| 377 rm -rf $${subdir}/RCS ; \ | |
| 378 rm -rf $${subdir}/CVS ; \ | |
| 379 rm -rf $${subdir}/SCCS ; \ | |
| 380 rm -f $${subdir}/\#* ; \ | |
| 381 rm -f $${subdir}/*~ ; \ | |
| 382 done) ; \ | |
| 383 done | |
| 384 if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \ | |
| 385 then \ | |
| 386 (cd ${srcdir}/info ; \ | |
| 387 if [ ! -f ${infodir}/dir ] && [ -f dir ]; then \ | |
| 388 ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir ; \ | |
| 389 fi ; \ | |
| 390 for f in ange-ftp* cc-mode* cl* dired* ediff* external-widget* \ | |
| 391 forms* gnus* hyperbole* ilisp* info* internals* \ | |
| 392 ispell* internals* lispref* mailcrypt* message* mh-e* \ | |
| 393 new-users-guide* oo-browser* pcl-cvs* psgml* rmail* \ | |
| 394 standards* supercite* term.* termcap* texinfo* viper* \ | |
| 395 vm* w3* xemacs* ; do \ | |
| 396 ${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f ; \ | |
| 397 chmod 0644 ${infodir}/$$f; \ | |
| 398 done); \ | |
| 399 else true; fi | |
| 400 cd ${srcdir}/etc; for page in xemacs etags ctags gnuserv \ | |
| 401 gnuclient gnuattach gnudoit ; do \ | |
| 402 ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${mandir}/$${page}${manext} ; \ | |
| 403 chmod 0644 ${mandir}/$${page}${manext} ; \ | |
| 404 done | |
| 405 | |
| 406 MAKEPATH=./lib-src/make-path | |
| 407 ### Build all the directories we're going to install XEmacs in. Since | |
| 408 ### we may be creating several layers of directories (for example, | |
| 409 ### /usr/local/lib/xemacs-19.14/mips-dec-ultrix4.2), we use make-path | |
| 410 ### instead of mkdir. Not all systems' mkdirs have the `-p' flag. | |
| 411 mkdir: FRC.mkdir | |
| 412 ${MAKEPATH} ${COPYDESTS} ${lockdir} ${infodir} ${mandir} \ | |
| 413 ${bindir} ${datadir} ${libdir} ${sitelispdir} | |
| 414 -chmod 0777 ${lockdir} | |
| 415 | |
| 416 ### Delete all the installed files that the `install' target would | |
| 417 ### create (but not the noninstalled files such as `make all' would | |
| 418 ### create). | |
| 419 ### | |
| 420 ### Don't delete the lisp and etc directories if they're in the source tree. | |
| 421 #### This target has not been updated in sometime and until it is it | |
| 422 #### would be extremely dangerous for anyone to use it. | |
| 423 #uninstall: | |
| 424 # (cd lib-src; \ | |
| 425 # $(MAKE) $(MFLAGS) uninstall \ | |
| 426 # prefix=${prefix} exec_prefix=${exec_prefix} \ | |
| 427 # bindir=${bindir} libdir=${libdir} archlibdir=${archlibdir}) | |
| 428 # for dir in ${lispdir} ${etcdir} ; do \ | |
| 429 # case `(cd $${dir} ; pwd)` in \ | |
| 430 # `(cd ${srcdir} ; pwd)`* ) ;; \ | |
| 431 # * ) rm -rf $${dir} ;; \ | |
| 432 # esac ; \ | |
| 433 # case $${dir} in \ | |
| 434 # ${datadir}/xemacs/${version}/* ) \ | |
| 435 # rm -rf ${datadir}/xemacs/${version} \ | |
| 436 # ;; \ | |
| 437 # esac ; \ | |
| 438 # done | |
| 439 # (cd ${infodir} && rm -f cl* xemacs* forms* info* vip*) | |
| 440 # (cd ${mandir} && rm -f xemacs.1 etags.1 ctags.1 gnuserv.1) | |
| 441 # (cd ${bindir} && rm -f xemacs-${version} xemacs) | |
| 442 | |
| 443 | |
| 444 ### Some makes seem to remember that they've built something called FRC, | |
| 445 ### so you can only use a given FRC once per makefile. | |
| 446 FRC FRC.src.paths.h FRC.src FRC.lib-src FRC.lwlib FRC.mkdir FRC.dump-elcs: | |
| 447 FRC.dynodump: | |
| 448 FRC.mostlyclean FRC.clean FRC.distclean FRC.realclean: | |
| 449 | |
| 450 # ==================== Cleaning up and miscellanea ==================== | |
| 451 | |
| 452 .PHONY: mostlyclean clean distclean realclean extraclean | |
| 453 | |
| 454 ### `mostlyclean' | |
| 455 ### Like `clean', but may refrain from deleting a few files that people | |
| 456 ### normally don't want to recompile. For example, the `mostlyclean' | |
| 457 ### target for GCC does not delete `libgcc.a', because recompiling it | |
| 458 ### is rarely necessary and takes a lot of time. | |
| 459 mostlyclean: FRC.mostlyclean | |
| 460 (cd src && $(MAKE) $(MFLAGS) mostlyclean) | |
| 461 (cd lib-src && $(MAKE) $(MFLAGS) mostlyclean) | |
| 462 (cd lwlib && $(MAKE) $(MFLAGS) mostlyclean) | |
| 463 (cd dynodump && $(MAKE) $(MFLAGS) mostlyclean) | |
| 464 -(cd man && $(MAKE) $(MFLAGS) mostlyclean) | |
| 465 | |
| 466 ### `clean' | |
| 467 ### Delete all files from the current directory that are normally | |
| 468 ### created by building the program. Don't delete the files that | |
| 469 ### record the configuration. Also preserve files that could be made | |
| 470 ### by building, but normally aren't because the distribution comes | |
| 471 ### with them. | |
| 472 ### | |
| 473 ### Delete `.dvi' files here if they are not part of the distribution. | |
| 474 clean: FRC.clean | |
| 475 (cd src && $(MAKE) $(MFLAGS) clean) | |
| 476 (cd lib-src && $(MAKE) $(MFLAGS) clean) | |
| 477 (cd lwlib && $(MAKE) $(MFLAGS) clean) | |
| 478 (cd dynodump && $(MAKE) $(MFLAGS) clean) | |
| 479 -(cd man && $(MAKE) $(MFLAGS) clean) | |
| 480 | |
| 481 ### `distclean' | |
| 482 ### Delete all files from the current directory that are created by | |
| 483 ### configuring or building the program. If you have unpacked the | |
| 484 ### source and built the program without creating any other files, | |
| 485 ### `make distclean' should leave only the files that were in the | |
| 486 ### distribution. | |
| 487 top_distclean=\ | |
| 488 rm -f config.status config-tmp-* build-install ; \ | |
| 489 rm -f Makefile ${SUBDIR_MAKEFILES}; \ | |
| 490 (cd lock && rm -f *) | |
| 491 | |
| 492 distclean: FRC.distclean | |
| 493 (cd src && $(MAKE) $(MFLAGS) distclean) | |
| 494 (cd lib-src && $(MAKE) $(MFLAGS) distclean) | |
| 495 (cd lwlib && $(MAKE) $(MFLAGS) distclean) | |
| 496 (cd dynodump && $(MAKE) $(MFLAGS) distclean) | |
| 497 -(cd man && $(MAKE) $(MFLAGS) distclean) | |
| 498 -${top_distclean} | |
| 499 | |
| 500 ### `realclean' | |
| 501 ### Delete everything from the current directory that can be | |
| 502 ### reconstructed with this Makefile. This typically includes | |
| 503 ### everything deleted by distclean, plus more: C source files | |
| 504 ### produced by Bison, tags tables, info files, and so on. | |
| 505 ### | |
| 506 ### One exception, however: `make realclean' should not delete | |
| 507 ### `configure' even if `configure' can be remade using a rule in the | |
| 508 ### Makefile. More generally, `make realclean' should not delete | |
| 509 ### anything that needs to exist in order to run `configure' and then | |
| 510 ### begin to build the program. | |
| 511 realclean: FRC.realclean | |
| 512 (cd src && $(MAKE) $(MFLAGS) realclean) | |
| 513 (cd lib-src && $(MAKE) $(MFLAGS) realclean) | |
| 514 (cd lwlib && $(MAKE) $(MFLAGS) realclean) | |
| 515 (cd dynodump && $(MAKE) $(MFLAGS) realclean) | |
| 516 -(cd man && $(MAKE) $(MFLAGS) realclean) | |
| 517 -${top_distclean} | |
| 518 | |
| 519 ### This doesn't actually appear in the coding standards, but Karl | |
| 520 ### says GCC supports it, and that's where the configuration part of | |
| 521 ### the coding standards seem to come from. It's like distclean, but | |
| 522 ### it deletes backup and autosave files too. | |
| 523 extraclean: | |
| 524 (cd src && $(MAKE) $(MFLAGS) extraclean) | |
| 525 (cd lib-src && $(MAKE) $(MFLAGS) extraclean) | |
| 526 (cd lwlib && $(MAKE) $(MFLAGS) extraclean) | |
| 527 (cd dynodump && $(MAKE) $(MFLAGS) extraclean) | |
| 528 -(cd man && $(MAKE) $(MFLAGS) extraclean) | |
| 529 -rm -f *~ \#* | |
| 530 -${top_distclean} | |
| 531 | |
| 532 ### Unlocking and relocking. The idea of these productions is to reduce | |
| 533 ### hassles when installing an incremental tar of XEmacs. Do `make unlock' | |
| 534 ### before unlocking the file to take the write locks off all sources so | |
| 535 ### that tar xvof will overwrite them without fuss. Then do `make relock' | |
| 536 ### afterward so that VC mode will know which files should be checked in | |
| 537 ### if you want to mung them. | |
| 538 ### | |
| 539 ### Note: it's no disaster if these productions miss a file or two; tar | |
| 540 ### and VC will swiftly let you know if this happens, and it is easily | |
| 541 ### corrected. | |
| 542 SOURCES = ChangeLog GETTING.GNU.SOFTWARE INSTALL Makefile.in PROBLEMS \ | |
| 543 README build-install.in configure make-dist move-if-change | |
| 544 | |
| 545 .PHONY: unlock relock | |
| 546 | |
| 547 unlock: | |
| 548 chmod u+w $(SOURCES) cpp/* | |
| 549 -(cd elisp && chmod u+w Makefile README *.texi) | |
| 550 (cd etc && $(MAKE) $(MFLAGS) unlock) | |
| 551 (cd lib-src && $(MAKE) $(MFLAGS) unlock) | |
| 552 (cd lisp && $(MAKE) $(MFLAGS) unlock) | |
| 553 (cd lisp/term && chmod u+w README *.el) | |
| 554 (cd man && chmod u+w *texi* ChangeLog split-man) | |
| 555 (cd lwlib && chmod u+w *.[ch] Makefile.in.in) | |
| 556 (cd src && $(MAKE) $(MFLAGS) unlock) | |
| 557 | |
| 558 relock: | |
| 559 chmod u-w $(SOURCES) cpp/* | |
| 560 -(cd elisp && chmod u-w Makefile README *.texi) | |
| 561 (cd etc && $(MAKE) $(MFLAGS) relock) | |
| 562 (cd lib-src && $(MAKE) $(MFLAGS) relock) | |
| 563 (cd lisp && $(MAKE) $(MFLAGS) relock) | |
| 564 (cd lisp/term && chmod u+w README *.el) | |
| 565 (cd man && chmod u+w *texi* ChangeLog split-man) | |
| 566 (cd lwlib && chmod u+w *.[ch] Makefile.in.in) | |
| 567 (cd src && $(MAKE) $(MFLAGS) relock) | |
| 568 | |
| 569 .PHONY: TAGS tags check dist | |
| 570 | |
| 571 TAGS tags: | |
| 572 @echo "If you don't have a copy of etags around, then do 'make lib-src' first." | |
| 573 @PATH=`pwd`/lib-src:$$PATH ; echo "Using etags from `which etags`." | |
| 574 PATH=`pwd`/lib-src:$$PATH ; cd ${srcdir} ; \ | |
| 575 etags --regex='| /[ ]*DEFVAR_[A-Z_ (]+"\([^\"]+\)"/|' src/*.[ch] ; \ | |
| 576 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 ; \ | |
| 577 etags -a lwlib/*.[ch] | |
| 578 | |
| 579 check: | |
| 580 @echo "We don't have any tests for XEmacs yet." | |
| 581 | |
| 582 dist: | |
| 583 cd ${srcdir} && make-dist | |
| 584 | |
| 585 .PHONY: info dvi | |
| 586 force-info: | |
| 587 info: force-info | |
| 588 (cd ${srcdir}/man && $(MAKE) $(MFLAGS) info) | |
| 589 | |
| 590 dvi: | |
| 591 (cd ${srcdir}/man && $(MAKE) $(MFLAGS) dvi) |
