comparison Makefile.in.in @ 398:74fd4e045ea6 r21-2-29

Import from CVS: tag r21-2-29
author cvs
date Mon, 13 Aug 2007 11:13:30 +0200
parents 6719134a07c2
children 2f8bb876ab1d
comparison
equal deleted inserted replaced
397:f4aeb21a5bad 398:74fd4e045ea6
47 ## produced by Bison, tags tables, info files, and so on. 47 ## produced by Bison, tags tables, info files, and so on.
48 48
49 ## make extraclean 49 ## make extraclean
50 ## Still more severe - delete backup and autosave files, too. 50 ## Still more severe - delete backup and autosave files, too.
51 51
52 #define NOT_C_CODE
53 #include "src/config.h"
54
52 #ifdef USE_GNU_MAKE 55 #ifdef USE_GNU_MAKE
53 RECURSIVE_MAKE=$(MAKE) 56 RECURSIVE_MAKE=$(MAKE)
54 #else 57 #else
55 @SET_MAKE@ 58 @SET_MAKE@
56 RECURSIVE_MAKE=@RECURSIVE_MAKE@ 59 RECURSIVE_MAKE=@RECURSIVE_MAKE@
58 61
59 SHELL = /bin/sh 62 SHELL = /bin/sh
60 LANG = C 63 LANG = C
61 LC_ALL = C 64 LC_ALL = C
62 RM = rm -f 65 RM = rm -f
66 MAKEPATH=./lib-src/make-path
63 pwd = /bin/pwd 67 pwd = /bin/pwd
68 TAR = tar
64 69
65 ## ==================== Things `configure' Might Edit ==================== 70 ## ==================== Things `configure' Might Edit ====================
66 71
67 CC=@CC@ 72 CC=@CC@
68 CPP=@CPP@ 73 CPP=@CPP@
90 ## The default location for installation. Everything is placed in 95 ## The default location for installation. Everything is placed in
91 ## subdirectories of this directory. The default values for many of 96 ## subdirectories of this directory. The default values for many of
92 ## the variables below are expressed in terms of this one, so you may 97 ## the variables below are expressed in terms of this one, so you may
93 ## not need to change them. This defaults to /usr/local. 98 ## not need to change them. This defaults to /usr/local.
94 prefix=@prefix@ 99 prefix=@prefix@
100
101 ## Variable data (as per each program update) goes here
102 ## The default is ${PROGNAME}
103 inststaticdir=@inststaticdir@
104
105 ## Static data (constant across program updates) goes here
106 ## The default is ${PROGNAME}-${version}
107 instvardir=@instvardir@
95 108
96 ## Like `prefix', but used for architecture-specific files. 109 ## Like `prefix', but used for architecture-specific files.
97 exec_prefix=@exec_prefix@ 110 exec_prefix=@exec_prefix@
98 111
99 ## Where to install XEmacs and other binaries that people will want to 112 ## Where to install XEmacs and other binaries that people will want to
189 ## Where to create and expect the locking directory, where 202 ## Where to create and expect the locking directory, where
190 ## the XEmacs locking code keeps track of which files are 203 ## the XEmacs locking code keeps track of which files are
191 ## currently being edited. 204 ## currently being edited.
192 lockdir=@lockdir@ 205 lockdir=@lockdir@
193 206
207 ## Where to put the DOC file.
208 docdir=@docdir@
209
194 ## Where to put executables to be run by XEmacs rather than 210 ## Where to put executables to be run by XEmacs rather than
195 ## the user. This path usually includes the XEmacs version 211 ## the user. This path usually includes the XEmacs version
196 ## and configuration name, so that multiple configurations 212 ## and configuration name, so that multiple configurations
197 ## for multiple versions of XEmacs may be installed at 213 ## for multiple versions of XEmacs may be installed at
198 ## once. 214 ## once.
211 ## because the compiled lisp files are part of the distribution 227 ## because the compiled lisp files are part of the distribution
212 ## and you cannot remake them without installing XEmacs first. 228 ## and you cannot remake them without installing XEmacs first.
213 MAKE_SUBDIR = @MAKE_SUBDIR@ 229 MAKE_SUBDIR = @MAKE_SUBDIR@
214 230
215 ## Subdirectories that can be made recursively. 231 ## Subdirectories that can be made recursively.
216 SUBDIR = ${MAKE_SUBDIR} man 232 SUBDIR = ${MAKE_SUBDIR} man
233
234 ## Subdirectories that must be cleaned on distclean
235 SUBDIR_DISTCLEAN = ${SUBDIR} modules/sample modules/ldap modules/zlib modules/base64
217 236
218 ## The makefiles of the directories in ${MAKE_SUBDIR}. 237 ## The makefiles of the directories in ${MAKE_SUBDIR}.
219 SUBDIR_MAKEFILES = @SUBDIR_MAKEFILES@ 238 SUBDIR_MAKEFILES = @SUBDIR_MAKEFILES@
220 239
221 ## Subdirectories to `make install-arch-dep' recursively 240 ## Subdirectories to `make install-arch-dep' recursively
226 ## When installing the info files, we need to do special things to 245 ## When installing the info files, we need to do special things to
227 ## avoid nuking an existing dir file, so we don't do that here; 246 ## avoid nuking an existing dir file, so we don't do that here;
228 ## instead, we have written out explicit code in the `install' targets. 247 ## instead, we have written out explicit code in the `install' targets.
229 COPYDIR = ${srcdir}/etc ${srcdir}/lisp 248 COPYDIR = ${srcdir}/etc ${srcdir}/lisp
230 COPYDESTS = ${etcdir} ${lispdir} 249 COPYDESTS = ${etcdir} ${lispdir}
231 GENERATED_HEADERS = src/paths.h src/Emacs.ad.h src/puresize-adjust.h src/config.h lwlib/config.h src/sheap-adjust.h 250 GENERATED_HEADERS = src/paths.h src/Emacs.ad.h src/config.h lwlib/config.h src/sheap-adjust.h
232 GENERATED_LISP = lisp/finder-inf.el 251 GENERATED_LISP = lisp/finder-inf.el
233 252
234 all: ${PROGNAME} all-elc info 253 all: ${PROGNAME} all-elc info
235 254
236 ${PROGNAME}: ${GENERATED_HEADERS} ${MAKE_SUBDIR} ${GENERATED_LISP} 255 ${PROGNAME}: ${GENERATED_HEADERS} ${MAKE_SUBDIR} ${GENERATED_LISP}
240 259
241 .NO_PARALLEL: ${GENERATED_HEADERS} ${MAKE_SUBDIR} dump-elcs 260 .NO_PARALLEL: ${GENERATED_HEADERS} ${MAKE_SUBDIR} dump-elcs
242 .PHONY: ${SUBDIR} all beta all-elc all-elcs dump-elc dump-elcs autoloads finder 261 .PHONY: ${SUBDIR} all beta all-elc all-elcs dump-elc dump-elcs autoloads finder
243 262
244 ## Convenience target for XEmacs beta testers 263 ## Convenience target for XEmacs beta testers
245 beta: clean all-elc finder 264 beta: clean all-elc finder info
246 265
247 ## Convenience target for XEmacs maintainers 266 ## Convenience target for XEmacs maintainers
248 ## This would run `make-xemacsdist' if I were really confident that everything 267 ## This would run `make-xemacsdist' if I were really confident that everything
249 ## was turnkey. 268 ## was turnkey.
250 dist: all-elc info 269 dist: all-elc info
254 ## - configure from configure.in 273 ## - configure from configure.in
255 ## - config.values.in from configure 274 ## - config.values.in from configure
256 ## - src/depend from src/*.[ch] 275 ## - src/depend from src/*.[ch]
257 .PHONY: config configure depend 276 .PHONY: config configure depend
258 config: configure depend 277 config: configure depend
259 configure: ${srcdir}/configure 278 configure: ${srcdir}/configure ${srcdir}/lib-src/config.values.in
260 ${srcdir}/configure: ${srcdir}/configure.in 279
280 ${srcdir}/configure : ${srcdir}/configure.in
261 cd ${srcdir} && autoconf 281 cd ${srcdir} && autoconf
262 cd ${srcdir} && /bin/sh lib-src/config.values.sh 282
263 283 ${srcdir}/lib-src/config.values.in : ${srcdir}/configure
264 depend ${srcdir}/src/depend: 284 cd ${srcdir} && $(SHELL) lib-src/config.values.sh
265 cd ${srcdir}/src && \ 285
266 perl ./make-src-depend > depend.tmp && \ 286 depend ${srcdir}/src/depend :
267 $(RM) depend && mv depend.tmp depend 287 cd ${srcdir}/src && $(RECURSIVE_MAKE) depend
268 288
269 ## Build XEmacs and recompile out-of-date and missing .elc files along 289 ## Build XEmacs and recompile out-of-date and missing .elc files along
270 ## the way. 290 ## the way.
271 all-elc all-elcs: lib-src lwlib dump-elcs src 291 all-elc all-elcs: lib-src lwlib dump-elcs src
272 MAKE='$(MAKE)' EMACS='./src/$(PROGNAME)' sh ${srcdir}/lib-src/update-elc.sh 292 MAKE='$(MAKE)' EMACS='./src/$(PROGNAME)' $(SHELL) ${srcdir}/lib-src/update-elc.sh
273 293
274 ## Sub-target for all-elc. 294 ## Sub-target for all-elc.
275 dump-elc dump-elcs: ${GENERATED_HEADERS} FRC.dump-elcs 295 dump-elc dump-elcs: ${GENERATED_HEADERS} FRC.dump-elcs
276 cd ./src && $(RECURSIVE_MAKE) dump-elcs 296 cd ./src && $(RECURSIVE_MAKE) dump-elcs
277 297
278 autoloads: src 298 autoloads: src
279 MAKE='$(MAKE)' EMACS='./src/$(PROGNAME)' sh ${srcdir}/lib-src/update-autoloads.sh 299 MAKE='$(MAKE)' EMACS='./src/$(PROGNAME)' $(SHELL) ${srcdir}/lib-src/update-autoloads.sh
280 300
281 custom-loads: 301 custom-loads:
282 MAKE='$(MAKE)' EMACS='./src/$(PROGNAME)' sh ${srcdir}/lib-src/update-custom.sh 302 MAKE='$(MAKE)' EMACS='./src/$(PROGNAME)' $(SHELL) ${srcdir}/lib-src/update-custom.sh
283 303
284 finder: src 304 finder: src
285 @echo "Building finder database ..." 305 @echo "Building finder database ..."
286 @(cd ./lisp; \ 306 @(cd ./lisp; \
287 ${blddir}/src/${PROGNAME} -batch -vanilla \ 307 ${blddir}/src/${PROGNAME} -batch -vanilla \
304 @echo "Producing \`src/Emacs.ad.h' from \`etc/Emacs.ad'." 324 @echo "Producing \`src/Emacs.ad.h' from \`etc/Emacs.ad'."
305 @$(RM) src/Emacs.ad.h 325 @$(RM) src/Emacs.ad.h
306 @(echo "/* Do not edit this file!" ; \ 326 @(echo "/* Do not edit this file!" ; \
307 echo " Automatically generated from ${srcdir}/etc/Emacs.ad" ; \ 327 echo " Automatically generated from ${srcdir}/etc/Emacs.ad" ; \
308 echo " */" ; \ 328 echo " */" ; \
309 /bin/sh ${srcdir}/lib-src/ad2c ${srcdir}/etc/Emacs.ad ) > \ 329 $(SHELL) ${srcdir}/lib-src/ad2c ${srcdir}/etc/Emacs.ad ) > \
310 src/Emacs.ad.h 330 src/Emacs.ad.h
311
312 src/puresize-adjust.h: ${srcdir}/src/puresize.h
313 @echo "Resetting \`src/puresize-adjust.h'."; \
314 (echo "/* Do not edit this file!" ; \
315 echo " Automatically generated by XEmacs */" ; \
316 echo "#define PURESIZE_ADJUSTMENT 0") > $@
317 331
318 src/sheap-adjust.h: 332 src/sheap-adjust.h:
319 @echo "Resetting \`src/sheap-adjust.h'."; \ 333 @echo "Resetting \`src/sheap-adjust.h'."; \
320 (echo "/* Do not edit this file!" ; \ 334 (echo "/* Do not edit this file!" ; \
321 echo " Automatically generated by XEmacs */" ; \ 335 echo " Automatically generated by XEmacs */" ; \
397 if test "`(cd ${archlibdir} && $(pwd))`" != \ 411 if test "`(cd ${archlibdir} && $(pwd))`" != \
398 "`(cd ./lib-src && $(pwd))`"; then \ 412 "`(cd ./lib-src && $(pwd))`"; then \
399 if test -f ../Installation; then \ 413 if test -f ../Installation; then \
400 ${INSTALL_DATA} ../Installation ${archlibdir}/Installation; \ 414 ${INSTALL_DATA} ../Installation ${archlibdir}/Installation; \
401 fi; \ 415 fi; \
402 for f in DOC config.values; do \ 416 ${INSTALL_DATA} lib-src/config.values ${docdir}/config.values; \
403 ${INSTALL_DATA} lib-src/$${f} ${archlibdir}/$${f}; \ 417 ${INSTALL_DATA} lib-src/DOC ${docdir}/DOC; \
404 done ; \
405 for subdir in `find ${archlibdir} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; \ 418 for subdir in `find ${archlibdir} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; \
406 do (cd $${subdir} && $(RM) -r RCS CVS SCCS \#* *~) ; done ; \ 419 do (cd $${subdir} && $(RM) -r RCS CVS SCCS \#* *~) ; done ; \
407 else true; fi 420 else true; fi
421 #ifdef WINDOWSNT
422 ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}
423 -chmod 0755 ${bindir}/${PROGNAME}
424 #else
408 ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}-${version} 425 ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}-${version}
409 -chmod 0755 ${bindir}/${PROGNAME}-${version} 426 -chmod 0755 ${bindir}/${PROGNAME}-${version}
427 # ifdef __CYGWIN32__
428 cd ${bindir} && $(RM) ./${PROGNAME} && ${LN_S} ${PROGNAME}-${version}.exe ./${PROGNAME}
429 # else
410 cd ${bindir} && $(RM) ./${PROGNAME} && ${LN_S} ${PROGNAME}-${version} ./${PROGNAME} 430 cd ${bindir} && $(RM) ./${PROGNAME} && ${LN_S} ${PROGNAME}-${version} ./${PROGNAME}
431 # endif /* __CYGWIN32__ */
432 #endif /* WINDOWSNT */
411 if test "${prefix}" != "${exec_prefix}"; then \ 433 if test "${prefix}" != "${exec_prefix}"; then \
434 $(MAKEPATH) ${exec_prefix}/lib/${instvardir}; \
412 for dir in \ 435 for dir in \
413 lib/${PROGNAME} \ 436 lib/${inststaticdir} \
414 lib/${PROGNAME}-${version}/etc \ 437 lib/${instvardir}/etc \
415 lib/${PROGNAME}-${version}/info \ 438 lib/${instvardir}/info \
416 lib/${PROGNAME}-${version}/lisp; do \ 439 lib/${instvardir}/lisp; do \
417 if test ! -d ${exec_prefix}/$${dir}; then \ 440 if test ! -d ${exec_prefix}/$${dir}; then \
418 $(LN_S) ${prefix}/$${dir} ${exec_prefix}/$${dir}; fi; \ 441 $(LN_S) ${prefix}/$${dir} ${exec_prefix}/$${dir}; fi; \
419 done; \ 442 done; \
420 fi 443 fi
421 444
436 dest=$$1 ; shift ; \ 459 dest=$$1 ; shift ; \
437 test -d $${dir} \ 460 test -d $${dir} \
438 -a "`(cd $${dir} && $(pwd))`" != \ 461 -a "`(cd $${dir} && $(pwd))`" != \
439 "`(cd $${dest} && $(pwd))`" \ 462 "`(cd $${dest} && $(pwd))`" \
440 && (echo "Copying $${dir}..." ; \ 463 && (echo "Copying $${dir}..." ; \
441 (cd $${dir} && tar -cf - . ) | \ 464 (cd $${dir} && $(TAR) -cf - . ) | \
442 (cd $${dest} && umask 022 && tar -xf - );\ 465 (cd $${dest} && umask 022 && $(TAR) -xf - );\
443 chmod 0755 $${dest}; \ 466 chmod 0755 $${dest}; \
444 for subdir in `find $${dest} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; do \ 467 for subdir in `find $${dest} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; do \
445 (cd $${subdir} && $(RM) -r RCS CVS SCCS \#* *~) ; \ 468 (cd $${subdir} && $(RM) -r RCS CVS SCCS \#* *~) ; \
446 done) ; \ 469 done) ; \
447 done 470 done
453 for file in *.info* ; do \ 476 for file in *.info* ; do \
454 ${INSTALL_DATA} $${file} ${infodir}/$${file} ; \ 477 ${INSTALL_DATA} $${file} ${infodir}/$${file} ; \
455 chmod 0644 ${infodir}/$${file}; \ 478 chmod 0644 ${infodir}/$${file}; \
456 done ; \ 479 done ; \
457 fi 480 fi
458 ## Note it's `xemacs' not ${PROGNAME}
459 cd ${srcdir}/etc && \ 481 cd ${srcdir}/etc && \
460 for page in xemacs etags ctags gnuserv gnuclient gnuattach gnudoit; do \ 482 for page in xemacs etags ctags gnuserv gnuclient gnuattach gnudoit; do \
461 ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${mandir}/$${page}${manext} ; \ 483 ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${mandir}/$${page}${manext} ; \
462 chmod 0644 ${mandir}/$${page}${manext} ; \ 484 chmod 0644 ${mandir}/$${page}${manext} ; \
463 done 485 done
467 @echo ${srcdir}/lib-src/gzip-el.sh lispdir " from the command line." 489 @echo ${srcdir}/lib-src/gzip-el.sh lispdir " from the command line."
468 @echo "Where lispdir is where the lisp files were installed, i.e.," 490 @echo "Where lispdir is where the lisp files were installed, i.e.,"
469 @echo "${lispdir}" 491 @echo "${lispdir}"
470 492
471 gzip-el: 493 gzip-el:
472 ${srcdir}/lib-src/gzip-el.sh ${lispdir} 494 $(SHELL) ${srcdir}/lib-src/gzip-el.sh ${lispdir}
473 495
474 MAKEPATH=./lib-src/make-path
475 ## Build all the directories to install XEmacs in. 496 ## Build all the directories to install XEmacs in.
476 ## Since we may be creating several layers of directories, 497 ## Since we may be creating several layers of directories,
477 ## (e.g. /usr/local/lib/${PROGNAME}-20.5/sparc-sun-solaris2.6), we use 498 ## (e.g. /usr/local/lib/${PROGNAME}-20.5/sparc-sun-solaris2.6), we use
478 ## make-path instead of mkdir. Not all mkdirs have the `-p' flag. 499 ## make-path instead of mkdir. Not all mkdirs have the `-p' flag.
479 mkdir: FRC.mkdir 500 mkdir: FRC.mkdir
480 ${MAKEPATH} ${COPYDESTS} ${lockdir} ${infodir} ${archlibdir} \ 501 ${MAKEPATH} ${COPYDESTS} ${lockdir} ${docdir} ${infodir} ${archlibdir} \
481 ${mandir} ${bindir} ${datadir} ${libdir} ${pkgdir} \ 502 ${mandir} ${bindir} ${datadir} ${libdir} ${pkgdir} \
482 ${sitelispdir} ${moduledir} ${sitemoduledir} 503 ${sitelispdir} ${moduledir} ${sitemoduledir}
483 -chmod 0777 ${lockdir} 504 -chmod 0777 ${lockdir}
484 505
485 ## Delete all the installed files that the `install' target would 506 ## Delete all the installed files that the `install' target would
547 ## distribution. 568 ## distribution.
548 top_distclean=\ 569 top_distclean=\
549 $(RM) config.status config.log confdefs.h config-tmp-* build-install Installation ; \ 570 $(RM) config.status config.log confdefs.h config-tmp-* build-install Installation ; \
550 $(RM) core .sbinit lock/* GNUmakefile Makefile Makefile.in ; \ 571 $(RM) core .sbinit lock/* GNUmakefile Makefile Makefile.in ; \
551 $(RM) lisp/finder-inf.el* Installation.el Installation.elc ; \ 572 $(RM) lisp/finder-inf.el* Installation.el Installation.elc ; \
552 $(RM) packages mule-packages site-lisp 573 $(RM) -r site-packages xemacs-packages mule-packages site-lisp
553 574
554 distclean: FRC.distclean 575 distclean: FRC.distclean
555 for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done 576 for d in $(SUBDIR_DISTCLEAN); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
556 -${top_distclean} 577 -${top_distclean}
557 578
558 ## `realclean' 579 ## `realclean'
559 ## Delete everything from the current directory that can be 580 ## Delete everything from the current directory that can be
560 ## reconstructed with this Makefile. This typically includes 581 ## reconstructed with this Makefile. This typically includes