Mercurial > hg > xemacs-beta
comparison Makefile.in @ 159:3bb7ccffb0c0 r20-3b6
Import from CVS: tag r20-3b6
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:41:43 +0200 |
parents | 43dd3413c7c7 |
children | 0132846995bd |
comparison
equal
deleted
inserted
replaced
158:558dfa75ffb3 | 159:3bb7ccffb0c0 |
---|---|
121 # expected to be in ${srcdir}/src, and the source code for XEmacs's | 121 # expected to be in ${srcdir}/src, and the source code for XEmacs's |
122 # utility programs is expected to be in ${srcdir}/lib-src. This is | 122 # utility programs is expected to be in ${srcdir}/lib-src. This is |
123 # set by the configure script's `--srcdir' option. | 123 # set by the configure script's `--srcdir' option. |
124 srcdir=@srcdir@ | 124 srcdir=@srcdir@ |
125 | 125 |
126 # Tell make where to find source files; this is needed for the makefiles. | |
127 VPATH=@srcdir@ | |
128 | |
129 # ==================== XEmacs-specific directories ==================== | 126 # ==================== XEmacs-specific directories ==================== |
130 | 127 |
131 # These variables hold the values XEmacs will actually use. They are | 128 # These variables hold the values XEmacs will actually use. They are |
132 # based on the values of the standard Make variables above. | 129 # based on the values of the standard Make variables above. |
133 | 130 |
214 # When installing the info files, we need to do special things to | 211 # When installing the info files, we need to do special things to |
215 # avoid nuking an existing dir file, so we don't do that here; | 212 # avoid nuking an existing dir file, so we don't do that here; |
216 # instead, we have written out explicit code in the `install' targets. | 213 # instead, we have written out explicit code in the `install' targets. |
217 COPYDIR = ${srcdir}/etc ${srcdir}/lisp | 214 COPYDIR = ${srcdir}/etc ${srcdir}/lisp |
218 COPYDESTS = ${etcdir} ${lispdir} | 215 COPYDESTS = ${etcdir} ${lispdir} |
219 | 216 GENERATED_HEADERS = src/paths.h src/Emacs.ad.h src/config.h src/puresize_adjust.h |
220 .NO_PARALLEL: src/paths.h src/Emacs.ad.h ${MAKE_SUBDIR} dump-elcs | 217 |
221 | 218 all: ${GENERATED_HEADERS} ${MAKE_SUBDIR} |
222 all: src/paths.h src/Emacs.ad.h ${MAKE_SUBDIR} | 219 |
220 # For performance and consistency, no built-in rules | |
221 .SUFFIXES: | |
222 | |
223 .NO_PARALLEL: ${GENERATED_HEADERS} ${MAKE_SUBDIR} dump-elcs | |
224 .PHONY: ${SUBDIR} all beta all-elc all-elcs dump-elc dump-elcs autoloads | |
223 | 225 |
224 # Convenience target for XEmacs beta testers | 226 # Convenience target for XEmacs beta testers |
225 beta: clean all-elc | 227 beta: clean all-elc |
226 | 228 |
227 # Build XEmacs and recompile out-of-date and missing .elc files along | 229 # Build XEmacs and recompile out-of-date and missing .elc files along |
228 # the way. | 230 # the way. |
229 all-elc all-elcs: src/paths.h src/Emacs.ad.h lib-src lwlib dump-elcs src | 231 all-elc all-elcs: lib-src lwlib dump-elcs src |
230 MAKE='$(MAKE)' sh ${srcdir}/lib-src/update-elc.sh | 232 MAKE='$(MAKE)' sh ${srcdir}/lib-src/update-elc.sh |
231 | 233 |
232 # Sub-target for all-elc. | 234 # Sub-target for all-elc. |
233 dump-elc dump-elcs: FRC.dump-elcs | 235 dump-elc dump-elcs: ${GENERATED_HEADERS} FRC.dump-elcs |
234 cd src && $(MAKE) dump-elcs $(MFLAGS) \ | 236 cd src && $(MAKE) dump-elcs $(MFLAGS) \ |
235 CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}' | 237 CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}' |
236 | 238 |
237 autoloads: src | 239 autoloads: src |
238 MAKE='$(MAKE)' sh ${srcdir}/lib-src/update-autoloads.sh | 240 MAKE='$(MAKE)' sh ${srcdir}/lib-src/update-autoloads.sh |
243 # something notable, so the only unnecessary work we do is in building | 245 # something notable, so the only unnecessary work we do is in building |
244 # src/paths.h.tmp, which isn't much. Note that sed is not in /bin on | 246 # src/paths.h.tmp, which isn't much. Note that sed is not in /bin on |
245 # 386bsd. | 247 # 386bsd. |
246 src/paths.h: Makefile ${srcdir}/src/paths.h.in FRC.src.paths.h | 248 src/paths.h: Makefile ${srcdir}/src/paths.h.in FRC.src.paths.h |
247 @echo "Producing \`src/paths.h' from \`src/paths.h.in'." | 249 @echo "Producing \`src/paths.h' from \`src/paths.h.in'." |
248 -rm -f src/paths.h.tmp | 250 @-rm -f src/paths.h.tmp |
249 @cp ${srcdir}/src/paths.h.in src/paths.h.tmp | 251 @cp ${srcdir}/src/paths.h.in src/paths.h.tmp |
250 -chmod 0644 src/paths.h.tmp | 252 @-chmod 0644 src/paths.h.tmp |
251 @echo '#define PATH_PREFIX "${prefix}"' >> src/paths.h.tmp | 253 @(echo '#define PATH_PREFIX "${prefix}"'; \ |
252 @if [ x"${lispdir_user_defined}" = x"yes" ]; then \ | 254 if test "${lispdir_user_defined}" = "yes"; \ |
253 echo '#define PATH_LOADSEARCH "${lispdir}"' >> src/paths.h.tmp;\ | 255 then echo '#define PATH_LOADSEARCH "${lispdir}"'; \ |
254 else \ | 256 else echo '/* #define PATH_LOADSEARCH "${lispdir}" */'; \ |
255 echo '/* #define PATH_LOADSEARCH "${lispdir}" */' >>src/paths.h.tmp;\ | 257 fi; \ |
256 fi | 258 if test "${archlibdir_user_defined}" = "yes"; \ |
257 @if [ x"${archlibdir_user_defined}" = x"yes" ]; then \ | 259 then echo '#define PATH_EXEC "${archlibdir}"'; \ |
258 echo '#define PATH_EXEC "${archlibdir}"' >> src/paths.h.tmp ;\ | 260 else echo '/* #define PATH_EXEC "${archlibdir}" */'; \ |
259 else \ | 261 fi; \ |
260 echo '/* #define PATH_EXEC "${archlibdir}" */' >> src/paths.h.tmp ;\ | 262 if test "${etcdir_user_defined}" = "yes"; \ |
261 fi | 263 then echo '#define PATH_DATA "${etcdir}"'; \ |
262 @if [ x"${etcdir_user_defined}" = x"yes" ]; then \ | 264 else echo '/* #define PATH_DATA "${etcdir}" */'; \ |
263 echo '#define PATH_DATA "${etcdir}"' >> src/paths.h.tmp ;\ | 265 fi; \ |
264 else \ | 266 if test "${lockdir_user_defined}" = "yes"; \ |
265 echo '/* #define PATH_DATA "${etcdir}" */' >> src/paths.h.tmp ;\ | 267 then echo '#define PATH_LOCK "${lockdir}"'; \ |
266 fi | 268 else echo '/* #define PATH_LOCK "${lockdir}" */'; \ |
267 @if [ x"${lockdir_user_defined}" = x"yes" ]; then \ | 269 fi; \ |
268 echo '#define PATH_LOCK "${lockdir}"' >> src/paths.h.tmp ;\ | 270 if test "${infodir_user_defined}" = "yes"; \ |
269 else \ | 271 then echo '#define PATH_INFO "${infodir}"'; \ |
270 echo '/* #define PATH_LOCK "${lockdir}" */' >> src/paths.h.tmp ;\ | 272 else echo '/* #define PATH_INFO "${infodir}" */'; \ |
271 fi | 273 fi; ) >> src/paths.h.tmp; \ |
272 @if [ x"${infodir_user_defined}" = x"yes" ]; then \ | 274 sh ${srcdir}/move-if-change src/paths.h.tmp src/paths.h |
273 echo '#define PATH_INFO "${infodir}"' >> src/paths.h.tmp ;\ | |
274 else \ | |
275 echo '/* #define PATH_INFO "${infodir}" */' >> src/paths.h.tmp ;\ | |
276 fi | |
277 @sh ${srcdir}/move-if-change src/paths.h.tmp src/paths.h | |
278 | 275 |
279 # We have to force the building of Emacs.ad.h as well in order to get it | 276 # We have to force the building of Emacs.ad.h as well in order to get it |
280 # updated correctly when VPATH is being used. Since we use move-if-change, | 277 # updated correctly when VPATH is being used. Since we use move-if-change, |
281 # it will only actually change if the user modified ${etcdir}/Emacs.ad. | 278 # it will only actually change if the user modified ${etcdir}/Emacs.ad. |
282 src/Emacs.ad.h: ${srcdir}/etc/Emacs.ad | 279 src/Emacs.ad.h: ${srcdir}/etc/Emacs.ad |
286 echo " Automatically generated from ${srcdir}/etc/Emacs.ad" ; \ | 283 echo " Automatically generated from ${srcdir}/etc/Emacs.ad" ; \ |
287 echo " */" ; \ | 284 echo " */" ; \ |
288 /bin/sh ${srcdir}/lib-src/ad2c ${srcdir}/etc/Emacs.ad ) > \ | 285 /bin/sh ${srcdir}/lib-src/ad2c ${srcdir}/etc/Emacs.ad ) > \ |
289 src/Emacs.ad.h | 286 src/Emacs.ad.h |
290 | 287 |
288 src/puresize_adjust.h: ${srcdir}/src/puresize.h | |
289 @echo "Resetting \`src/puresize_adjust.h'."; \ | |
290 (echo "/* Do not edit this file!" ; \ | |
291 echo " Automatically generated by XEmacs */" ; \ | |
292 echo "#define PURESIZE_ADJUSTMENT 0") > $@ | |
293 | |
291 src: @SRC_SUBDIR_DEPS@ FRC.src | 294 src: @SRC_SUBDIR_DEPS@ FRC.src |
292 lib-src: FRC.lib-src | 295 lib-src: FRC.lib-src |
293 lwlib: FRC.lwlib | 296 lwlib: FRC.lwlib |
294 | 297 |
295 .RECURSIVE: ${SUBDIR} | 298 .RECURSIVE: ${SUBDIR} |
296 | 299 |
297 ${SUBDIR}: ${SUBDIR_MAKEFILES} src/config.h src/puresize_adjust.h FRC | 300 ${SUBDIR}: ${SUBDIR_MAKEFILES} ${GENERATED_HEADERS} FRC |
298 cd $@ && $(MAKE) all $(MFLAGS) \ | 301 cd $@ && $(MAKE) all $(MFLAGS) \ |
299 CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}' | 302 CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}' |
300 | 303 |
301 Makefile: ${srcdir}/Makefile.in config.status | 304 Makefile: ${srcdir}/Makefile.in config.status |
302 ./config.status | 305 ./config.status |
310 lwlib/Makefile: ${srcdir}/lwlib/Makefile.in.in config.status | 313 lwlib/Makefile: ${srcdir}/lwlib/Makefile.in.in config.status |
311 ./config.status | 314 ./config.status |
312 | 315 |
313 src/config.h: ${srcdir}/src/config.h.in | 316 src/config.h: ${srcdir}/src/config.h.in |
314 ./config.status | 317 ./config.status |
315 | |
316 src/puresize_adjust.h: ${srcdir}/src/puresize.h | |
317 @echo "Resetting \`src/puresize_adjust.h'." | |
318 @echo '/* This file is generated by XEmacs, DO NOT MODIFY!!! */' > src/puresize_adjust.h | |
319 @echo '#define PURESIZE_ADJUSTMENT 0' >> src/puresize_adjust.h | |
320 | |
321 | 318 |
322 # ==================== Installation ==================== | 319 # ==================== Installation ==================== |
323 | 320 |
324 ## If we let lib-src do its own installation, that means we | 321 ## If we let lib-src do its own installation, that means we |
325 ## don't have to duplicate the list of utilities to install in | 322 ## don't have to duplicate the list of utilities to install in |
326 ## this Makefile as well. | 323 ## this Makefile as well. |
327 | 324 |
328 ## On AIX, use tar xBf. | 325 ## On AIX, use tar xBf. |
329 ## On Xenix, use tar xpf. | 326 ## On Xenix, use tar xpf. |
330 | 327 |
331 .PHONY: install install-arch-dep install-arch-indep mkdir | 328 .PHONY: install-only install install-arch-dep install-arch-indep gzip.el mkdir |
332 | 329 |
333 ## We delete each directory in ${COPYDESTS} before we copy into it; | 330 ## We delete each directory in ${COPYDESTS} before we copy into it; |
334 ## that way, we can reinstall over directories that have been put in | 331 ## that way, we can reinstall over directories that have been put in |
335 ## place with their files read-only (perhaps because they are checked | 332 ## place with their files read-only (perhaps because they are checked |
336 ## into RCS). In order to make this safe, we make sure that the | 333 ## into RCS). In order to make this safe, we make sure that the |
540 ### and VC will swiftly let you know if this happens, and it is easily | 537 ### and VC will swiftly let you know if this happens, and it is easily |
541 ### corrected. | 538 ### corrected. |
542 SOURCES = ChangeLog GETTING.GNU.SOFTWARE INSTALL Makefile.in PROBLEMS \ | 539 SOURCES = ChangeLog GETTING.GNU.SOFTWARE INSTALL Makefile.in PROBLEMS \ |
543 README build-install.in configure make-dist move-if-change | 540 README build-install.in configure make-dist move-if-change |
544 | 541 |
545 .PHONY: unlock relock | 542 .PHONY: unlock relock TAGS tags check dist info dvi mcs |
546 | 543 |
547 unlock: | 544 unlock: |
548 chmod u+w $(SOURCES) cpp/* | 545 chmod u+w $(SOURCES) cpp/* |
549 -(cd elisp && chmod u+w Makefile README *.texi) | 546 -(cd elisp && chmod u+w Makefile README *.texi) |
550 (cd etc && $(MAKE) $(MFLAGS) unlock) | 547 (cd etc && $(MAKE) $(MFLAGS) unlock) |
564 (cd lisp/term && chmod u+w README *.el) | 561 (cd lisp/term && chmod u+w README *.el) |
565 (cd man && chmod u+w *texi* ChangeLog split-man) | 562 (cd man && chmod u+w *texi* ChangeLog split-man) |
566 (cd lwlib && chmod u+w *.[ch] Makefile.in.in) | 563 (cd lwlib && chmod u+w *.[ch] Makefile.in.in) |
567 (cd src && $(MAKE) $(MFLAGS) relock) | 564 (cd src && $(MAKE) $(MFLAGS) relock) |
568 | 565 |
569 .PHONY: TAGS tags check dist | 566 TAGS tags: FRC.tags |
570 | |
571 TAGS tags: | |
572 @echo "If you don't have a copy of etags around, then do 'make lib-src' first." | 567 @echo "If you don't have a copy of etags around, then do 'make lib-src' first." |
573 @PATH=`pwd`/lib-src:$$PATH HOME=/-=-; export PATH HOME; \ | 568 @PATH=`pwd`/lib-src:$$PATH HOME=/-=-; export PATH HOME; \ |
574 echo "Using etags from `which etags`." | 569 echo "Using etags from `which etags`." |
575 PATH=`pwd`/lib-src:$$PATH ; export PATH; cd ${srcdir} && \ | 570 PATH=`pwd`/lib-src:$$PATH ; export PATH; cd ${srcdir} && \ |
576 etags --regex='/[ ]*DEF\(VAR\|INE\)_[A-Z_]+[ ]*([ ]*"\([^"]+\)"/\2/' src/*.[ch] ; \ | 571 etags --regex='/[ ]*DEF\(VAR\|INE\)_[A-Z_]+[ ]*([ ]*"\([^"]+\)"/\2/' src/*.[ch] ; \ |
583 @echo "We don't have any automated tests for XEmacs yet." | 578 @echo "We don't have any automated tests for XEmacs yet." |
584 | 579 |
585 dist: | 580 dist: |
586 cd ${srcdir} && make-dist | 581 cd ${srcdir} && make-dist |
587 | 582 |
588 .PHONY: info dvi | 583 info: FRC.info |
589 force-info: | |
590 info: force-info | |
591 cd ${srcdir}/man && $(MAKE) $(MFLAGS) $@ | 584 cd ${srcdir}/man && $(MAKE) $(MFLAGS) $@ |
592 dvi: | 585 dvi: |
593 cd ${srcdir}/man && $(MAKE) $(MFLAGS) $@ | 586 cd ${srcdir}/man && $(MAKE) $(MFLAGS) $@ |
594 | 587 |
595 # Fix up version information in executables (Solaris-only) | 588 # Fix up version information in executables (Solaris-only) |