annotate src/Makefile.in.in @ 771:943eaba38521

[xemacs-hg @ 2002-03-13 08:51:24 by ben] The big ben-mule-21-5 check-in! Various files were added and deleted. See CHANGES-ben-mule. There are still some test suite failures. No crashes, though. Many of the failures have to do with problems in the test suite itself rather than in the actual code. I'll be addressing these in the next day or so -- none of the test suite failures are at all critical. Meanwhile I'll be trying to address the biggest issues -- i.e. build or run failures, which will almost certainly happen on various platforms. All comments should be sent to ben@xemacs.org -- use a Cc: if necessary when sending to mailing lists. There will be pre- and post- tags, something like pre-ben-mule-21-5-merge-in, and post-ben-mule-21-5-merge-in.
author ben
date Wed, 13 Mar 2002 08:54:06 +0000
parents 38db05db9cb5
children 4bc4fecf15da
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 ## Makefile for src subdirectory in XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2 ## Copyright (C) 1985, 1987, 1988, 1993, 1994 Free Software Foundation, Inc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 ## Copyright (C) 1994, 1995 Board of Trustees, University of Illinois
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4 ## Copyright (C) 1996, 1997 Sun Microsystems, Inc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5 ## Copyright (C) 1998, 1999 J. Kean Johnston.
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
6 ## Copyright (C) 2001, 2002 Ben Wing.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 ## This file is part of XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10 ## XEmacs is free software; you can redistribute it and/or modify it
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 ## under the terms of the GNU General Public License as published by the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12 ## Free Software Foundation; either version 2, or (at your option) any
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13 ## later version.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15 ## XEmacs is distributed in the hope that it will be useful, but WITHOUT
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 ## for more details.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20 ## You should have received a copy of the GNU General Public License
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21 ## along with XEmacs; see the file COPYING. If not, write to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22 ## the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 ## Boston, MA 02111-1307, USA.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25 ## Synched up with: Not synched with FSF.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27 PROGNAME=@PROGNAME@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
29 #define NOT_C_CODE
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
30 #include "config.h"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
31
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
32 #ifdef PDUMP
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
33 DUMP_TARGET = ${PROGNAME}.dmp
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
34 EXE_TARGET = ${PROGNAME}
460
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 448
diff changeset
35 DUMP_ID = dump-id.o
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
36 #else
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
37 DUMP_TARGET = ${PROGNAME}
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
38 EXE_TARGET = temacs
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
39 #endif
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
40
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
41 all: ${DUMP_TARGET}
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
42 .PHONY : all release dump-elc dump-elcs all-elc all-elcs lint
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
43
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
44 ## For performance and consistency, no built-in rules.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
45 .SUFFIXES:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
46 .SUFFIXES: .c .h .o .i .s .dep
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48 #ifdef USE_GNU_MAKE
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49 RECURSIVE_MAKE=$(MAKE)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
50 #else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
51 @SET_MAKE@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
52 RECURSIVE_MAKE=@RECURSIVE_MAKE@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
53 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
54
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
55 SHELL=/bin/sh
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
56 RM = rm -f
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
57
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
58 lispdir = ${srcdir}/../lisp/
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
59 moduledir = ${srcdir}/../modules/
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60 libsrc = ../lib-src/
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
61 etcdir = ../etc/
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
62
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
63 ## Here are the things that we expect ../configure to edit.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
64 prefix=@prefix@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
65 srcdir=@srcdir@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
66 blddir=@blddir@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
67 version=@version@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
68 CC=@XEMACS_CC@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
69 CPP=@CPP@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
70 CFLAGS=@CFLAGS@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
71 CPPFLAGS=@CPPFLAGS@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
72 LDFLAGS=@LDFLAGS@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
73
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
74 c_switch_all=@c_switch_all@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
75 ld_switch_all=@ld_switch_all@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
76 ld_libs_all=@ld_libs_all@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
77 ld_dynamic_link_flags=@ld_dynamic_link_flags@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
78
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
79 extra_objs=@extra_objs@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
80 LN_S=@LN_S@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
81
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
82 ld_switch_shared=@ld_switch_shared@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
83 start_files=@start_files@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
84 start_flags=@start_flags@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
85 LD=@ld@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
86 lib_gcc=@lib_gcc@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
87 ##libmcheck=@libmcheck@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
88
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
89
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
90 ## With the traditional VPATH setting, it is not possible to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
91 ## simultaneously compile in-place and in another directory. The
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
92 ## mistaken definition is that *all* dependencies are searched for in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
93 ## the VPATH directory, rather than just the dependencies that are not
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
94 ## themselves targets. Thus, if there is an up-to-date .o file in the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95 ## in-place location, it will not get recompiled in the not-in-place
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
96 ## location.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
97
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
98 ## The GNU Make "vpath" directive continues this tradition, but at
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
99 ## least lets you restrict the classes of files that it applies to.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
100 ## This allows us to kludge around the problem.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
101
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
102 #ifdef USE_GNU_MAKE
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
103 vpath %.c @srcdir@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104 vpath %.h @srcdir@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
105 ## now list files that should NOT be searched in the srcdir.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
106 ## This includes any .c or .h built from something else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
107 ## (e.g. a .in file).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
108 vpath config.h
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
109 vpath paths.h
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
110 vpath Emacs.ad.h
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
111 vpath sheap-adjust.h
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
112 vpath dump-id.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
113 #else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
114 VPATH=@srcdir@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
115 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
116
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
117 RM = rm -f
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
118
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
119 LWLIB_SRCDIR = ${srcdir}/../lwlib
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
120
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
121 #ifdef HAVE_X_WINDOWS
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
122 lwlib_libs = ../lwlib/liblw.a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
123 lwlib_deps = $(lwlib_libs)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
124 $(lwlib_libs) :
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
125 cd ../lwlib && $(RECURSIVE_MAKE)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
126
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
127 # ifdef AIX4
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
128 LIBI18N = -li18n
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
129 # endif
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
130
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131 X11_libs = $(LIBI18N)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
132 #endif /* HAVE_X_WINDOWS */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
133
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
134 #########################################################################
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
135
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
136 # Object files needed for compilation.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
137
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
138 # NOTE: Some of the object files are specified in this file, and
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
139 # others in configure.in. The general rule is that they be specified
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
140 # here whenever they have clear dependencies on configure defines.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
141 # They should be in configure.in when there is no configure define or
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
142 # when there is extremely hairy code to determine which files are
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
143 # needed (e.g. native sound support) and it would be pointless to
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
144 # duplicate that code.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
145
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
146 gui_objs=
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
147 #ifdef HAVE_MENUBARS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
148 gui_objs += menubar.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
149 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
150 #ifdef HAVE_SCROLLBARS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
151 gui_objs += scrollbar.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
152 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
153 #ifdef HAVE_DIALOGS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
154 gui_objs += dialog.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
155 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
156 #ifdef HAVE_TOOLBARS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
157 gui_objs += toolbar.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
158 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
159 #ifdef HAVE_GUI_OBJECTS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
160 gui_objs += gui.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
161 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
162
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
163 #ifdef HAVE_X_WINDOWS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
164 x_objs=console-x.o device-x.o event-Xt.o frame-x.o \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
165 glyphs-x.o objects-x.o redisplay-x.o select-x.o xgccache.o intl-x.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
166 x_gui_objs=$(gui_objs:.o=-x.o)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
167 #ifdef HAVE_TOOLBARS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
168 x_gui_objs += toolbar-common.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
169 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
170 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
171
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
172 #ifdef HAVE_MS_WINDOWS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
173 mswindows_objs=console-msw.o device-msw.o event-msw.o frame-msw.o \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
174 objects-msw.o select-msw.o redisplay-msw.o glyphs-msw.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
175 mswindows_gui_objs=$(gui_objs:.o=-msw.o)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
176 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
177
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
178 #ifdef HAVE_TTY
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
179 tty_objs=console-tty.o device-tty.o event-tty.o frame-tty.o objects-tty.o \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
180 redisplay-tty.o cm.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
181 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
182
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
183 #ifdef HAVE_GTK
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
184 gtk_objs=console-gtk.o device-gtk.o event-gtk.o frame-gtk.o \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
185 objects-gtk.o redisplay-gtk.o glyphs-gtk.o select-gtk.o gccache-gtk.o \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
186 gtk-xemacs.o ui-gtk.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
187 gtk_gui_objs=$(gui_objs:.o=-gtk.o)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
188 #ifdef HAVE_TOOLBARS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
189 gtk_gui_objs += toolbar-common.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
190 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
191 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
192
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
193 #ifdef HAVE_BALLOON_HELP
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
194 balloon_help_objs=balloon_help.o balloon-x.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
195 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
196
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
197 #ifdef CLASH_DETECTION
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
198 clash_detection_objs=filelock.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
199 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
200
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
201 #ifdef HAVE_DATABASE
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
202 database_objs=database.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
203 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
204
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
205 #ifdef DEBUG_XEMACS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
206 debug_objs=debug.o tests.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
207 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
208
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
209 #ifdef HAVE_UNIXOID_EVENT_LOOP
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
210 event_unixoid_objs=event-unixoid.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
211 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
212
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
213 #ifdef HAVE_GIF
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
214 gif_objs=dgif_lib.o gif_io.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
215 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
216
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
217 #ifdef HAVE_GPM
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
218 gpm_objs=gpmevent.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
219 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
220
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
221 #ifdef HAVE_LDAP
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
222 ldap_objs=eldap.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
223 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
224
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
225 #ifdef MULE
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
226 mule_objs=mule-ccl.o mule-charset.o mule-coding.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
227 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
228
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
229 #ifdef HAVE_CANNA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
230 mule_canna_objs=mule-canna.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
231 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
232
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
233 #ifdef HAVE_WNN
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
234 mule_wnn_objs=mule-wnnfns.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
235 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
236
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
237 #ifdef HAVE_POSTGRESQL
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
238 postgresql_objs=postgresql.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
239 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
240
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
241 #ifdef HAVE_WIN32_PROCESSES
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
242 process_objs=process-nt.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
243 #elif defined (HAVE_UNIX_PROCESSES)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
244 process_objs=process-unix.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
245 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
246
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
247 #ifdef HAVE_SETITIMER
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
248 profile_objs=profile.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
249 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
250
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
251 #if defined (HEAP_IN_DATA) && !defined (PDUMP)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
252 sheap_objs=sheap.o
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
253 #endif
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
254
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
255 #ifdef HAVE_SHLIB
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
256 shlib_objs=sysdll.o emodules.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
257 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
258
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
259 #ifdef SUNPRO
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
260 sunpro_objs=sunpro.o
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
261 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
262
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
263 #ifdef TOOLTALK
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
264 tooltalk_objs=tooltalk.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
265 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
266
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
267 #if defined (WIN32_NATIVE) || defined (CYGWIN)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
268 win32_objs=win32.o intl-win32.o intl-auto-encap-win32.o intl-encap-win32.o \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
269 xemacs_res.o
611
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 606
diff changeset
270 #endif
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 606
diff changeset
271
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
272 ## -Demacs is needed to make some files produce the correct version
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
273 ## for use in Emacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
274
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
275 cppflags = $(CPPFLAGS) -Demacs -I. $(c_switch_all)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
276 cflags = $(CFLAGS) $(cppflags)
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
277 #if defined (WIN32_NATIVE) || defined (CYGWIN)
606
c9c1c4ce8f0f [xemacs-hg @ 2001-06-02 06:55:26 by ben]
ben
parents: 563
diff changeset
278 ldflags = $(LDFLAGS) -mwindows -e _mainCRTStartup $(ld_switch_all) $(ld_dynamic_link_flags)
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
279 #else
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
280 ldflags = $(LDFLAGS) $(ld_switch_all) $(ld_dynamic_link_flags)
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
281 #endif
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
282
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
283 #ifdef SOLARIS2
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
284 %.o : %.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
285 #else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
286 .c.o:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
287 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
288 $(CC) -c $(cflags) $<
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
289
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
290 ## Create preprocessor output (debugging purposes only)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
291 .c.i:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
292 #ifdef __GNUC__
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
293 $(CC) -E $(cppflags) -o $@ $<
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
294 #else /* works on Solaris; what about other systems? */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
295 $(CC) -P $(cppflags) $<
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
296 #endif /* compiler */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
297
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
298 ## Create assembler output (debugging purposes only)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
299 .c.s:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
300 $(CC) -S -c $(cflags) $<
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
301
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
302 ## Create RTL files
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
303 %.c.rtl : %.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
304 $(CC) -dr -c $(cflags) $<
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
305
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
306 ## lastfile must follow all files whose initialized data areas should
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
307 ## be dumped as pure by dump-emacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
308
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
309 ## NOTE: The last line cannot be all macros, because make will barf
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
310 ## if they all come out null.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
311
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
312 objs=\
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
313 abbrev.o alloc.o $(balloon_help_objs) blocktype.o buffer.o bytecode.o\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
314 callint.o callproc.o casefiddle.o casetab.o chartab.o $(clash_detection_objs)\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
315 cmdloop.o cmds.o $(coding_system_objs) console.o console-stream.o\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
316 data.o $(database_objs) $(debug_objs) device.o dired.o doc.o doprnt.o\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
317 dynarr.o\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
318 editfns.o elhash.o emacs.o eval.o events.o\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
319 event-stream.o $(event_unixoid_objs) $(extra_objs) extents.o\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
320 faces.o file-coding.o fileio.o $(LOCK_OBJ) filemode.o floatfns.o fns.o \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
321 font-lock.o frame.o\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
322 general.o $(gif_objs) glyphs.o glyphs-eimage.o glyphs-shared.o\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
323 glyphs-widget.o $(gpm_objs) $(gtk_objs) $(gtk_gui_objs) $(gui_objs) gutter.o\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
324 hash.o imgproc.o indent.o insdel.o intl.o\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
325 keymap.o $(RTC_patch_objs) line-number.o $(ldap_objs) lread.o lstream.o\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
326 macros.o marker.o md5.o minibuf.o $(mswindows_objs) $(mswindows_gui_objs)\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
327 $(mule_objs) $(mule_canna_objs) $(mule_wnn_objs) objects.o opaque.o\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
328 $(postgresql_objs) print.o process.o $(process_objs) $(profile_objs)\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
329 rangetab.o realpath.o redisplay.o redisplay-output.o regex.o\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
330 search.o select.o $(sheap_objs) $(shlib_objs) signal.o sound.o\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
331 specifier.o strftime.o $(sunpro_objs) symbols.o syntax.o sysdep.o\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
332 text.o $(tooltalk_objs) $(tty_objs) undo.o unicode.o $(x_objs) $(x_gui_objs)\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
333 widget.o window.o $(win32_objs)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
334
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
335 obj_rtl = $(objs:.o=.c.rtl)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
336
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
337 #ifdef REL_ALLOC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
338 rallocdocsrc = ralloc.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
339 rallocobjs = ralloc.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
340 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
341
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
342 malloclib = $(libmcheck)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
343 #ifndef SYSTEM_MALLOC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
344 # ifdef GNU_MALLOC /* GNU malloc */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
345 # ifdef ERROR_CHECK_MALLOC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
346 #ifdef DOUG_LEA_MALLOC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
347 mallocobjs = free-hook.o vm-limit.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
348 #else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
349 mallocobjs = gmalloc.o free-hook.o vm-limit.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
350 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
351 mallocdocsrc = free-hook.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
352 # else /* New GNU malloc, sans error checking */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
353 #ifdef DOUG_LEA_MALLOC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
354 mallocobjs = vm-limit.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
355 #else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
356 mallocobjs = gmalloc.o vm-limit.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
357 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
358 mallocdocsrc =
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
359 # endif /* ERROR_CHECK_MALLOC */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
360 # else /* Older GNU malloc */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
361 mallocobjs = malloc.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
362 mallocdocsrc =
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
363 # endif /* Older GNU malloc */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
364 #else /* SYSTEM_MALLOC */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
365 mallocobjs =
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
366 mallocdocsrc =
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
367 #ifdef USE_DEBUG_MALLOC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
368 malloclib = -ldmalloc
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
369 #endif /* USE_DEBUG_MALLOC */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
370 #endif /* SYSTEM_MALLOC */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
371
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
372 #ifdef HAVE_X_WINDOWS
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
373
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
374 # ifdef EXTERNAL_WIDGET
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
375 external_widget_objs = ExternalShell.o extw-Xt-nonshared.o extw-Xlib-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
376
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
377 ## Now we try to figure out how to link a shared library.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
378 ## If we cannot figure it out, leave EXTW_LINK undefined and a shared
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
379 ## library will not be created.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
380
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
381 # ifdef USE_GCC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
382 # ifdef USG5
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
383 # define EXTW_LINK(objs, output) $(CC) -shared objs -Xlinker -z -Xlinker text -o output
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
384 extw_link_beg = $(CC) -shared
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
385 extw_link_mid = -Xlinker -z -Xlinker text -o
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
386 extw_link_end =
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
387 ## I cannot figure out how to do shared a.out libraries, so just punt.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
388 # elif !defined (LINUX) || defined (__ELF__)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
389 # define EXTW_LINK(objs, output) $(CC) -shared objs -o output
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
390 extw_link_beg = $(CC) -shared
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
391 extw_link_mid = -o
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
392 extw_link_end =
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
393 # endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
394 # elif defined (USG5)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
395 # if defined (IRIX)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
396 # define EXTW_LINK(objs, output) $(LD) -shared -g -check_registry ${TOOLROOT}/usr/lib/so_locations objs -o output
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
397 extw_link_beg = $(LD) -shared -g -check_registry ${TOOLROOT}/usr/lib/so_locations
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
398 extw_link_mid = -o
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
399 extw_link_end =
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
400 # else /* not IRIX */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
401 # define EXTW_LINK(objs, output) $(CC) -G objs -z text -o output
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
402 extw_link_beg = $(CC) -G
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
403 extw_link_mid = -z text -o
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
404 extw_link_end =
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
405 # endif /* not IRIX */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
406 # else /* not USG5 */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
407 # if defined (DEC_ALPHA) && defined (OSF1)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
408 # define EXTW_LINK(objs, output) $(LD) $(ldflags) $(ld_switch_shared) -d objs -o output $(LIBES)
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
409 extw_link_beg = $(LD) $(ldflags) $(ld_switch_shared) -d
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
410 extw_link_mid = -o
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
411 extw_link_end = $(LIBES)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
412 # else /* !(DEC_ALPHA && OSF1) */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
413 # define EXTW_LINK(objs, output) $(LD) -dc objs -assert pure-text -o output
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
414 extw_link_beg = $(LD) -dc
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
415 extw_link_mid = -assert pure-text -o
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
416 extw_link_end =
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
417 # endif /* !(DEC_ALPHA && OSF1) */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
418 # endif /* not USG5 */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
419
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
420 # ifdef LWLIB_USES_MOTIF
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
421 # ifdef EXTW_LINK
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
422 motif_other_files = libextcli_Xm.a libextcli_Xm.so.1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
423 # else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
424 motif_other_files = libextcli_Xm.a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
425 # endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
426 #endif /* LWLIB_USES_MOTIF */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
427
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
428 # ifdef EXTW_LINK
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
429 shared_other_files = libextcli_Xt.so.1 libextcli_Xlib.so.1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
430 # endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
431 other_files=\
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
432 ${motif_other_files}\
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
433 libextcli_Xt.a libextcli_Xlib.a\
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
434 ${shared_other_files}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
435
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
436 all: ${other_files}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
437 # endif /* EXTERNAL_WIDGET */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
438
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
439 # if defined (HAVE_OFFIX_DND) || defined (HAVE_CDE)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
440 dnd_objs = @dnd_objs@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
441 # endif /* HAVE_OFFIX_DND || HAVE_CDE */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
442
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
443 X11_objs = EmacsFrame.o EmacsShell.o TopLevelEmacsShell.o TransientEmacsShell.o EmacsManager.o $(external_widget_objs) $(dnd_objs)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
444 #endif /* HAVE_X_WINDOWS */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
445
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
446 ## define otherobjs as list of object files that make-docfile
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
447 ## should not be told about.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
448 otherobjs = lastfile.o $(mallocobjs) $(rallocobjs) $(X11_objs)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
449 otherrtls = $(otherobjs:.o=.c.rtl)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
450 othersrcs = $(otherobjs:.o=.c)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
451
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
452 LIBES = $(lwlib_libs) $(malloclib) $(ld_libs_all) $(lib_gcc)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
453
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
454 #ifdef I18N3
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
455 mo_dir = ${etcdir}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
456 mo_file = ${mo_dir}emacs.mo
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
457 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
458
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
459 temacs_loadup = ./${EXE_TARGET} -nd -batch -l ${srcdir}/../lisp/loadup.el
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
460 dump_temacs = ${temacs_loadup} dump
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
461 run_temacs = ${temacs_loadup} run-temacs
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
462 debug_temacs = gdb ${EXE_TARGET}
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
463
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
464 release: ${EXE_TARGET} ${libsrc}DOC $(mo_file) ${other_files}
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
465 #ifdef CANNOT_DUMP
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
466 ln ${EXE_TARGET} ${PROGNAME}
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
467 #else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
468 -if [ -w ${srcdir}/../lisp ]; then \
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
469 w=`pwd`; cd ${srcdir} && $${w}/${EXE_TARGET} -nd -batch -l ${srcdir}/../lisp/inc-vers; \
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
470 else true; fi
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
471 -./${EXE_TARGET} -nd -batch -l ${srcdir}/../lisp/loadup.el dump
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
472 touch release
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
473 #endif /* ! defined (CANNOT_DUMP) */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
474
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
475 ${DUMP_TARGET}: ${EXE_TARGET} ${libsrc}DOC $(mo_file) ${other_files} update-elc.stamp
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
476 #ifdef HEAP_IN_DATA
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
477 @$(RM) $@ && touch SATISFIED
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
478 -${dump_temacs}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
479 @if test -f $@; then if test -f SATISFIED; then \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
480 echo "Testing for Lisp shadows ..."; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
481 ./${PROGNAME} -batch -vanilla -f list-load-path-shadows; fi; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
482 $(RM) SATISFIED; exit 0; fi; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
483 if test -f SATISFIED; then $(RM) SATISFIED; exit 1; fi; \
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
484 $(RM) $@; \
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
485 $(RECURSIVE_MAKE) $@;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
486 #else
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
487 @$(RM) $@
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
488 ${dump_temacs}
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
489 @echo "Testing for Lisp shadows ..."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
490 @./${PROGNAME} -batch -vanilla -f list-load-path-shadows
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
491 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
492
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
493 fastdump: ${EXE_TARGET}
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
494 @$(RM) ${DUMP_TARGET} && touch SATISFIED
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
495 -${dump_temacs}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
496 @./${PROGNAME} -batch -vanilla -f list-load-path-shadows
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
497
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
498 FRC.update-elc.stamp :
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
499
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
500 update-elc.stamp : ${EXE_TARGET} FRC.update-elc.stamp
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
501 @touch NOBYTECOMPILE
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
502 ./${EXE_TARGET} -nd -batch -l ${srcdir}/../lisp/update-elc.el
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
503 @if test ! -f $@ -o -f NOBYTECOMPILE; then touch $@; fi; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
504 $(RM) NOBYTECOMPILE
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
505
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
506 obj_src = $(objs:.o=.c)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
507
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
508 dortl : $(obj_rtl) $(otherrtls)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
509 echo "(defvar source-files '(" > ${srcdir}/../lisp/source-files.el
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
510 (for a in $(obj_src) $(othersrcs);do \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
511 echo -n "\""$$a"\"" >> ${srcdir}/../lisp/source-files.el ;\
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
512 done)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
513 echo "))" >> ${srcdir}/../lisp/source-files.el
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
514
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
515 #ifdef DYNODUMP
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
516 dynodump_deps = ../dynodump/dynodump.so
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
517 ../dynodump/dynodump.so:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
518 cd ../dynodump && $(RECURSIVE_MAKE)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
519 #endif /* DYNODUMP */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
520
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
521 ${libsrc}DOC: ${EXE_TARGET} update-elc.stamp
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
522 $(RM) ${libsrc}DOC; \
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
523 ${DUMPENV} ./${EXE_TARGET} -nd -batch -l ${srcdir}/../lisp/make-docfile.el -- \
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
524 -o ${libsrc}DOC -d ${srcdir} -i ${libsrc}../site-packages \
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
525 ${obj_src} ${mallocdocsrc} ${rallocdocsrc} ${extra_doc_files}
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
526
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
527 dump_elcs: dump-elcs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
528
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
529 dump-elcs: ${EXE_TARGET}
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
530 -${DUMPENV} ./${EXE_TARGET} -nd -batch -l ${srcdir}/../lisp/update-elc.el
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
531
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
532 all-elc all-elcs:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
533 cd .. && $(RECURSIVE_MAKE) all-elc
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
534
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
535 #ifdef I18N3
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
536
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
537 # if defined(SPARC) && !defined(USG)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
538 xgettext= /usr/openwin/bin/xgettext
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
539 xgettext_args= -o emacs -m_X messages
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
540 msgfmt= /usr/openwin/bin/msgfmt
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
541 # else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
542 xgettext= xgettext
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
543 xgettext_args= -s -d emacs -M_X messages
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
544 msgfmt= msgfmt
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
545 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
546
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
547 ${mo_dir}emacs.po: ${libsrc}make-msgfile ${libsrc}make-po ${objs}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
548 ${libsrc}make-msgfile -o ${libsrc}messages ${objs}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
549 cd ${libsrc} && ${xgettext} ${xgettext_args}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
550 $(RM) ${mo_dir}emacs.po
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
551 cd ${libsrc} && ${libsrc}make-po -a ${mo_dir}emacs.po DOC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
552
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
553 ${mo_dir}emacs.mo: ${mo_dir}emacs.po
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
554 cd ${mo_dir} && ${msgfmt} -o emacs.mo emacs.po
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
555
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
556 ${libsrc}make-msgfile:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
557 cd ${libsrc} && $(RECURSIVE_MAKE) make-msgfile
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
558
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
559 ${libsrc}make-po:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
560 cd ${libsrc} && $(RECURSIVE_MAKE) make-po
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
561
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
562 #endif /* I18N3 */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
563
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
564 ${libsrc}make-dump-id:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
565 cd ${libsrc} && $(RECURSIVE_MAKE) make-dump-id
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
566
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
567 ${libsrc}make-docfile:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
568 cd ${libsrc} && $(RECURSIVE_MAKE) make-docfile
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
569
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
570 ## Lint Section
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
571 LINT.c=$(LINT) $(LINTFLAGS) $(LINTINCLUDES)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
572 LINTFILES= $(objs:.o=.ln)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
573 LINTINCLUDES = $(cppflags)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
574 ## LINTFLAGS= -fd -m -p -s -u -v -x
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
575 LINTFLAGS= -fd -m -s -u -v -x
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
576 lint: $(LINTFILES)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
577 $(LINT.c) $(LINTFILES)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
578 ## end of Lint Section
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
579
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
580 link_deps=\
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
581 $(start_files) ${objs} ${otherobjs}\
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
582 $(lwlib_deps) $(dynodump_deps)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
583
460
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 448
diff changeset
584 temacs_deps = $(link_deps) ${DUMP_ID}
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
585
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
586 temacs_link_args=\
460
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 448
diff changeset
587 ${start_flags} ${ldflags}\
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 448
diff changeset
588 -o $@ ${start_files} ${objs} ${otherobjs} ${DUMP_ID} ${LIBES}
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
589
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
590 ${EXE_TARGET}: $(temacs_deps)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
591 $(LD) $(temacs_link_args)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
592
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
593 dump-id.c: ${libsrc}make-dump-id ${link_deps}
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
594 ${libsrc}make-dump-id
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
595
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
596 .PHONY : run-temacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
597
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
598 run-temacs: ${EXE_TARGET}
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
599 -${run_temacs}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
600
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
601 ## We have automated tests!!
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
602 testdir = ${srcdir}/../tests/automated
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
603 batch_test_emacs = -batch -l ${testdir}/test-harness.el -f batch-test-emacs ${testdir}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
604
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
605 .PHONY: check check-temacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
606 check:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
607 ./${PROGNAME} ${batch_test_emacs}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
608 check-temacs:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
609 ${run_temacs} ${batch_test_emacs}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
610
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
611 ## Debugging targets:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
612 ##
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
613 ## None of the debugging products work with a dumped xemacs binary,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
614 ## because it does unexpected things like free memory that has been
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
615 ## malloc'ed in a *different* process!! So we need to run these on
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
616 ## temacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
617
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
618 ## RTC is Sun WorkShop's Run Time Checking, integrated with dbx
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
619 rtc_patch.o:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
620 rtc_patch_area -o $@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
621
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
622 rtcmacs: $(temacs_deps) rtc_patch.o
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
623 $(RM) ${EXE_TARGET}; $(RECURSIVE_MAKE) ${EXE_TARGET} RTC_patch_objs=rtc_patch.o
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
624 mv ${EXE_TARGET} rtcmacs
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
625
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
626 .PHONY: run-rtcmacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
627 run-rtcmacs: rtcmacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
628 dbx -q -C -c \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
629 'dbxenv rtc_error_log_file_name /dev/fd/1; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
630 dbxenv suppress_startup_message 5.0; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
631 ignore POLL; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
632 check -access; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
633 suppress rui; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
634 runargs -batch -l ${srcdir}/../lisp/loadup.el run-temacs -q; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
635 run' rtcmacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
636
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
637 debug-temacs: ${EXE_TARGET}
434
9d177e8d4150 Import from CVS: tag r21-2-25
cvs
parents: 428
diff changeset
638 -${debug_temacs}
9d177e8d4150 Import from CVS: tag r21-2-25
cvs
parents: 428
diff changeset
639
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
640 ## Purify, Quantify, PureCoverage are software quality products from
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
641 ## Rational, formerly Pure Atria, formerly Pure Software.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
642 ##
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
643 ## Purify
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
644 PURIFY_PROG = purify
460
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 448
diff changeset
645 PURIFY_LIBS =
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
646 PURIFY_FLAGS =\
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
647 #ifdef PDUMP
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
648 -search-mmaps=yes\
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
649 #endif
460
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 448
diff changeset
650 -chain-length=32 -ignore-signals=SIGPOLL\
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 448
diff changeset
651 -cache-dir=${blddir}/purecache -always-use-cache-dir=yes
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
652
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
653 puremacs: $(temacs_deps)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
654 $(PURIFY_PROG) $(PURIFY_FLAGS) $(LD) $(temacs_link_args) $(PURIFY_LIBS)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
655 cp $@ ${EXE_TARGET}
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
656
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
657 ## Quantify
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
658 #ifdef QUANTIFY
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
659 QUANTIFY_PROG = quantify
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
660 QUANTIFY_HOME = `$(QUANTIFY_PROG) -print-home-dir`
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
661 QUANTIFY_FLAGS = -cache-dir=./purecache -always-use-cache-dir=yes
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
662 cppflags += -I$(QUANTIFY_HOME)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
663 temacs_link_args += $(QUANTIFY_HOME)/quantify_stubs.a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
664
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
665 quantmacs: $(temacs_deps)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
666 $(QUANTIFY_PROG) $(QUANTIFY_FLAGS) $(LD) $(temacs_link_args)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
667 cp $@ ${EXE_TARGET}
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
668 #endif /* QUANTIFY */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
669
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
670
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
671 PURECOV_PROG=purecov
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
672 covmacs: $(temacs_deps)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
673 $(PURECOV_PROG) $(LD) $(temacs_link_args)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
674
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
675
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
676 TopLevelEmacsShell.o : ${srcdir}/EmacsShell-sub.c config.h xintrinsicp.h EmacsShellP.h
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
677 $(CC) -c $(cflags) -DDEFINE_TOP_LEVEL_EMACS_SHELL ${srcdir}/EmacsShell-sub.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
678 mv EmacsShell-sub.o TopLevelEmacsShell.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
679
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
680 TopLevelEmacsShell.c.rtl : ${srcdir}/EmacsShell-sub.c config.h xintrinsicp.h EmacsShellP.h
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
681 $(CC) -dr -c $(cflags) -DDEFINE_TOP_LEVEL_EMACS_SHELL ${srcdir}/EmacsShell-sub.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
682 mv EmacsShell-sub.c.rtl TopLevelEmacsShell.c.rtl
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
683
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
684 TransientEmacsShell.o : ${srcdir}/EmacsShell-sub.c TopLevelEmacsShell.o config.h xintrinsicp.h EmacsShellP.h
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
685 $(CC) -c $(cflags) -DDEFINE_TRANSIENT_EMACS_SHELL ${srcdir}/EmacsShell-sub.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
686 mv EmacsShell-sub.o TransientEmacsShell.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
687
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
688 TransientEmacsShell.c.rtl : ${srcdir}/EmacsShell-sub.c TopLevelEmacsShell.o config.h xintrinsicp.h EmacsShellP.h
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
689 $(CC) -dr -c $(cflags) -DDEFINE_TRANSIENT_EMACS_SHELL ${srcdir}/EmacsShell-sub.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
690 mv EmacsShell-sub.c.rtl TransientEmacsShell.c.rtl
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
691
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
692 ## The above rules are subject to a race condition if using a parallel make.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
693 TransientEmacsShell.o : TopLevelEmacsShell.o
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
694 TransientEmacsShell.c.rtl : TopLevelEmacsShell.c.rtl
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
695
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
696 ## Position-independent code for shared library creation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
697 #if USE_GCC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
698 pic_arg = -fpic
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
699 #elif defined (IRIX)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
700 pic_arg = -KPIC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
701 # else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
702 pic_arg = -K pic
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
703 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
704
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
705 #ifdef EXTERNAL_WIDGET
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
706
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
707 external_client_motif_objs_shared = ExternalClient-Xm-shared.o extw-Xt-shared.o extw-Xlib-shared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
708 external_client_xt_objs_shared = ExternalClient-Xt-shared.o extw-Xt-shared.o extw-Xlib-shared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
709 external_client_xlib_objs_shared = ExternalClient-Xlib-shared.o extw-Xlib-shared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
710 external_client_motif_objs_nonshared = ExternalClient-Xm-nonshared.o extw-Xt-nonshared.o extw-Xlib-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
711 external_client_xt_objs_nonshared = ExternalClient-Xt-nonshared.o extw-Xt-nonshared.o extw-Xlib-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
712 external_client_xlib_objs_nonshared = ExternalClient-Xlib-nonshared.o extw-Xlib-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
713
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
714 ## Add dependencies so things work right with a parallel make
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
715 ExternalClient-Xm-shared.o: ${srcdir}/ExternalClient.c ExternalClient-Xt-shared.o ExternalClient-Xm-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
716 $(CC) -c $(pic_arg) $(cflags) -DEXTW_USES_MOTIF ${srcdir}/ExternalClient.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
717 mv ExternalClient.o ExternalClient-Xm-shared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
718
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
719 ExternalClient-Xt-shared.o: ${srcdir}/ExternalClient.c ExternalClient-Xt-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
720 $(CC) -c $(pic_arg) $(cflags) ${srcdir}/ExternalClient.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
721 mv ExternalClient.o ExternalClient-Xt-shared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
722
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
723 ExternalClient-Xlib-shared.o: ${srcdir}/ExternalClient-Xlib.c ExternalClient-Xlib-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
724 $(CC) -c $(pic_arg) $(cflags) ${srcdir}/ExternalClient-Xlib.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
725 mv ExternalClient-Xlib.o ExternalClient-Xlib-shared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
726
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
727 ExternalClient-Xm-nonshared.o: ${srcdir}/ExternalClient.c ExternalClient-Xt-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
728 $(CC) -c $(cflags) -DEXTW_USES_MOTIF ${srcdir}/ExternalClient.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
729 mv ExternalClient.o ExternalClient-Xm-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
730
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
731 ExternalClient-Xt-nonshared.o: ${srcdir}/ExternalClient.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
732 $(CC) -c $(cflags) ${srcdir}/ExternalClient.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
733 mv ExternalClient.o ExternalClient-Xt-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
734
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
735 ExternalClient-Xlib-nonshared.o: ${srcdir}/ExternalClient-Xlib.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
736 $(CC) -c $(cflags) ${srcdir}/ExternalClient-Xlib.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
737 mv ExternalClient-Xlib.o ExternalClient-Xlib-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
738
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
739 ## We compile the common files twice (once with PIC and once without)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
740 ## because on some systems, compiling with PIC but not linking into
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
741 ## a shared library messes things up.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
742
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
743 extw-Xt-shared.o: ${srcdir}/extw-Xt.c extw-Xt-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
744 $(CC) -c $(pic_arg) $(cflags) ${srcdir}/extw-Xt.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
745 mv extw-Xt.o extw-Xt-shared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
746
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
747 extw-Xlib-shared.o: ${srcdir}/extw-Xlib.c extw-Xlib-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
748 $(CC) -c $(pic_arg) $(cflags) ${srcdir}/extw-Xlib.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
749 mv extw-Xlib.o extw-Xlib-shared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
750
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
751 extw-Xt-nonshared.o: ${srcdir}/extw-Xt.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
752 $(CC) -c $(cflags) ${srcdir}/extw-Xt.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
753 mv extw-Xt.o extw-Xt-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
754
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
755 extw-Xlib-nonshared.o: ${srcdir}/extw-Xlib.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
756 $(CC) -c $(cflags) ${srcdir}/extw-Xlib.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
757 mv extw-Xlib.o extw-Xlib-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
758
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
759 libextcli_Xm.a: ${external_client_motif_objs_nonshared}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
760 ar r libextcli_Xm.a ${external_client_motif_objs_nonshared}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
761
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
762 libextcli_Xt.a: ${external_client_xt_objs_nonshared}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
763 ar r libextcli_Xt.a ${external_client_xt_objs_nonshared}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
764
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
765 libextcli_Xlib.a: ${external_client_xlib_objs_nonshared}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
766 ar r libextcli_Xlib.a ${external_client_xlib_objs_nonshared}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
767
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
768 #ifdef EXTW_LINK
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
769
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
770 libextcli_Xm.so.1: ${external_client_motif_objs_shared}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
771 ${extw_link_beg} ${external_client_motif_objs_shared} ${extw_link_mid} libextcli_Xm.so.1 ${extw_link_end}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
772
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
773 libextcli_Xt.so.1: ${external_client_xt_objs_shared}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
774 ${extw_link_beg} ${external_client_xt_objs_shared} ${extw_link_mid} libextcli_Xt.so.1 ${extw_link_end}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
775
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
776 libextcli_Xlib.so.1: ${external_client_xlib_objs_shared}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
777 ${extw_link_beg} ${external_client_xlib_objs_shared} ${extw_link_mid} libextcli_Xlib.so.1 ${extw_link_end}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
778
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
779 #endif /* EXTW_LINK */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
780
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
781 #endif /* EXTERNAL_WIDGET */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
782
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
783 config.h: ${srcdir}/config.h.in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
784 Emacs.ad.h: ${srcdir}/${etcdir}Emacs.ad
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
785
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
786 config.h sheap-adjust.h paths.h Emacs.ad.h :
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
787 @echo "The file $@ needs to be re-generated."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
788 @echo "Please run a make in the top level directory."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
789 @echo "Consult the file \`INSTALL' for instructions for building XEmacs."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
790 @exit 1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
791
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
792 ## Some machines have alloca built-in.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
793 ## They should define HAVE_ALLOCA, or may just let alloca.s
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
794 ## be used but generate no code.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
795 ## Some have it written in assembler in alloca.s.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
796 ## Some use the C version in alloca.c (these define C_ALLOCA in config.h).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
797
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
798
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
799 #ifdef C_ALLOCA
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
800 ## We could put something in alloca.c to #define free and malloc
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
801 ## whenever emacs was #defined, but that's not appropriate for all
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
802 ## users of alloca in Emacs. Check out ../lib-src/getopt.c. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
803
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
804 alloca.o : ${srcdir}/alloca.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
805 $(CC) -c -Dfree=xfree -Dmalloc=xmalloc $(cflags) ${srcdir}/alloca.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
806 #else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
807 #ifndef HAVE_ALLOCA
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
808 alloca.o : ${srcdir}/alloca.s config.h
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
809 ## $(CPP) is cc -E, which may get confused by filenames
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
810 ## that do not end in .c. So copy file to a safe name. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
811 ## cp ${srcdir}/alloca.s allocatem.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
812 ## Remove any ^L, blank lines, and preprocessor comments,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
813 ## since some assemblers barf on them. Use a different basename for the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
814 ## output file, since some stupid compilers (Green Hill) use that
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
815 ## name for the intermediate assembler file.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
816 $(CPP) $(cppflags) allocatem.c | \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
817 sed -e 's/ //' -e 's/^#.*//' | \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
818 sed -n -e '/^..*$$/p' > allocax.s
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
819 @$(RM) alloca.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
820 ## Xenix, in particular, needs to run assembler via cc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
821 $(CC) -c allocax.s
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
822 mv allocax.o alloca.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
823 $(RM) allocax.s allocatem.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
824 #endif /* HAVE_ALLOCA */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
825 #endif /* ! defined (C_ALLOCA) */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
826
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
827 #ifdef HAVE_NATIVE_SOUND
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
828 sound_cflags=@sound_cflags@
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
829 sunplay.o: ${srcdir}/sunplay.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
830 $(CC) -c $(sound_cflags) $(cflags) ${srcdir}/sunplay.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
831 hpplay.o: ${srcdir}/hpplay.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
832 $(CC) -c -Demacs $(sound_cflags) $(cflags) ${srcdir}/hpplay.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
833 #endif /* HAVE_NATIVE_SOUND */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
834
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
835 #if defined(HAVE_GLADE_GLADE_H) || defined(HAVE_GLADE_H)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
836 glade_files=glade.c
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
837 #endif
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
838
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
839 #ifdef HAVE_GTK
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
840 extra_doc_files=emacs-widget-accessors.c ui-byhand.c $(glade_files)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
841 #endif
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
842
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
843 xemacs_res.o: ${srcdir}/../nt/xemacs.rc
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
844 windres --include-dir ${srcdir}/../nt -i ${srcdir}/../nt/xemacs.rc -o $@
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
845
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
846 ## System-specific programs to be made.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
847 ## ${other_files}, $(objects_system) and $(objects_machine)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
848 ## select which of these should be compiled. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
849
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
850 .PHONY: mostlyclean clean distclean realclean versionclean extraclean
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
851 mostlyclean:
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
852 $(RM) temacs puremacs quantmacs *.o *.i \
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
853 core temacs.exe sheap-adjust.h
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
854 clean: mostlyclean versionclean
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
855 $(RM) libextcli* update-elc.stamp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
856 ## This is used in making a distribution.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
857 ## Do not use it on development directories!
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
858 distclean: clean
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
859 $(RM) config.h paths.h Emacs.ad.h \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
860 GNUmakefile Makefile Makefile.in TAGS ${PROGNAME}.*
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
861 realclean: distclean
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
862 versionclean:
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
863 $(RM) ${EXE_TARGET} ${DUMP_TARGET} ${libsrc}DOC
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
864 extraclean: realclean
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
865 $(RM) *~ \#* m/*~ m/\#* s/*~ s/\#*
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
866
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
867 .PHONY : lock unlock
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
868 SOURCES = *.[chm] *.pswm [sm]/* COPYING paths.h.in Makefile.in.in \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
869 config.h.in README COPYING ChangeLog
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
870 unlock:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
871 chmod u+w $(SOURCES)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
872
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
873 relock:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
874 chmod -w $(SOURCES)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
875
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
876 ## Header files for ellcc
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
877 #ifdef HAVE_SHLIB
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
878 MAKEPATH=../lib-src/make-path
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
879 install: ${PROGNAME}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
880 ${MAKEPATH} ${archlibdir}/include ${archlibdir}/include/m ${archlibdir}/include/s
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
881 -@echo "Copying include files for ellcc..."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
882 -@hdir=`pwd`; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
883 cd ${srcdir}; hdrdir2=`pwd`; cd $$hdir; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
884 test "$$hdrdir2" != "$$hdir" && hdir="$$hdir $$hdrdir2"; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
885 (for thisdir in $$hdir; do \
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
886 cd $$thisdir && \
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
887 (hdrtars=; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
888 for hdrfile in *.h; do \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
889 hdrtars="$$hdrtars $$hdrfile"; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
890 done; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
891 test -d s && hdrtars="$$hdrtars s/*"; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
892 test -d m && hdrtars="$$hdrtars m/*"; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
893 test -n "$$hdrtars" && (tar cf - $$hdrtars) | \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
894 (cd ${archlibdir}/include && umask 022 && tar xf -); \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
895 chmod 755 ${archlibdir}/include; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
896 test -d ${archlibdir}/include/s && \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
897 chmod 755 ${archlibdir}/include/s; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
898 test -d ${archlibdir}/include/m && \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
899 chmod 755 ${archlibdir}/include/s;) \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
900 done)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
901 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
902
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
903 ## Dependency processing using home-grown script, not makedepend
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
904 .PHONY: depend
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
905 FRC.depend:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
906 depend: FRC.depend
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
907 cd ${srcdir} && $(RM) depend.tmp && \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
908 perl ./make-src-depend > depend.tmp && \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
909 if cmp -s depend depend.tmp; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
910 then $(RM) depend.tmp; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
911 else $(RM) depend && mv depend.tmp depend; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
912 fi