0
|
1 /* Makefile for man subdirectory in XEmacs
|
|
2 Copyright (C) 1995 Board of Trustees, University of Illinois
|
|
3 Copyright (C) 1994, 1995 Sun Microsystems.
|
|
4
|
|
5 This file is part of XEmacs.
|
|
6
|
|
7 XEmacs is free software; you can redistribute it and/or modify it
|
|
8 under the terms of the GNU General Public License as published by the
|
|
9 Free Software Foundation; either version 2, or (at your option) any
|
|
10 later version.
|
|
11
|
|
12 XEmacs is distributed in the hope that it will be useful, but WITHOUT
|
|
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
15 for more details.
|
|
16
|
|
17 You should have received a copy of the GNU General Public License
|
|
18 along with XEmacs; see the file COPYING. If not, write to the Free
|
|
19 Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
|
20
|
|
21 /* Avoid trouble on systems where the `SHELL' variable might be
|
|
22 inherited from the environment. */
|
|
23 SHELL = /bin/sh
|
|
24
|
|
25 /* Some people use these in paths they define. We don't want their paths
|
|
26 getting changed on them. */
|
|
27 #undef sparc
|
|
28 #undef sun
|
|
29 #undef unix
|
|
30 #undef i386
|
|
31 #undef ppc
|
|
32 #undef sgi
|
|
33
|
|
34 /* ==================== Things `configure' will edit ==================== */
|
|
35
|
|
36 CC=@CC@
|
|
37 CFLAGS=@CFLAGS@
|
|
38 YACC=@YACC@
|
|
39 version=@version@
|
|
40 configuration=@configuration@
|
|
41
|
|
42 /* ==================== Where To Install Things ==================== */
|
|
43
|
|
44 /* The default location for installation. Everything is placed in
|
|
45 subdirectories of this directory. The default values for many of
|
|
46 the variables below are expressed in terms of this one, so you may
|
|
47 not need to change them. This is set with the --prefix option to
|
|
48 `../configure'. */
|
|
49 prefix=@prefix@
|
|
50
|
|
51 /* Like `prefix', but used for architecture-specific files. This is
|
|
52 set with the --exec-prefix option to `../configure'. */
|
|
53 exec_prefix=@exec_prefix@
|
|
54
|
|
55 /* Where to install Emacs and other binaries that people will want to
|
|
56 run directly (like etags). This is set with the --bindir option
|
|
57 to `../configure'. */
|
|
58 bindir=@bindir@
|
|
59
|
|
60 /* Where to install and expect executable files to be run by Emacs
|
|
61 rather than directly by users, and other architecture-dependent
|
|
62 data. ${archlibdir} is usually below this. This is set with the
|
|
63 --libdir option to `../configure'. */
|
|
64 libdir=@libdir@
|
|
65
|
|
66 /* Where to find the source code. This is set by the configure
|
|
67 script's `--srcdir' option. However, the value of ${srcdir} in
|
|
68 this makefile is not identical to what was specified with --srcdir,
|
|
69 since the variable here has `/man' added at the end. */
|
|
70 srcdir=@srcdir@
|
|
71
|
|
72 /* ============================= Targets ============================== */
|
|
73
|
|
74 #define NO_SHORTNAMES
|
|
75 #define THIS_IS_YMAKEFILE
|
|
76 #define NOT_C_CODE
|
|
77 #include "../src/config.h"
|
|
78
|
|
79 /* With the traditional VPATH setting, it is not possible to
|
|
80 simultaneously compile in-place and in another directory. The
|
|
81 mistaken definition is that *all* dependencies are searched for in
|
|
82 the VPATH directory, rather than just the dependencies that are not
|
|
83 themselves targets. Thus, if there is an up-to-date .o file in the
|
|
84 in-place location, it will not get recompiled in the not-in-place
|
|
85 location.
|
|
86
|
|
87 The GNU Make `vpath' directive continues this tradition, but at
|
|
88 least lets you restrict the classes of files that it applies to.
|
|
89 This allows us to kludge around the problem. */
|
|
90 #ifdef USE_GNU_MAKE
|
|
91 vpath %.c @srcdir@
|
|
92 vpath %.h @srcdir@
|
|
93 /* now list files that should NOT be searched in the srcdir.
|
|
94 This includes any .c or .h that's built from something else
|
|
95 (e.g. a .in file). */
|
|
96 /* none here */
|
|
97 #else
|
|
98 VPATH=@srcdir@
|
|
99 #endif
|
|
100
|
|
101 #ifndef C_SWITCH_SYSTEM
|
|
102 #define C_SWITCH_SYSTEM
|
|
103 #endif
|
|
104
|
|
105 #ifndef C_SWITCH_SITE
|
|
106 #define C_SWITCH_SITE
|
|
107 #endif
|
|
108
|
|
109 #ifndef LD_SWITCH_SITE
|
|
110 #define LD_SWITCH_SITE
|
|
111 #endif
|
|
112
|
|
113 LOADLIBES=LD_SWITCH_SITE @libsrc_libs@
|
|
114
|
|
115 CPPFLAGS=
|
|
116
|
|
117 ALL_CFLAGS = C_SWITCH_SITE C_SWITCH_SYSTEM -Demacs -DHAVE_CONFIG_H \
|
|
118 -DHAVE_STDARG_H -DHAVE_STRING_H -DHAVE_ALLOCA_H -Dxfree=free \
|
|
119 -I. -I../src -I${srcdir} -I${srcdir}/../src ${CFLAGS}
|
|
120 CPP_CFLAGS = C_SWITCH_SITE C_SWITCH_SYSTEM -Demacs -DHAVE_CONFIG_H \
|
|
121 -DHAVE_STDARG_H -DHAVE_STRING_H -DHAVE_ALLOCA_H -Dxfree=free \
|
|
122 -I. -I../src -I${srcdir} -I${srcdir}/../src ${CPPFLAGS} ${CFLAGS}
|
|
123 OBJS = makeinfo.o getopt.o getopt1.o alloca.o
|
|
124
|
|
125 /* Subdirectories to make recursively. */
|
|
126 SUBDIR = xemacs lispref new-users-guide internals
|
|
127
|
|
128 /* The makefiles of the directories in $SUBDIR. */
|
|
129 SUBDIR_MAKEFILES = xemacs/Makefile lispref/Makefile new-users-guide/Makefile internals/Makefile
|
|
130
|
|
131 .c.o:
|
|
132 ${CC} -c ${CPP_CFLAGS} $<
|
|
133
|
|
134 ../info/%.info : %.texi
|
|
135 -./makeinfo -o $@ $<
|
|
136
|
|
137 srcs = ange-ftp cc-mode cl dired ediff external-widget forms gnus \
|
|
138 hyperbole ilisp info internals ispell mailcrypt message mh-e \
|
|
139 oo-browser pcl-cvs psgml rmail standards supercite term termcap \
|
|
140 texinfo viper vm w3 xemacs-faq
|
|
141
|
|
142 info = $(srcs:%=../info/%.info)
|
|
143
|
|
144 all : ${SUBDIR} $(info)
|
|
145
|
|
146 .RECURSIVE: ${SUBDIR}
|
|
147
|
|
148 xemacs: FRC.xemacs
|
|
149 lispref: FRC.lispref
|
|
150 new-users-guide: FRC.new-users-guide
|
|
151 internals: FRC.internals
|
|
152
|
|
153 ${SUBDIR}: ${SUBDIR_MAKEFILES} makeinfo FRC
|
|
154 cd $@ && $(MAKE) all $(MFLAGS) \
|
|
155 CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}'
|
|
156
|
|
157 makeinfo: ../src/config.h $(OBJS)
|
|
158 $(CC) -o makeinfo $(OBJS)
|
|
159
|
|
160 texindex: texindex.o
|
|
161 $(CC) -o texindex texindex.o
|
|
162
|
|
163 alloca.c :
|
|
164 [ -h alloca.c ] || ln -s ../src/alloca.c .
|
|
165
|
|
166 getopt.h :
|
|
167 [ -h getopt.h ] || ln -s ../lib-src/getopt.h .
|
|
168
|
|
169 getopt.c :
|
|
170 [ -h getopt.c ] || ln -s ../lib-src/getopt.c .
|
|
171
|
|
172 getopt1.c :
|
|
173 [ -h getopt1.c ] || ln -s ../lib-src/getopt1.c .
|
|
174
|
|
175 mostlyclean: clean
|
|
176 (cd xemacs && $(MAKE) $(MFLAGS) mostlyclean)
|
|
177 (cd lispref && $(MAKE) $(MFLAGS) mostlyclean)
|
|
178 (cd new-users-guide && $(MAKE) $(MFLAGS) mostlyclean)
|
|
179 (cd internals && $(MAKE) $(MFLAGS) mostlyclean)
|
|
180
|
|
181 clean:
|
|
182 rm -f *.dvi
|
|
183 rm -f getopt1.c getopt.c getopt.h alloca.c makeinfo texindex
|
|
184 rm -f *.toc *.aux *.log *.cp *.fn *.ky *.pg *.vr *.o core
|
|
185
|
|
186 /* These are needed because they are present in the other makefiles. */
|
|
187 distclean: mostlyclean
|
|
188 (cd xemacs && $(MAKE) $(MFLAGS) distclean)
|
|
189 (cd lispref && $(MAKE) $(MFLAGS) distclean)
|
|
190 (cd new-users-guide && $(MAKE) $(MFLAGS) distclean)
|
|
191 (cd internals && $(MAKE) $(MFLAGS) distclean)
|
|
192 rm -f Makefile Makefile.in
|
|
193 realclean: distclean
|
|
194 (cd xemacs && $(MAKE) $(MFLAGS) realclean)
|
|
195 (cd lispref && $(MAKE) $(MFLAGS) realclean)
|
|
196 (cd new-users-guide && $(MAKE) $(MFLAGS) realclean)
|
|
197 (cd internals && $(MAKE) $(MFLAGS) realclean)
|
|
198 extraclean: distclean
|
|
199 (cd xemacs && $(MAKE) $(MFLAGS) extraclean)
|
|
200 (cd lispref && $(MAKE) $(MFLAGS) extraclean)
|
|
201 (cd new-users-guide && $(MAKE) $(MFLAGS) extraclean)
|
|
202 (cd internals && $(MAKE) $(MFLAGS) extraclean)
|
|
203 -rm -f *~ \#*
|
|
204
|
|
205 makeinfo.o : getopt.h
|
|
206 getopt.o : getopt.h
|
|
207 getopt1.o : getopt.h
|
|
208 texindex.o : getopt.h
|
|
209
|
|
210 FRC FRC.xemacs FRC.lispref FRC.new-users-guide FRC.internals:
|
|
211
|