Mercurial > hg > xemacs-beta
diff lib-src/Makefile.in.in @ 0:376386a54a3c r19-14
Import from CVS: tag r19-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:45:50 +0200 |
parents | |
children | bcdc7deadc19 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lib-src/Makefile.in.in Mon Aug 13 08:45:50 2007 +0200 @@ -0,0 +1,480 @@ +/* Makefile for lib-src subdirectory in XEmacs. + +Copyright (C) 1985, 1987, 1988, 1993, 1994 Free Software Foundation, Inc. + +This file is part of XEmacs. + +XEmacs 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 2, or (at your option) any +later version. + +XEmacs 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 XEmacs; see the file COPYING. If not, write to the Free +the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +/* Note: FSF Makefile.in.in does something weird so that the comments + above a certain point in this file are in shell format instead of + in C format. I don't know how the hell this is supposed to work. */ + +/* Avoid trouble on systems where the `SHELL' variable might be + inherited from the environment. */ +SHELL = /bin/sh + +/* Some people use these in paths they define. We don't want their paths + getting changed on them. */ +#undef sparc +#undef sun +#undef unix +#undef sgi +#undef NeXT +#undef mips + +/* ==================== Things `configure' will edit ==================== */ + +CC=@CC@ +CFLAGS=@CFLAGS@ +ALLOCA=@ALLOCA@ +YACC=@YACC@ +LN_S=@LN_S@ +version=@version@ +configuration=@configuration@ + +/* ==================== Where To Install Things ==================== */ + +/* The default location for installation. Everything is placed in + subdirectories of this directory. The default values for many of + the variables below are expressed in terms of this one, so you may + not need to change them. This is set with the --prefix option to + `../configure'. */ +prefix=@prefix@ + +/* Like `prefix', but used for architecture-specific files. This is + set with the --exec-prefix option to `../configure'. */ +exec_prefix=@exec_prefix@ + +/* Where to install Emacs and other binaries that people will want to + run directly (like etags). This is set with the --bindir option + to `../configure'. */ +bindir=@bindir@ + +/* Where to install and expect executable files to be run by Emacs + rather than directly by users, and other architecture-dependent + data. ${archlibdir} is usually below this. This is set with the + --libdir option to `../configure'. */ +libdir=@libdir@ + +/* Where to find the source code. This is set by the configure + script's `--srcdir' option. However, the value of ${srcdir} in + this makefile is not identical to what was specified with --srcdir, + since the variable here has `/lib-src' added at the end. */ +srcdir=@srcdir@ + +/* ==================== Emacs-specific directories ==================== */ + +/* These variables hold the values Emacs will actually use. They are + based on the values of the standard Make variables above. + + Where to put executables to be run by Emacs rather than the user. + This path usually includes the Emacs version and configuration name, + so that multiple configurations for multiple versions of Emacs may + be installed at once. This can be set with the --archlibdir option + to `../configure'. */ +archlibdir=@archlibdir@ + +/* ==================== Utility Programs for the Build ================= */ + +/* ../configure figures out the correct values for these. */ +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_DATA = @INSTALL_DATA@ + +/* ========================== Lists of Files =========================== */ + +/* Things that a user might actually run, + which should be installed in bindir. */ +INSTALLABLES = etags ctags emacsclient b2m gnuclient gnuattach gnudoit +INSTALLABLE_SCRIPTS = rcs-checkin + +/* Things that Emacs runs internally, or during the build process, + which should not be installed in bindir. */ +UTILITIES= make-path wakeup profile make-docfile digest-doc \ + sorted-doc movemail cvtmail fakemail yow emacsserver hexl \ + gnuserv + +/* Like UTILITIES, but they're not system-dependent, and should not be + deleted by the distclean target. */ +SCRIPTS= rcs2log vcdiff + +EXECUTABLES= ${UTILITIES} ${INSTALLABLES} ${SCRIPTS} ${INSTALLABLE_SCRIPTS} + +SOURCES = COPYING ChangeLog Makefile.in.in README aixcc.lex emacs.csh \ + makedoc.com *.[chy] rcs2log vcdiff + +/* ========================== start of cpp stuff ======================= */ + +/* From here on, comments must be done in C syntax. (see comment above + about this.) */ + +#define NO_SHORTNAMES +#define THIS_IS_YMAKEFILE +#define NOT_C_CODE +#include "../src/config.h" + +/* With the traditional VPATH setting, it is not possible to + simultaneously compile in-place and in another directory. The + mistaken definition is that *all* dependencies are searched for in + the VPATH directory, rather than just the dependencies that are not + themselves targets. Thus, if there is an up-to-date .o file in the + in-place location, it will not get recompiled in the not-in-place + location. + + The GNU Make `vpath' directive continues this tradition, but at + least lets you restrict the classes of files that it applies to. + This allows us to kludge around the problem. */ +#ifdef USE_GNU_MAKE +vpath %.c @srcdir@ +vpath %.h @srcdir@ +/* now list files that should NOT be searched in the srcdir. + This includes any .c or .h that's built from something else + (e.g. a .in file). */ +/* none here */ +#else +VPATH=@srcdir@ +#endif + +/* We won't really call alloca; + don't let the file name alloca.c get messed up. */ +#ifdef alloca +#undef alloca +#endif + +/* Some s/*.h files define this to request special libraries. */ +#ifndef LIBS_SYSTEM +#define LIBS_SYSTEM +#endif + +/* Some m/*.h files define this to request special libraries. */ +#ifndef LIBS_MACHINE +#define LIBS_MACHINE +#endif + +#ifndef LD_SWITCH_X_SYSTEM +#define LD_SWITCH_X_SYSTEM +#endif + +#ifndef LD_SWITCH_X_SITE +#define LD_SWITCH_X_SITE +#endif + +#ifndef C_SWITCH_SYSTEM +#define C_SWITCH_SYSTEM +#endif + +#ifndef C_SWITCH_MACHINE +#define C_SWITCH_MACHINE +#endif + +#ifndef C_SWITCH_X_SYSTEM +#define C_SWITCH_X_SYSTEM +#endif + +#ifndef C_SWITCH_X_SITE +#define C_SWITCH_X_SITE +#endif + +#ifndef C_SWITCH_SITE +#define C_SWITCH_SITE +#endif + +#ifndef LD_SWITCH_SITE +#define LD_SWITCH_SITE +#endif + +#undef MOVEMAIL_NEEDS_BLESSING +#ifndef MAIL_USE_FLOCK +#ifndef MAIL_USE_LOCKF +#define MOVEMAIL_NEEDS_BLESSING +#endif +#endif + +#ifdef MOVEMAIL_NEEDS_BLESSING +#define BLESSMAIL blessmail +#else +#define BLESSMAIL +#endif + +#if defined (HAVE_SOCKS) +#define LIB_SOCKS -lsocks +#else +#define LIB_SOCKS +#endif + +LOADLIBES=LIBS_SYSTEM LIBS_MACHINE LIB_SOCKS LD_SWITCH_SITE +LOAD_X_LIBES=LD_SWITCH_X_SITE LD_SWITCH_X_SYSTEM +C_SWITCH_X=C_SWITCH_X_SITE C_SWITCH_X_SYSTEM C_SWITCH_SITE + +/* We need to #define emacs to get the right versions of some files. + Some other files - those shared with other GNU utilities - need + HAVE_CONFIG_H #defined before they know they can take advantage of + the information in ../src/config.h. */ +ALL_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -Demacs -DHAVE_CONFIG_H \ + -DSTDC_HEADERS -I. -I../src -I${srcdir} -I${srcdir}/../src \ + ${LDFLAGS} ${CPPFLAGS} ${CFLAGS} +BASE_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -DHAVE_CONFIG_H -DSTDC_HEADERS \ + -I. -I../src -I${srcdir} -I${srcdir}/../src ${CPPFLAGS} ${CFLAGS} +LINK_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -Demacs -DHAVE_CONFIG_H \ + -I. -I../src -I${srcdir} -I${srcdir}/../src ${LDFLAGS} ${CFLAGS} +CPP_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -Demacs -DHAVE_CONFIG_H \ + -I. -I../src -I${srcdir} -I${srcdir}/../src ${CPPFLAGS} ${CFLAGS} +/* Formerly -Demacs was missing, but it's needed to suppress the + defining of malloc to xmalloc. [Yes it's fucked up. Blame FSF + for this.] */ +ALLOCA_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -Demacs -DHAVE_CONFIG_H \ + -I. -I../src -I${srcdir} -I${srcdir}/../src ${CPPFLAGS} ${CFLAGS} + +/* This is the default compilation command. + But we should never rely on it, because some make version + failed to find it for getopt.o. + Using an explicit command made it work. */ +.c.o: + ${CC} -c ${CPP_CFLAGS} $< + +all: ${UTILITIES} ${INSTALLABLES} ${SCRIPTS} + +/* Ultrix sh blows chunks. It core dumps on these statements. */ + +#ifndef ultrix +rcs2log: force + @if [ ! -r rcs2log ] ; then \ + rm -f rcs2log ; ${LN_S} ${srcdir}/rcs2log . ; \ + fi + +vcdiff: force + @if [ ! -r vcdiff ] ; then \ + rm -f vcdiff ; ${LN_S} ${srcdir}/vcdiff . ; \ + fi + +force: +#else /* ultrix */ +rcs2log: +vcdiff: +#endif /* ultrix */ + +#ifdef MOVEMAIL_NEEDS_BLESSING +blessmail: + ../src/emacs -batch -l ../lisp/blessmail.el + chmod +x blessmail +#endif + +maybe-blessmail: BLESSMAIL +#ifdef MOVEMAIL_NEEDS_BLESSING +/* Don't charge ahead and do it! Let the installer decide. + ./blessmail ${archlibdir}/movemail */ + @if [ `wc -l <blessmail` != 2 ] ; then \ + dir=`sed -n -e 's/echo mail directory = \(.*\)/\1/p' blessmail`; \ + echo Assuming $$dir is really the mail spool directory, you should; \ + echo run lib-src/blessmail ${archlibdir}/movemail; \ + echo as root, to give movemail appropriate permissions.; \ + echo Do that after running make install.; \ + fi +#endif + +/* Install the internal utilities. Until they are installed, we can + just run them directly from lib-src. */ +${archlibdir}: all + @echo + @echo "Installing utilities run internally by XEmacs." + ./make-path ${archlibdir} + if [ `(cd ${archlibdir} && /bin/pwd)` != `/bin/pwd` ]; then \ + for file in ${UTILITIES}; do \ + (cd ..; $(INSTALL_PROGRAM) lib-src/$$file ${archlibdir}/$$file) ; \ + done ; \ + fi + if [ `(cd ${archlibdir} && /bin/pwd)` \ + != `(cd ${srcdir} && /bin/pwd)` ]; then \ + for file in ${SCRIPTS}; do \ + (cd ..; $(INSTALL_PROGRAM) ${srcdir}/$$file ${archlibdir}/$$file); \ + done ; \ + fi + +/* We don't need to install `wakeup' explicitly, because it will be + copied when this whole directory is copied. */ +install: ${archlibdir} + @echo + @echo "Installing utilities for users to run." + for file in ${INSTALLABLES} ; do \ + (cd ..; $(INSTALL_PROGRAM) lib-src/$${file} ${bindir}/$${file}) ; \ + done + for file in ${INSTALLABLE_SCRIPTS} ; do \ + (cd ..; $(INSTALL_PROGRAM) ${srcdir}/$${file} ${bindir}/$${file}) ; \ + done + +uninstall: + (cd ${bindir}; \ + rm -f ${INSTALLABLES} ${INSTALLABLE_SCRIPTS}) + (cd ${archlibdir}; \ + rm -f ${UTILITIES} ${INSTALLABLES} ${SCRIPTS} ${INSTALLABLE_SCRIPTS}) + +mostlyclean: + -rm -f core *.o + +clean: mostlyclean + -rm -f ${INSTALLABLES} ${UTILITIES} + +distclean: clean + -rm -f ../etc/DOC* *.tab.c *.tab.h aixcc.c TAGS + -rm -f Makefile Makefile.in blessmail + +realclean: distclean + true + +extraclean: realclean + -rm -f *~ \#* + +unlock: + chmod u+w $(SOURCES) + +relock: + chmod u-w $(SOURCES) + +/* Test the contents of the directory. */ +check: + @echo "We don't have any tests for XEmacs yet." + +TAGS: etags + etags *.[ch] + +GETOPTOBJS = getopt.o getopt1.o $(ALLOCA) +GETOPTDEPS = $(GETOPTOBJS) ${srcdir}/getopt.h +getopt.o: ${srcdir}/getopt.c ${srcdir}/getopt.h + ${CC} -c ${CPP_CFLAGS} ${srcdir}/getopt.c +getopt1.o: ${srcdir}/getopt1.c ${srcdir}/getopt.h + ${CC} -c ${CPP_CFLAGS} ${srcdir}/getopt1.c +alloca.o: ${srcdir}/../src/alloca.c + ${CC} -c ${ALLOCA_CFLAGS} ${srcdir}/../src/alloca.c + +#ifdef REGEXP_IN_LIBC +REGEXOBJ = +REGEXDEPS = +#else +REGEXOBJ = regex.o +REGEXDEPS = $(REGEXOBJ) ${srcdir}/../src/regex.h +#endif + +regex.o: ${srcdir}/../src/regex.c ${srcdir}/../src/regex.h + $(CC) -c ${BASE_CFLAGS} -DCONFIG_BROKETS -DINHIBIT_STRING_HEADER ${srcdir}/../src/regex.c + +etags: ${srcdir}/etags.c $(GETOPTDEPS) $(REGEXDEPS) ../src/config.h + $(CC) ${ALL_CFLAGS} -DVERSION="\"${version}\"" -DETAGS_REGEXPS ${srcdir}/etags.c $(GETOPTOBJS) $(REGEXOBJ) $(LOADLIBES) -o etags + +/* We depend on etags to assure that parallel makes don't write two + etags.o files on top of each other. */ +ctags: ${srcdir}/etags.c $(GETOPTDEPS) etags + $(CC) ${ALL_CFLAGS} -DCTAGS -DVERSION="\"${version}\"" ${srcdir}/etags.c $(GETOPTOBJS) $(LOADLIBES) -o ctags + +wakeup: ${srcdir}/wakeup.c + $(CC) ${ALL_CFLAGS} ${srcdir}/wakeup.c $(LOADLIBES) -o wakeup + +profile: ${srcdir}/profile.c + $(CC) ${ALL_CFLAGS} ${srcdir}/profile.c $(LOADLIBES) -o profile + +make-docfile: ${srcdir}/make-docfile.c + $(CC) ${ALL_CFLAGS} ${srcdir}/make-docfile.c $(LOADLIBES) -o make-docfile + +digest-doc: ${srcdir}/digest-doc.c + $(CC) ${ALL_CFLAGS} ${srcdir}/digest-doc.c $(LOADLIBES) -o digest-doc + +sorted-doc: ${srcdir}/sorted-doc.c ${ALLOCA} + $(CC) ${ALL_CFLAGS} ${srcdir}/sorted-doc.c ${ALLOCA} $(LOADLIBES) -o sorted-doc + +b2m: ${srcdir}/b2m.c ../src/config.h + $(CC) ${ALL_CFLAGS} ${srcdir}/b2m.c $(LOADLIBES) -o b2m + +movemail: ${srcdir}/movemail.c ../src/config.h + $(CC) ${ALL_CFLAGS} ${srcdir}/movemail.c $(LOADLIBES) -o movemail + +cvtmail: ${srcdir}/cvtmail.c + $(CC) ${ALL_CFLAGS} ${srcdir}/cvtmail.c $(LOADLIBES) -o cvtmail + +fakemail: ${srcdir}/fakemail.c ../src/config.h + $(CC) ${ALL_CFLAGS} ${srcdir}/fakemail.c $(LOADLIBES) -o fakemail + +yow: ${srcdir}/yow.c ../src/paths.h + $(CC) ${ALL_CFLAGS} ${srcdir}/yow.c $(LOADLIBES) -o yow + +emacsserver: ${srcdir}/emacsserver.c ../src/config.h + $(CC) ${ALL_CFLAGS} ${srcdir}/emacsserver.c $(LOADLIBES) -o emacsserver + +emacsclient: ${srcdir}/emacsclient.c ../src/config.h + $(CC) ${ALL_CFLAGS} ${srcdir}/emacsclient.c $(LOADLIBES) -o emacsclient + +hexl: ${srcdir}/hexl.c + $(CC) ${ALL_CFLAGS} ${srcdir}/hexl.c $(LOADLIBES) -o hexl + +/* Why oh why doesn't HP include half of the standard X distribution? */ + +#if defined (HAVE_XAUTH) +gnuslib.o: ${srcdir}/gnuslib.c ${srcdir}/gnuserv.h ../src/config.h + $(CC) -c ${CPP_CFLAGS} ${C_SWITCH_X} ${srcdir}/gnuslib.c + +gnuclient: ${srcdir}/gnuclient.c gnuslib.o ${srcdir}/gnuserv.h + $(CC) ${ALL_CFLAGS} -o gnuclient ${srcdir}/gnuclient.c gnuslib.o $(LOADLIBES) $(LOAD_X_LIBES) -lXau +gnuattach: ${srcdir}/gnuclient.c gnuslib.o ${srcdir}/gnuserv.h gnuclient + $(CC) ${ALL_CFLAGS} -o gnuattach -DGNUATTACH ${srcdir}/gnuclient.c gnuslib.o $(LOADLIBES) $(LOAD_X_LIBES) -lXau +gnudoit: ${srcdir}/gnudoit.c gnuslib.o ${srcdir}/gnuserv.h + $(CC) ${ALL_CFLAGS} -o gnudoit ${srcdir}/gnudoit.c gnuslib.o $(LOADLIBES) $(LOAD_X_LIBES) -lXau +gnuserv: ${srcdir}/gnuserv.c gnuslib.o ${srcdir}/gnuserv.h + $(CC) ${ALL_CFLAGS} ${C_SWITCH_X} -o gnuserv ${srcdir}/gnuserv.c gnuslib.o $(LOADLIBES) $(LOAD_X_LIBES) -lXau + +#else /* !HAVE_XAUTH */ + +gnuclient: ${srcdir}/gnuclient.c gnuslib.o ${srcdir}/gnuserv.h + $(CC) ${ALL_CFLAGS} -o gnuclient ${srcdir}/gnuclient.c gnuslib.o $(LOADLIBES) +gnuattach: ${srcdir}/gnuclient.c gnuslib.o ${srcdir}/gnuserv.h gnuclient + $(CC) ${ALL_CFLAGS} -o gnuattach -DGNUATTACH ${srcdir}/gnuclient.c gnuslib.o $(LOADLIBES) +gnudoit: ${srcdir}/gnudoit.c gnuslib.o ${srcdir}/gnuserv.h + $(CC) ${ALL_CFLAGS} -o gnudoit ${srcdir}/gnudoit.c gnuslib.o $(LOADLIBES) +gnuserv: ${srcdir}/gnuserv.c gnuslib.o ${srcdir}/gnuserv.h + $(CC) ${ALL_CFLAGS} -o gnuserv ${srcdir}/gnuserv.c gnuslib.o $(LOADLIBES) +#endif /* !HAVE_XAUTH */ + +/* The timer utility (timer.c, getdate.y) is not used in XEmacs + because XEmacs provides built-in timer facilities. */ + +make-path: ${srcdir}/make-path.c ../src/config.h + $(CC) $(ALL_CFLAGS) ${srcdir}/make-path.c -o make-path + +/* These are NOT included in INSTALLABLES or UTILITIES. + See ../src/Makefile.in.in. */ +emacstool: ${srcdir}/emacstool.c + $(CC) ${srcdir}/emacstool.c -o emacstool ${ALL_CFLAGS} \ + -lsuntool -lsunwindow -lpixrect $(LOADLIBES) + +/* For SUN Japanese Language Environment. */ +nemacstool: ${srcdir}/emacstool.c + $(CC) -o nemacstool -DJLE ${ALL_CFLAGS} ${srcdir}/emacstool.c \ + -lsuntool -lmle -lsunwindow -lpixrect $(LOADLIBES) + +xvetool: ${srcdir}/emacstool.c + $(CC) -o xvetool -DXVIEW ${ALL_CFLAGS} ${srcdir}/emacstool.c \ + -lxview -lX -I$(OPENWINHOME)/include -L$(OPENWINHOME)/lib \ + $(LOADLIBES) + +xveterm: ${srcdir}/emacstool.c + $(CC) -o xveterm -DXVIEW -DTTERM ${ALL_CFLAGS} ${srcdir}/emacstool.c \ + -lxview -lolgx -lX -I$(OPENWINHOME)/include -L$(OPENWINHOME)/lib \ + $(LOADLIBES) + +aixcc: ${srcdir}/aixcc.c + $(CC) $(ALL_CFLAGS) -o aixcc ${srcdir}/aixcc.c + +aixcc.c: ${srcdir}/aixcc.lex + lex ${srcdir}/aixcc.lex + mv lex.yy.c aixcc.c