annotate src/Makefile.in.in @ 1601:442db3c3c43b

[xemacs-hg @ 2003-08-02 08:42:10 by michaels] 2003-07-31 Mike Sperber <mike@xemacs.org> * isearch-mode.el (isearch-mode-help): (isearch-update): (isearch-done): (isearch-edit-string): Change the way window configurations are handled: Formerly, the code would do `set-window-configuration' off `pre-command-hook' which isn't really allowed. (The old window-configuration code would quietly ignore this restriction.) Instead, save the window configuration only when someone asks for help, and restore afterwards, and otherwise leave it alone.
author michaels
date Sat, 02 Aug 2003 08:42:11 +0000
parents c88a785b01d8
children 64eaceca611d
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.
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
6 ## Copyright (C) 2001, 2002, 2003 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
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
27 .PHONY: all
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
28 all: build-the-mofo
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
29
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
30 #define NOT_C_CODE
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
31 #include "config.h"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
32
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
33 ## Here are the things that we expect ../configure to edit.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35 #ifdef USE_GNU_MAKE
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36 RECURSIVE_MAKE=$(MAKE)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37 #else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38 @SET_MAKE@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
39 RECURSIVE_MAKE=@RECURSIVE_MAKE@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
40 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
41
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
42 PROGNAME=@PROGNAME@
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
43 prefix=@prefix@
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
44 SRC=@srcdir@
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
45 blddir=@blddir@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
46 version=@version@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47 CC=@XEMACS_CC@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48 CPP=@CPP@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49 CFLAGS=@CFLAGS@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
50 CPPFLAGS=@CPPFLAGS@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
51 LDFLAGS=@LDFLAGS@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
52
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
53 c_switch_all=@c_switch_all@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
54 ld_switch_all=@ld_switch_all@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
55 ld_libs_all=@ld_libs_all@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
56 ld_dynamic_link_flags=@ld_dynamic_link_flags@
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 extra_objs=@extra_objs@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
59 LN_S=@LN_S@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
61 ld_switch_shared=@ld_switch_shared@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
62 start_files=@start_files@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
63 start_flags=@start_flags@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
64 LD=@ld@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
65 lib_gcc=@lib_gcc@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
66 ##libmcheck=@libmcheck@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
67
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
68
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
69 ## With the traditional VPATH setting, it is not possible to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
70 ## simultaneously compile in-place and in another directory. The
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
71 ## mistaken definition is that *all* dependencies are searched for in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
72 ## the VPATH directory, rather than just the dependencies that are not
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
73 ## 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
74 ## 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
75 ## location.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
76
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
77 ## The GNU Make "vpath" directive continues this tradition, but at
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
78 ## least lets you restrict the classes of files that it applies to.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
79 ## This allows us to kludge around the problem.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
80
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
81 #ifdef USE_GNU_MAKE
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
82 vpath %.c @srcdir@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
83 vpath %.h @srcdir@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
84 ## now list files that should NOT be searched in the srcdir.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
85 ## This includes any .c or .h built from something else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
86 ## (e.g. a .in file).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
87 vpath config.h
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
88 vpath paths.h
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
89 vpath Emacs.ad.h
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
90 vpath sheap-adjust.h
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
91 vpath dump-id.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
92 #else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
93 VPATH=@srcdir@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
94 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
96 SHELL=/bin/sh
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
97 RM = rm -f
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
98
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
99 LISP = $(SRC)/../lisp
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
100 ETC = $(SRC)/../etc
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
101 SRCMODULES = $(SRC)/../modules
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
102 LIB_SRC = ../lib-src
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
103 BLDSRC = .
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
104 BLDMODULES = ../modules
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
105 LWLIB_SRCDIR = $(SRC)/../lwlib
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
106
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
107 #########################################################################
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
108 ## Definitions of object files and other dependencies ##
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
109 #########################################################################
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
110
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
111 ## NOTE: Some of the object files are specified in this file, and others in
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
112 ## configure.in. The general rule is that they be specified here whenever
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
113 ## possible -- in practice, that means that they have clear dependencies on
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
114 ## configure defines. They should be in configure.in when there is no
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
115 ## configure define or when there is extremely hairy code to determine
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
116 ## which files are needed (e.g. native sound support) and it would be
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
117 ## pointless to duplicate that code.
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
118
793
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 776
diff changeset
119 gui_objs= gui.o
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
120 #ifdef HAVE_MENUBARS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
121 gui_objs += menubar.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
122 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
123 #ifdef HAVE_SCROLLBARS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
124 gui_objs += scrollbar.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
125 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
126 #ifdef HAVE_DIALOGS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
127 gui_objs += dialog.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
128 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
129 #ifdef HAVE_TOOLBARS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
130 gui_objs += toolbar.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
131 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
132
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
133 #ifdef HAVE_X_WINDOWS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
134 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
135 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
136 x_gui_objs=$(gui_objs:.o=-x.o)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
137 #ifdef HAVE_TOOLBARS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
138 x_gui_objs += toolbar-common.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
139 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
140 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
141
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
142 #ifdef HAVE_MS_WINDOWS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
143 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
144 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
145 mswindows_gui_objs=$(gui_objs:.o=-msw.o)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
146 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
147
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
148 #ifdef HAVE_TTY
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
149 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
150 redisplay-tty.o cm.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
151 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
152
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
153 #ifdef HAVE_GTK
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
154 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
155 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
156 gtk-xemacs.o ui-gtk.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
157 gtk_gui_objs=$(gui_objs:.o=-gtk.o)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
158 #ifdef HAVE_TOOLBARS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
159 gtk_gui_objs += toolbar-common.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
160 #endif
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_BALLOON_HELP
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
164 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
165 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
166
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
167 #ifdef CLASH_DETECTION
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
168 clash_detection_objs=filelock.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
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
171 #ifdef HAVE_DATABASE
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
172 database_objs=database.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
173 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
174
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
175 #ifdef DEBUG_XEMACS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
176 debug_objs=debug.o tests.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
177 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
178
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
179 #ifdef HAVE_UNIXOID_EVENT_LOOP
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
180 event_unixoid_objs=event-unixoid.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_GIF
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
184 gif_objs=dgif_lib.o gif_io.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
185 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
186
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
187 #ifdef HAVE_GPM
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
188 gpm_objs=gpmevent.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
189 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
190
996
25e260cb7994 [xemacs-hg @ 2002-09-10 15:27:02 by james]
james
parents: 853
diff changeset
191 #if defined(HAVE_LDAP) && !defined(HAVE_SHLIB)
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
192 ldap_objs=$(BLDMODULES)/ldap/eldap.o
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
193 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
194
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
195 #ifdef MULE
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
196 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
197 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
198
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
199 #ifdef HAVE_CANNA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
200 mule_canna_objs=mule-canna.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
201 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
202
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
203 #ifdef HAVE_WNN
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
204 mule_wnn_objs=mule-wnnfns.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
205 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
206
996
25e260cb7994 [xemacs-hg @ 2002-09-10 15:27:02 by james]
james
parents: 853
diff changeset
207 #if defined(HAVE_POSTGRESQL) && !defined(HAVE_SHLIB)
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
208 postgresql_objs=$(BLDMODULES)/postgresql/postgresql.o
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
209 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
210
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
211 #ifdef HAVE_WIN32_PROCESSES
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
212 process_objs=process-nt.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
213 #elif defined (HAVE_UNIX_PROCESSES)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
214 process_objs=process-unix.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_SETITIMER
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
218 profile_objs=profile.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
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
221 #if defined (HEAP_IN_DATA) && !defined (PDUMP)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
222 sheap_objs=sheap.o
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
223 #endif
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
224
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
225 #ifdef HAVE_SHLIB
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
226 shlib_objs=sysdll.o emodules.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 SUNPRO
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
230 sunpro_objs=sunpro.o
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
231 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
232
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
233 #ifdef TOOLTALK
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
234 tooltalk_objs=tooltalk.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 #if defined (WIN32_NATIVE) || defined (CYGWIN)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
238 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
239 xemacs_res.o
611
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 606
diff changeset
240 #endif
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 606
diff changeset
241
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
242 ## lastfile must follow all files whose initialized data areas should
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
243 ## be dumped as pure by dump-emacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
244
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
245 ## NOTE: The last line cannot be all macros, because make will barf
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
246 ## if they all come out null.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
247
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
248 objs=\
851
e7ee5f8bde58 [xemacs-hg @ 2002-05-23 11:46:08 by ben]
ben
parents: 826
diff changeset
249 abbrev.o alloc.o alloca.o \
e7ee5f8bde58 [xemacs-hg @ 2002-05-23 11:46:08 by ben]
ben
parents: 826
diff changeset
250 $(balloon_help_objs) blocktype.o buffer.o bytecode.o \
853
2b6fa2618f76 [xemacs-hg @ 2002-05-28 08:44:22 by ben]
ben
parents: 851
diff changeset
251 callint.o casefiddle.o casetab.o chartab.o \
851
e7ee5f8bde58 [xemacs-hg @ 2002-05-23 11:46:08 by ben]
ben
parents: 826
diff changeset
252 $(clash_detection_objs) cmdloop.o cmds.o $(coding_system_objs) console.o \
e7ee5f8bde58 [xemacs-hg @ 2002-05-23 11:46:08 by ben]
ben
parents: 826
diff changeset
253 console-stream.o\
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
254 data.o $(database_objs) $(debug_objs) device.o dired.o doc.o doprnt.o\
851
e7ee5f8bde58 [xemacs-hg @ 2002-05-23 11:46:08 by ben]
ben
parents: 826
diff changeset
255 dynarr.o \
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
256 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
257 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
258 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
259 font-lock.o frame.o\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
260 general.o $(gif_objs) glyphs.o glyphs-eimage.o glyphs-shared.o\
793
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 776
diff changeset
261 glyphs-widget.o $(gpm_objs) $(gtk_objs) $(gtk_gui_objs) $(gui_objs) \
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 776
diff changeset
262 gutter.o\
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
263 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
264 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
265 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
266 $(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
267 $(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
268 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
269 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
270 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
271 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
272 widget.o window.o $(win32_objs)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
273
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
274 obj_rtl = $(objs:.o=.c.rtl)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
275
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
276 #ifdef REL_ALLOC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
277 rallocdocsrc = ralloc.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
278 rallocobjs = ralloc.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
279 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
280
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
281 malloclib = $(libmcheck)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
282 #ifndef SYSTEM_MALLOC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
283 # ifdef GNU_MALLOC /* GNU malloc */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
284 # ifdef ERROR_CHECK_MALLOC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
285 #ifdef DOUG_LEA_MALLOC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
286 mallocobjs = free-hook.o vm-limit.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
287 #else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
288 mallocobjs = gmalloc.o free-hook.o vm-limit.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
289 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
290 mallocdocsrc = free-hook.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
291 # else /* New GNU malloc, sans error checking */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
292 #ifdef DOUG_LEA_MALLOC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
293 mallocobjs = vm-limit.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
294 #else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
295 mallocobjs = gmalloc.o vm-limit.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
296 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
297 mallocdocsrc =
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
298 # endif /* ERROR_CHECK_MALLOC */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
299 # else /* Older GNU malloc */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
300 mallocobjs = malloc.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
301 mallocdocsrc =
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
302 # endif /* Older GNU malloc */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
303 #else /* SYSTEM_MALLOC */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
304 mallocobjs =
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
305 mallocdocsrc =
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
306 #ifdef USE_DEBUG_MALLOC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
307 malloclib = -ldmalloc
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
308 #endif /* USE_DEBUG_MALLOC */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
309 #endif /* SYSTEM_MALLOC */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
310
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
311 #ifdef HAVE_X_WINDOWS
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
312
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
313 lwlib_lib = ../lwlib/liblw.a
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
314
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
315 # ifdef EXTERNAL_WIDGET
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
316 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
317
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
318 # ifdef LWLIB_USES_MOTIF
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
319 # ifdef EXTW_LINK
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
320 motif_other_files = libextcli_Xm.a libextcli_Xm.so.1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
321 # else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
322 motif_other_files = libextcli_Xm.a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
323 # endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
324 #endif /* LWLIB_USES_MOTIF */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
325
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
326 # ifdef EXTW_LINK
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
327 shared_other_files = libextcli_Xt.so.1 libextcli_Xlib.so.1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
328 # endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
329 other_files=\
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
330 $(motif_other_files)\
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
331 libextcli_Xt.a libextcli_Xlib.a\
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
332 $(shared_other_files)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
333
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
334 # endif /* EXTERNAL_WIDGET */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
335
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
336 # if defined (HAVE_OFFIX_DND) || defined (HAVE_CDE)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
337 dnd_objs = @dnd_objs@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
338 # endif /* HAVE_OFFIX_DND || HAVE_CDE */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
339
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
340 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
341 #endif /* HAVE_X_WINDOWS */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
342
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
343 ## define otherobjs as list of object files that make-docfile
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
344 ## should not be told about.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
345 otherobjs = lastfile.o $(mallocobjs) $(rallocobjs) $(X11_objs)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
346 otherrtls = $(otherobjs:.o=.c.rtl)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
347 othersrcs = $(otherobjs:.o=.c)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
348
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
349 LIBES = $(lwlib_lib) $(malloclib) $(ld_libs_all) $(lib_gcc)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
350
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
351 #ifdef I18N3
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
352 mo_file = $(LIB_SRC)/emacs.mo
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
353 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
354
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
355 #########################################################################
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
356 ## Implicit rules ##
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
357 #########################################################################
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
358
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
359 ## For performance and consistency, no built-in rules.
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
360 .SUFFIXES:
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
361 .SUFFIXES: .c .h .o .i .s .dep
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
362
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
363 ## -Demacs is needed to make some files produce the correct version
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
364 ## for use in Emacs.
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
365
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
366 cppflags = $(CPPFLAGS) -Demacs -I. $(c_switch_all)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
367 cflags = $(CFLAGS) $(cppflags)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
368 #if defined (WIN32_NATIVE) || defined (CYGWIN)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
369 ldflags = $(LDFLAGS) -mwindows -e _mainCRTStartup $(ld_switch_all) $(ld_dynamic_link_flags)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
370 # if defined (CYGWIN)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
371 ldflags += -Wl,--script=s/cygwin.sc
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
372 # endif
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
373 #else
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
374 ldflags = $(LDFLAGS) $(ld_switch_all) $(ld_dynamic_link_flags)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
375 #endif
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
376
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
377 #ifdef SOLARIS2
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
378 %.o : %.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
379 #else
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
380 .c.o:
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
381 #endif
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
382 $(CC) -c $(cflags) $<
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
383
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
384 ## Create preprocessor output (debugging purposes only)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
385 .c.i:
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
386 #ifdef __GNUC__
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
387 $(CC) -E $(cppflags) -o $@ $<
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
388 #else /* works on Solaris; what about other systems? */
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
389 $(CC) -P $(cppflags) $<
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
390 #endif /* compiler */
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
391
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
392 ## Create assembler output (debugging purposes only)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
393 .c.s:
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
394 $(CC) -S -c $(cflags) $<
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
395
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
396 ## Create RTL files
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
397 %.c.rtl : %.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
398 $(CC) -dr -c $(cflags) $<
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
399
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
400 #########################################################################
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
401 ## Primary rebuilding process ##
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
402 #########################################################################
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
403
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
404 #ifdef PDUMP
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
405 DUMP_TARGET = $(PROGNAME).dmp
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
406 RAW_EXE = $(PROGNAME)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
407 DUMP_ID = dump-id.o
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
408 #else
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
409 DUMP_TARGET = $(PROGNAME)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
410 RAW_EXE = temacs
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
411 #endif
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
412
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
413 DO_TEMACS = $(DUMPENV) ./$(RAW_EXE)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
414 DO_XEMACS = ./$(PROGNAME)
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
415
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
416 BATCH = -no-packages -batch
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
417 BATCH_PACKAGES = -vanilla -batch
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
418 TEMACS_BATCH = $(DO_TEMACS) -nd $(BATCH)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
419 XEMACS_BATCH = $(DO_XEMACS) $(BATCH)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
420 XEMACS_BATCH_PACKAGES = $(DO_XEMACS) $(BATCH_PACKAGES)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
421 temacs_loadup_args = -l $(LISP)/loadup.el
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
422 dump_temacs_args = $(temacs_loadup_args) dump
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
423 run_temacs_args = $(temacs_loadup_args) run-temacs
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
424 dump_temacs = $(TEMACS_BATCH) $(dump_temacs_args)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
425
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
426 ## Compile, dump, and make sure all .elc files are up-to-date.
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
427
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
428 ## NOTE NOTE NOTE: There appears to be a fundamental but non-obvious
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
429 ## difference between the way that standard `make', GNU Make, and `nmake'
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
430 ## handle dependencies, and this means we have to write the dependencies in
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
431 ## Makefile.in.in and xemacs.mak differently. To illustrate this, consider
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
432 ## the following first:
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
433
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
434 ##.PHONY: all (`make' only)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
435 ## all: test.exe
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
436 ##
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
437 ##.PHONY: FRC.test.c (`make' only)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
438 ##FRC.test.c:
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
439 ##
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
440 ##test.c: FRC.test.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
441 ## if test ! -f foo ; then touch test.c; fi (`make' only)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
442 ## if not exist foo touch test.c (`nmake' only)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
443 ##
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
444 ##test.obj: test.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
445 ## touch test.obj
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
446 ##
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
447 ##test.exe: test.obj
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
448 ## touch test.exe
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
449
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
450 ## (GNU Make doesn't need the .PHONY declarations, but evidently some versions
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
451 ## of `make' do. nmake doesn't need them and doesn't allow them, either.)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
452
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
453 ## Running `make' rebuilds test.exe only if `foo' doesn't exist.
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
454 ## Running `nmake -f Makefile' rebuilds it regardless.
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
455
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
456 ## Both conclude that test.c needs to be rebuilt since its dependent is
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
457 ## non-existent. But `make' recalculates its dependencies after running
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
458 ## the commands for test.c, and notices that test.c hasn't changed, and
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
459 ## thus test.obj and test.exe are up-to-date. `nmake' doesn't.
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
460
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
461 ## On the other hand, consider the following:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
462
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
463 ##.PHONY: all (`make' only)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
464 ##all: check-foo test.exe
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
465 ##
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
466 ##.PHONY: check-foo (`make' only)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
467 ##check-foo:
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
468 ## if test ! -f foo; then touch test.c; fi (`make' only)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
469 ## if not exist foo touch test.c (`nmake' only)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
470 ##
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
471 ##test.c:
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
472 ## touch test.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
473 ##
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
474 ##test.obj: test.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
475 ## touch test.obj
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
476 ##
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
477 ##test.exe: test.c test.obj
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
478 ## touch test.exe
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
479 ##
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
480
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
481 ## Running `nmake -f Makefile' (and `GNU make') rebuilds test.exe only if
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
482 ## `foo' doesn't exist.
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
483 ## Running some versions of non-GNU `make' does nothing at all once test.c,
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
484 ## test.obj and test.exe all exist.
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
485
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
486 ## It appears that `nmake' doesn't check dependencies for test.exe until it
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
487 ## actually needs to be rebuilt, so this "sideways" dependency script
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
488 ## works. GNU make evidently recalculates *all* dependencies after each
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
489 ## command so has no problem, either. But some makes apparently calculate
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
490 ## all dependencies at startup and then, after executing a command to build
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
491 ## a dependency, only recheck relationships involving that particular
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
492 ## dependency.
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
493
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
494 ## In XEmacs-land, the above situation exists wrt the `NEEDTODUMP'
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
495 ## dependency, recalculated by `update-elc.el'. Thus, Makefile.in.in must
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
496 ## use the method #1 above, and nmake must use method #2.
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
497
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
498 ## -ben
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
499
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
500 .PHONY: build-the-mofo
1346
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
501 build-the-mofo: update-elc-2 $(mo_file) $(other_files) $(LISP)/finder-inf.el load-shadows
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
502
1346
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
503 ## (1) Compile all dependencies of the XEmacs executable
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
504
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
505 #ifdef HAVE_X_WINDOWS
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
506 lwlib_deps = $(lwlib_lib)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
507 $(lwlib_lib):
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
508 cd ../lwlib && $(RECURSIVE_MAKE)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
509 #endif /* HAVE_X_WINDOWS */
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
510
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
511 #ifdef DYNODUMP
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
512 dynodump_deps = ../dynodump/dynodump.so
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
513 ../dynodump/dynodump.so:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
514 cd ../dynodump && $(RECURSIVE_MAKE)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
515 #endif /* DYNODUMP */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
516
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
517 link_deps = $(start_files) $(objs) $(otherobjs) $(lwlib_deps) $(dynodump_deps)
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
518
1346
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
519 $(LIB_SRC)/make-dump-id:
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
520 cd $(LIB_SRC) && $(RECURSIVE_MAKE) make-dump-id
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
521
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
522 dump-id.c: $(LIB_SRC)/make-dump-id $(link_deps)
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
523 $(LIB_SRC)/make-dump-id
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
524
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
525 ## (2) Link the XEmacs executable
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
526
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
527 temacs_deps = $(link_deps) $(DUMP_ID)
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
528
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
529 temacs_link_args = \
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
530 $(start_flags) $(ldflags) \
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
531 -o $@ $(start_files) $(objs) $(otherobjs) $(DUMP_ID) $(LIBES)
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
532
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
533 $(RAW_EXE): $(temacs_deps)
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
534 $(LD) $(temacs_link_args)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
535
1346
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
536 ## (3) Update the .elc's needed for dumping
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
537
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
538 .PHONY: FRC.needtodump
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
539 FRC.needtodump:
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
540
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
541 ## This file is touched by update-elc.el when redumping is necessary.
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
542 ## We use $(BLDSRC) == `.' here to help keep sync with nt/xemacs.mak,
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
543 ## where $(BLDSRC) is not `.'.
1406
c88a785b01d8 [xemacs-hg @ 2003-04-10 08:46:23 by michaels]
michaels
parents: 1346
diff changeset
544 $(BLDSRC)/NEEDTODUMP: $(RAW_EXE) FRC.needtodump
1346
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
545 $(TEMACS_BATCH) -l $(LISP)/update-elc.el
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
546
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
547 ## (4) Build the DOC file
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
548
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
549 obj_src = $(objs:.o=.c)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
550
1346
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
551 $(LIB_SRC)/make-docfile:
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
552 cd $(LIB_SRC) && $(RECURSIVE_MAKE) make-docfile
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
553
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
554 $(LIB_SRC)/DOC: $(LIB_SRC)/make-docfile $(BLDSRC)/NEEDTODUMP $(temacs_deps)
1303
f99d3d25df86 [xemacs-hg @ 2003-02-15 10:15:54 by ben]
ben
parents: 1261
diff changeset
555 #ifdef QUICK_BUILD
f99d3d25df86 [xemacs-hg @ 2003-02-15 10:15:54 by ben]
ben
parents: 1261
diff changeset
556 if test ! -f $@ ; then \
f99d3d25df86 [xemacs-hg @ 2003-02-15 10:15:54 by ben]
ben
parents: 1261
diff changeset
557 #else
f99d3d25df86 [xemacs-hg @ 2003-02-15 10:15:54 by ben]
ben
parents: 1261
diff changeset
558 if true ; then \
f99d3d25df86 [xemacs-hg @ 2003-02-15 10:15:54 by ben]
ben
parents: 1261
diff changeset
559 #endif
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
560 $(TEMACS_BATCH) -l $(LISP)/make-docfile.el -- \
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
561 -o $(LIB_SRC)/DOC -d $(SRC) -i $(LIB_SRC)/../site-packages \
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
562 $(obj_src) $(mallocdocsrc) $(rallocdocsrc) \
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
563 $(extra_doc_files) ; fi
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
564
1346
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
565 ## (5) Dump
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
566
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
567 $(DUMP_TARGET): $(RAW_EXE) $(BLDSRC)/NEEDTODUMP $(LIB_SRC)/DOC
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
568 #ifdef HEAP_IN_DATA
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
569 @$(RM) $@ && touch SATISFIED
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
570 $(dump_temacs)
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
571 @if test -f SATISFIED; then $(RM) SATISFIED; else $(RM) $@; \
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
572 $(RECURSIVE_MAKE) $@; fi
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
573 #else
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
574 @$(RM) $@
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
575 $(dump_temacs)
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
576 #endif
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
577
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
578 ## (6) Update the remaining .elc's, post-dumping
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
579
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
580 .PHONY: update-elc-2
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
581 update-elc-2: $(DUMP_TARGET)
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
582 $(XEMACS_BATCH) -no-autoloads -l update-elc-2.el -f batch-update-elc-2 $(LISP)
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
583
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
584 ## (7) Other random stuff
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
585
1346
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
586 $(LISP)/finder-inf.el: update-elc-2
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
587 @echo "Building finder database ..."
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
588 $(XEMACS_BATCH) -eval "(setq finder-compile-keywords-quiet t)" \
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
589 -l finder -f finder-compile-keywords
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
590 @echo "Building finder database ...(done)"
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
591
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
592 .PHONY: load-shadows
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
593 load-shadows: update-elc-2
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
594 #ifndef QUICK_BUILD
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
595 @echo "Testing for Lisp shadows ..."
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
596 @$(XEMACS_BATCH) -f list-load-path-shadows
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
597 #endif
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
598
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
599 ###################### Misc targets
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
600
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
601 release: all
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
602 -if [ -w $(LISP) ]; then \
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
603 w=`pwd`; cd $(SRC) && $$w/$(RAW_EXE) -nd $(BATCH) -l $(LISP)/inc-vers; \
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
604 else true; fi
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
605 -$(dump_temacs)
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
606 touch release
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
607
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
608 .PHONY: fastdump
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
609 fastdump: $(RAW_EXE)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
610 @$(RM) $(DUMP_TARGET) && touch SATISFIED
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
611 -$(dump_temacs)
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
612 @$(XEMACS_BATCH) -f list-load-path-shadows
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
613
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
614 .PHONY: all-elc
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
615 all-elc:
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
616 cd .. && $(RECURSIVE_MAKE)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
617
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
618 #########################################################################
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
619 ## Subsidiary dependency rules ##
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
620 #########################################################################
428
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 #ifdef I18N3
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
623
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
624 # if defined(SPARC) && !defined(USG)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
625 xgettext= /usr/openwin/bin/xgettext
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
626 xgettext_args= -o emacs -m_X messages
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
627 msgfmt= /usr/openwin/bin/msgfmt
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
628 # else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
629 xgettext= xgettext
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
630 xgettext_args= -s -d emacs -M_X messages
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
631 msgfmt= msgfmt
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
632 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
633
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
634 $(LIB_SRC)/emacs.po: $(LIB_SRC)/make-msgfile $(LIB_SRC)/make-po $(objs)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
635 $(LIB_SRC)/make-msgfile -o $(LIB_SRC)/messages $(objs)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
636 cd $(LIB_SRC) && $(xgettext) $(xgettext_args)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
637 $(RM) $(LIB_SRC)/emacs.po
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
638 cd $(LIB_SRC) && $(LIB_SRC)/make-po -a $(LIB_SRC)/emacs.po DOC
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
639
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
640 $(LIB_SRC)/emacs.mo: $(LIB_SRC)/emacs.po
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
641 cd $(LIB_SRC)/ && $(msgfmt) -o emacs.mo emacs.po
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
642
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
643 $(LIB_SRC)/make-msgfile:
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
644 cd $(LIB_SRC) && $(RECURSIVE_MAKE) make-msgfile
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
645
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
646 $(LIB_SRC)/make-po:
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
647 cd $(LIB_SRC) && $(RECURSIVE_MAKE) make-po
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
648
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
649 #endif /* I18N3 */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
650
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
651 TopLevelEmacsShell.o : $(SRC)/EmacsShell-sub.c config.h xintrinsicp.h EmacsShellP.h
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
652 $(CC) -c $(cflags) -DDEFINE_TOP_LEVEL_EMACS_SHELL $(SRC)/EmacsShell-sub.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
653 mv EmacsShell-sub.o TopLevelEmacsShell.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
654
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
655 TopLevelEmacsShell.c.rtl : $(SRC)/EmacsShell-sub.c config.h xintrinsicp.h EmacsShellP.h
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
656 $(CC) -dr -c $(cflags) -DDEFINE_TOP_LEVEL_EMACS_SHELL $(SRC)/EmacsShell-sub.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
657 mv EmacsShell-sub.c.rtl TopLevelEmacsShell.c.rtl
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
658
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
659 TransientEmacsShell.o : $(SRC)/EmacsShell-sub.c TopLevelEmacsShell.o config.h xintrinsicp.h EmacsShellP.h
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
660 $(CC) -c $(cflags) -DDEFINE_TRANSIENT_EMACS_SHELL $(SRC)/EmacsShell-sub.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
661 mv EmacsShell-sub.o TransientEmacsShell.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
662
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
663 TransientEmacsShell.c.rtl : $(SRC)/EmacsShell-sub.c TopLevelEmacsShell.o config.h xintrinsicp.h EmacsShellP.h
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
664 $(CC) -dr -c $(cflags) -DDEFINE_TRANSIENT_EMACS_SHELL $(SRC)/EmacsShell-sub.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
665 mv EmacsShell-sub.c.rtl TransientEmacsShell.c.rtl
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
666
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
667 ## 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
668 TransientEmacsShell.o : TopLevelEmacsShell.o
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
669 TransientEmacsShell.c.rtl : TopLevelEmacsShell.c.rtl
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
670
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
671 ## Position-independent code for shared library creation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
672 #if USE_GCC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
673 pic_arg = -fpic
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
674 #elif defined (IRIX)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
675 pic_arg = -KPIC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
676 # else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
677 pic_arg = -K pic
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
678 #endif
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 #ifdef EXTERNAL_WIDGET
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
681
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
682 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
683 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
684 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
685 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
686 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
687 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
688
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
689 ## Add dependencies so things work right with a parallel make
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
690 ExternalClient-Xm-shared.o: $(SRC)/ExternalClient.c ExternalClient-Xt-shared.o ExternalClient-Xm-nonshared.o
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
691 $(CC) -c $(pic_arg) $(cflags) -DEXTW_USES_MOTIF $(SRC)/ExternalClient.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
692 mv ExternalClient.o ExternalClient-Xm-shared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
693
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
694 ExternalClient-Xt-shared.o: $(SRC)/ExternalClient.c ExternalClient-Xt-nonshared.o
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
695 $(CC) -c $(pic_arg) $(cflags) $(SRC)/ExternalClient.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
696 mv ExternalClient.o ExternalClient-Xt-shared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
697
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
698 ExternalClient-Xlib-shared.o: $(SRC)/ExternalClient-Xlib.c ExternalClient-Xlib-nonshared.o
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
699 $(CC) -c $(pic_arg) $(cflags) $(SRC)/ExternalClient-Xlib.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
700 mv ExternalClient-Xlib.o ExternalClient-Xlib-shared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
701
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
702 ExternalClient-Xm-nonshared.o: $(SRC)/ExternalClient.c ExternalClient-Xt-nonshared.o
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
703 $(CC) -c $(cflags) -DEXTW_USES_MOTIF $(SRC)/ExternalClient.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
704 mv ExternalClient.o ExternalClient-Xm-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
705
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
706 ExternalClient-Xt-nonshared.o: $(SRC)/ExternalClient.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
707 $(CC) -c $(cflags) $(SRC)/ExternalClient.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
708 mv ExternalClient.o ExternalClient-Xt-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
709
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
710 ExternalClient-Xlib-nonshared.o: $(SRC)/ExternalClient-Xlib.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
711 $(CC) -c $(cflags) $(SRC)/ExternalClient-Xlib.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
712 mv ExternalClient-Xlib.o ExternalClient-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 ## We compile the common files twice (once with PIC and once without)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
715 ## because on some systems, compiling with PIC but not linking into
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
716 ## a shared library messes things up.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
717
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
718 extw-Xt-shared.o: $(SRC)/extw-Xt.c extw-Xt-nonshared.o
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
719 $(CC) -c $(pic_arg) $(cflags) $(SRC)/extw-Xt.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
720 mv extw-Xt.o extw-Xt-shared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
721
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
722 extw-Xlib-shared.o: $(SRC)/extw-Xlib.c extw-Xlib-nonshared.o
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
723 $(CC) -c $(pic_arg) $(cflags) $(SRC)/extw-Xlib.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
724 mv extw-Xlib.o extw-Xlib-shared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
725
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
726 extw-Xt-nonshared.o: $(SRC)/extw-Xt.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
727 $(CC) -c $(cflags) $(SRC)/extw-Xt.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
728 mv extw-Xt.o extw-Xt-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
729
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
730 extw-Xlib-nonshared.o: $(SRC)/extw-Xlib.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
731 $(CC) -c $(cflags) $(SRC)/extw-Xlib.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
732 mv extw-Xlib.o extw-Xlib-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
733
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
734 libextcli_Xm.a: $(external_client_motif_objs_nonshared)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
735 ar r libextcli_Xm.a $(external_client_motif_objs_nonshared)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
736
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
737 libextcli_Xt.a: $(external_client_xt_objs_nonshared)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
738 ar r libextcli_Xt.a $(external_client_xt_objs_nonshared)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
739
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
740 libextcli_Xlib.a: $(external_client_xlib_objs_nonshared)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
741 ar r libextcli_Xlib.a $(external_client_xlib_objs_nonshared)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
742
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
743 ## Now we try to figure out how to link a shared library.
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
744 ## If we cannot figure it out, leave EXTW_LINK undefined and a shared
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
745 ## library will not be created.
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
746
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
747 # ifdef USE_GCC
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
748 # ifdef USG5
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
749 # define EXTW_LINK(objs, output) $(CC) -shared objs -Xlinker -z -Xlinker text -o output
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
750 extw_link_beg = $(CC) -shared
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
751 extw_link_mid = -Xlinker -z -Xlinker text -o
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
752 extw_link_end =
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
753 ## I cannot figure out how to do shared a.out libraries, so just punt.
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
754 # elif !defined (LINUX) || defined (__ELF__)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
755 # define EXTW_LINK(objs, output) $(CC) -shared objs -o output
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
756 extw_link_beg = $(CC) -shared
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
757 extw_link_mid = -o
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
758 extw_link_end =
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
759 # endif
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
760 # elif defined (USG5)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
761 # if defined (IRIX)
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
762 # define EXTW_LINK(objs, output) $(LD) -shared -g -check_registry $(TOOLROOT)/usr/lib/so_locations objs -o output
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
763 extw_link_beg = $(LD) -shared -g -check_registry $(TOOLROOT)/usr/lib/so_locations
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
764 extw_link_mid = -o
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
765 extw_link_end =
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
766 # else /* not IRIX */
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
767 # define EXTW_LINK(objs, output) $(CC) -G objs -z text -o output
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
768 extw_link_beg = $(CC) -G
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
769 extw_link_mid = -z text -o
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
770 extw_link_end =
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
771 # endif /* not IRIX */
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
772 # else /* not USG5 */
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
773 # if defined (DEC_ALPHA) && defined (OSF1)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
774 # define EXTW_LINK(objs, output) $(LD) $(ldflags) $(ld_switch_shared) -d objs -o output $(LIBES)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
775 extw_link_beg = $(LD) $(ldflags) $(ld_switch_shared) -d
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
776 extw_link_mid = -o
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
777 extw_link_end = $(LIBES)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
778 # else /* !(DEC_ALPHA && OSF1) */
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
779 # define EXTW_LINK(objs, output) $(LD) -dc objs -assert pure-text -o output
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
780 extw_link_beg = $(LD) -dc
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
781 extw_link_mid = -assert pure-text -o
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
782 extw_link_end =
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
783 # endif /* !(DEC_ALPHA && OSF1) */
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
784 # endif /* not USG5 */
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
785
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
786 #ifdef EXTW_LINK
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
787
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
788 libextcli_Xm.so.1: $(external_client_motif_objs_shared)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
789 $(extw_link_beg) $(external_client_motif_objs_shared) $(extw_link_mid) libextcli_Xm.so.1 $(extw_link_end)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
790
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
791 libextcli_Xt.so.1: $(external_client_xt_objs_shared)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
792 $(extw_link_beg) $(external_client_xt_objs_shared) $(extw_link_mid) libextcli_Xt.so.1 $(extw_link_end)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
793
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
794 libextcli_Xlib.so.1: $(external_client_xlib_objs_shared)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
795 $(extw_link_beg) $(external_client_xlib_objs_shared) $(extw_link_mid) libextcli_Xlib.so.1 $(extw_link_end)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
796
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
797 #endif /* EXTW_LINK */
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 #endif /* EXTERNAL_WIDGET */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
800
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
801 config.h: $(SRC)/config.h.in
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
802 Emacs.ad.h: $(ETC)/Emacs.ad
428
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 config.h sheap-adjust.h paths.h Emacs.ad.h :
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
805 @echo "The file $@ needs to be re-generated."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
806 @echo "Please run a make in the top level directory."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
807 @echo "Consult the file \`INSTALL' for instructions for building XEmacs."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
808 @exit 1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
809
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
810 ## Some machines have alloca built-in.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
811 ## They should define HAVE_ALLOCA, or may just let alloca.s
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
812 ## be used but generate no code.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
813 ## Some have it written in assembler in alloca.s.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
814 ## Some use the C version in alloca.c (these define C_ALLOCA in config.h).
851
e7ee5f8bde58 [xemacs-hg @ 2002-05-23 11:46:08 by ben]
ben
parents: 826
diff changeset
815 ## Nowadays we always compile in the C version and use it to avoid stack
e7ee5f8bde58 [xemacs-hg @ 2002-05-23 11:46:08 by ben]
ben
parents: 826
diff changeset
816 ## overflow.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
817
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
818 #ifdef C_ALLOCA
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
819 #else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
820 #ifndef HAVE_ALLOCA
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
821 allocax.o : $(SRC)/alloca.s config.h
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
822 ## $(CPP) is cc -E, which may get confused by filenames
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
823 ## that do not end in .c. So copy file to a safe name. */
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
824 ## cp $(SRC)/alloca.s allocatem.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
825 ## Remove any ^L, blank lines, and preprocessor comments,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
826 ## since some assemblers barf on them. Use a different basename for the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
827 ## output file, since some stupid compilers (Green Hill) use that
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
828 ## name for the intermediate assembler file.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
829 $(CPP) $(cppflags) allocatem.c | \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
830 sed -e 's/ //' -e 's/^#.*//' | \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
831 sed -n -e '/^..*$$/p' > allocax.s
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
832 @$(RM) alloca.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
833 ## Xenix, in particular, needs to run assembler via cc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
834 $(CC) -c allocax.s
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
835 $(RM) allocax.s allocatem.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
836 #endif /* HAVE_ALLOCA */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
837 #endif /* ! defined (C_ALLOCA) */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
838
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
839 #ifdef HAVE_NATIVE_SOUND
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
840 sound_cflags=@sound_cflags@
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
841 sunplay.o: $(SRC)/sunplay.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
842 $(CC) -c $(sound_cflags) $(cflags) $(SRC)/sunplay.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
843 hpplay.o: $(SRC)/hpplay.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
844 $(CC) -c -Demacs $(sound_cflags) $(cflags) $(SRC)/hpplay.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
845 #endif /* HAVE_NATIVE_SOUND */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
846
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
847 #if defined(HAVE_GLADE_GLADE_H) || defined(HAVE_GLADE_H)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
848 glade_files=glade.c
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
849 #endif
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
850
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
851 #ifdef HAVE_GTK
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
852 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
853 #endif
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
854
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
855 xemacs_res.o: $(SRC)/../nt/xemacs.rc
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
856 windres --include-dir $(SRC)/../nt -i $(SRC)/../nt/xemacs.rc -o $@
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
857
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
858 #########################################################################
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
859 ## Other random crap ##
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
860 #########################################################################
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
861
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
862 dortl : $(obj_rtl) $(otherrtls)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
863 echo "(defvar source-files '(" > $(LISP)/source-files.el
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
864 (for a in $(obj_src) $(othersrcs);do \
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
865 echo -n "\""$$a"\"" >> $(LISP)/source-files.el ;\
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
866 done)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
867 echo "))" >> $(LISP)/source-files.el
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
868
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
869 ###################### Lint
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
870 LINT.c=$(LINT) $(LINTFLAGS) $(LINTINCLUDES)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
871 LINTFILES= $(objs:.o=.ln)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
872 LINTINCLUDES = $(cppflags)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
873 ## LINTFLAGS= -fd -m -p -s -u -v -x
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
874 LINTFLAGS= -fd -m -s -u -v -x
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
875 .PHONY: lint
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
876 lint: $(LINTFILES)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
877 $(LINT.c) $(LINTFILES)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
878
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
879 ###################### Automated tests
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
880 testdir = $(SRC)/../tests/automated
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
881 batch_test_emacs = $(BATCH_PACKAGES) -l $(testdir)/test-harness.el -f batch-test-emacs $(testdir)
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
882
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
883 .PHONY: check check-temacs check-features
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
884 check:
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
885 $(DO_XEMACS) $(batch_test_emacs)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
886 check-temacs:
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
887 $(TEMACS_BATCH) $(run_temacs_args) $(batch_test_emacs)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
888 check-features: all
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
889 $(XEMACS_BATCH) -l check-features.el
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
890
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
891 ###################### Debugging targets
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
892
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
893 ## None of the debugging products work with a dumped xemacs binary,
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
894 ## because it does unexpected things like free memory that has been
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
895 ## malloc'ed in a *different* process!! So we need to run these on
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
896 ## temacs.
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
897
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
898 ## RTC is Sun WorkShop's Run Time Checking, integrated with dbx
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
899 rtc_patch.o:
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
900 rtc_patch_area -o $@
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
901
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
902 rtcmacs: $(temacs_deps) rtc_patch.o
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
903 $(RM) $(RAW_EXE); $(RECURSIVE_MAKE) $(RAW_EXE) RTC_patch_objs=rtc_patch.o
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
904 mv $(RAW_EXE) rtcmacs
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
905
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
906 .PHONY: run-rtcmacs
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
907 run-rtcmacs: rtcmacs
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
908 dbx -q -C -c \
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
909 'dbxenv rtc_error_log_file_name /dev/fd/1; \
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
910 dbxenv suppress_startup_message 5.0; \
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
911 ignore POLL; \
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
912 check -access; \
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
913 suppress rui; \
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
914 runargs -nd $(BATCH) $(run_temacs_args) -vanilla; \
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
915 run' rtcmacs
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
916
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
917 debug-temacs: $(RAW_EXE)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
918 -gdb $(RAW_EXE)
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
919
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
920 ## Purify, Quantify, PureCoverage are software quality products from
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
921 ## Rational, formerly Pure Atria, formerly Pure Software.
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
922 ##
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
923 ## Purify
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
924 PURIFY_PROG = purify
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
925 PURIFY_LIBS =
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
926 PURIFY_FLAGS =\
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
927 #ifdef PDUMP
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
928 -search-mmaps=yes\
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
929 #endif
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
930 -chain-length=32 -ignore-signals=SIGPOLL\
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
931 -cache-dir=$(blddir)/purecache -always-use-cache-dir=yes
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
932
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
933 puremacs: $(temacs_deps)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
934 $(PURIFY_PROG) $(PURIFY_FLAGS) $(LD) $(temacs_link_args) $(PURIFY_LIBS)
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
935 cp $@ $(RAW_EXE)
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
936
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
937 ## Quantify
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
938 #ifdef QUANTIFY
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
939 QUANTIFY_PROG = quantify
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
940 QUANTIFY_HOME = `$(QUANTIFY_PROG) -print-home-dir`
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
941 QUANTIFY_FLAGS = -cache-dir=./purecache -always-use-cache-dir=yes
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
942 cppflags += -I$(QUANTIFY_HOME)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
943 temacs_link_args += $(QUANTIFY_HOME)/quantify_stubs.a
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
944
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
945 quantmacs: $(temacs_deps)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
946 $(QUANTIFY_PROG) $(QUANTIFY_FLAGS) $(LD) $(temacs_link_args)
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
947 cp $@ $(RAW_EXE)
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
948 #endif /* QUANTIFY */
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
949
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
950 PURECOV_PROG=purecov
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
951 covmacs: $(temacs_deps)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
952 $(PURECOV_PROG) $(LD) $(temacs_link_args)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
953
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
954 ###################### Clean
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
955
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
956 .PHONY: mostlyclean clean distclean realclean versionclean extraclean
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
957 mostlyclean:
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
958 $(RM) *.o *.i *.rtl *.ln core \
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
959 temacs puremacs quantmacs covmacs rtcmacs temacs.exe \
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
960 sheap-adjust.h dump-id.c $(BLDSRC)/NEEDTODUMP SATISFIED \
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
961 $(LIB_SRC)/*.po $(LIB_SRC)/*.mo
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
962 versionclean:
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
963 $(RM) $(RAW_EXE) $(DUMP_TARGET) $(LIB_SRC)/DOC
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
964 ## Remove the generated load files here; they cause lots of problems
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
965 ## when they don't work right.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
966 clean: mostlyclean versionclean
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
967 $(RM) libextcli* $(LISP)/auto-autoloads.el* $(LISP)/custom-load.el* \
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
968 $(LISP)/mule/auto-autoloads.el* $(LISP)/mule/custom-load.el* \
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
969 $(SRCMODULES)/auto-autoloads.el* $(SRCMODULES)/custom-load.el*
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
970 ## This is used in making a distribution.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
971 ## Do not use it on development directories!
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
972 distclean: clean
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
973 $(RM) config.h paths.h Emacs.ad.h $(LISP)/finder-inf.el* \
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
974 GNUmakefile Makefile Makefile.in TAGS $(PROGNAME).*
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
975 realclean: distclean
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
976 extraclean: realclean
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
977 $(RM) *~ \#* m/*~ m/\#* s/*~ s/\#*
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
978
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
979 ###################### Lock, unlock
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
980
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
981 .PHONY : lock unlock
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
982 SOURCES = *.[chm] *.pswm [sm]/* COPYING paths.h.in Makefile.in.in \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
983 config.h.in README COPYING ChangeLog
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
984 unlock:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
985 chmod u+w $(SOURCES)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
986
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
987 relock:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
988 chmod -w $(SOURCES)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
989
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
990 ###################### Installation
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
991
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
992 ## Header files for ellcc
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
993 #ifdef HAVE_SHLIB
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
994 MAKEPATH=../lib-src/make-path
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
995 install: $(PROGNAME)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
996 $(MAKEPATH) $(archlibdir)/include $(archlibdir)/include/m $(archlibdir)/include/s
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
997 -@echo "Copying include files for ellcc..."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
998 -@hdir=`pwd`; \
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
999 cd $(SRC); hdrdir2=`pwd`; cd $$hdir; \
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1000 test "$$hdrdir2" != "$$hdir" && hdir="$$hdir $$hdrdir2"; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1001 (for thisdir in $$hdir; do \
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1002 cd $$thisdir && \
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1003 (hdrtars=; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1004 for hdrfile in *.h; do \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1005 hdrtars="$$hdrtars $$hdrfile"; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1006 done; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1007 test -d s && hdrtars="$$hdrtars s/*"; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1008 test -d m && hdrtars="$$hdrtars m/*"; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1009 test -n "$$hdrtars" && (tar cf - $$hdrtars) | \
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1010 (cd $(archlibdir)/include && umask 022 && tar xf -); \
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1011 chmod 755 $(archlibdir)/include; \
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1012 test -d $(archlibdir)/include/s && \
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1013 chmod 755 $(archlibdir)/include/s; \
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1014 test -d $(archlibdir)/include/m && \
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1015 chmod 755 $(archlibdir)/include/s;) \
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1016 done)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1017 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1018
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1019 ###################### Dependencies
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1020
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1021 ## Dependency processing using home-grown script, not makedepend
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1022 .PHONY: depend
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1023 FRC.depend:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1024 depend: FRC.depend
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1025 cd $(SRC) && $(RM) depend.tmp && \
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1026 perl ./make-src-depend > depend.tmp && \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1027 if cmp -s depend depend.tmp; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1028 then $(RM) depend.tmp; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1029 else $(RM) depend && mv depend.tmp depend; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1030 fi
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1031
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1032 ###################### Unicode encapsulation
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1033
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1034 .PHONY: unicode-encapsulate
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1035 FRC.unicode-encapsulate:
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1036 unicode-encapsulate: FRC.unicode-encapsulate
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1037 cd $(SRC) && \
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1038 perl ../lib-src/make-mswin-unicode.pl --c-output intl-auto-encap-win32.c --h-output intl-auto-encap-win32.h intl-encap-win32.c