annotate src/Makefile.in.in @ 4792:95b04754ea8c

Make #'equalp more compatible with CL; add a compiler macro, test & doc it. lisp/ChangeLog addition: 2009-11-08 Aidan Kehoe <kehoea@parhasard.net> * cl-extra.el (cl-string-vector-equalp) (cl-bit-vector-vector-equalp, cl-vector-array-equalp) (cl-hash-table-contents-equalp): New functions, to implement equalp treating arrays with identical contents as equivalent, as specified by Common Lisp. (equalp): Revise this function to implement array equivalence, and the hash-table equalp behaviour specified by CL. * cl-macs.el (equalp): Add a compiler macro for this function, used when one of the arguments is constant, and as such, its type is known at compile time. man/ChangeLog addition: 2009-11-08 Aidan Kehoe <kehoea@parhasard.net> * lispref/objects.texi (Equality Predicates): Document #'equalp here, as well as #'equal and #'eq. tests/ChangeLog addition: 2009-12-31 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: Test much of the functionality of equalp; add a pointer to Paul Dietz' ANSI test suite for this function, converted to Emacs Lisp. Not including the tests themselves in XEmacs because who owns the copyright on the files is unclear and the GCL people didn't respond to my queries.
author Aidan Kehoe <kehoea@parhasard.net>
date Thu, 31 Dec 2009 15:09:41 +0000
parents bc4f2511bbea
children bde90bc762f2
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.
3062
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 3010
diff changeset
6 ## Copyright (C) 2001, 2002, 2003, 2005 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
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
36 RECURSIVE_MAKE_ARGS=
428
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@
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
39 RECURSIVE_MAKE_ARGS=@RECURSIVE_MAKE_ARGS@
428
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@
1889
bf8be6575eae [xemacs-hg @ 2004-01-28 11:20:34 by stephent]
stephent
parents: 1750
diff changeset
49 CFLAGS=@XE_CFLAGS@
428
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
3094
ad2f4ae9895b [xemacs-hg @ 2005-11-26 11:45:47 by stephent]
stephent
parents: 3092
diff changeset
136 #ifdef USE_XFT
3354
15fb91e3a115 [xemacs-hg @ 2006-04-23 16:11:16 by stephent]
stephent
parents: 3263
diff changeset
137 x_objs += font-mgr.o
3094
ad2f4ae9895b [xemacs-hg @ 2005-11-26 11:45:47 by stephent]
stephent
parents: 3092
diff changeset
138 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
139 x_gui_objs=$(gui_objs:.o=-x.o)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
140 #ifdef HAVE_TOOLBARS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
141 x_gui_objs += toolbar-common.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
142 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
143 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
144
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
145 #ifdef HAVE_MS_WINDOWS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
146 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
147 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
148 mswindows_gui_objs=$(gui_objs:.o=-msw.o)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
149 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
150
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
151 #ifdef HAVE_TTY
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
152 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
153 redisplay-tty.o cm.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
154 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
155
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
156 #ifdef HAVE_GTK
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
157 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
158 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
159 gtk-xemacs.o ui-gtk.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
160 gtk_gui_objs=$(gui_objs:.o=-gtk.o)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
161 #ifdef HAVE_TOOLBARS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
162 gtk_gui_objs += toolbar-common.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
163 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
164 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
165
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
166 #ifdef HAVE_BALLOON_HELP
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
167 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
168 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
169
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
170 #ifdef CLASH_DETECTION
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
171 clash_detection_objs=filelock.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
172 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
173
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
174 #ifdef HAVE_DATABASE
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
175 database_objs=database.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
176 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
177
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
178 #ifdef DEBUG_XEMACS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
179 debug_objs=debug.o tests.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
180 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
181
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
182 #ifdef HAVE_UNIXOID_EVENT_LOOP
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
183 event_unixoid_objs=event-unixoid.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
184 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
185
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
186 #ifdef HAVE_GPM
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
187 gpm_objs=gpmevent.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
188 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
189
996
25e260cb7994 [xemacs-hg @ 2002-09-10 15:27:02 by james]
james
parents: 853
diff changeset
190 #if defined(HAVE_LDAP) && !defined(HAVE_SHLIB)
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
191 ldap_objs=$(BLDMODULES)/ldap/eldap.o
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
192 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
193
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
194 #ifdef MULE
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
195 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
196 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
197
2973
414a64af46c9 [xemacs-hg @ 2005-10-04 17:51:13 by stephent]
stephent
parents: 2958
diff changeset
198 #if defined(HAVE_CANNA) && !defined(HAVE_SHLIB)
3010
bd7174adf0f2 [xemacs-hg @ 2005-10-21 15:48:28 by stephent]
stephent
parents: 2973
diff changeset
199 mule_canna_objs=$(BLDMODULES)/canna/canna_api.o
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
200 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
201
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
202 #ifdef HAVE_WNN
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
203 mule_wnn_objs=mule-wnnfns.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
204 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
205
1983
9c872f33ecbe [xemacs-hg @ 2004-04-05 22:49:31 by james]
james
parents: 1889
diff changeset
206 #ifdef WITH_GMP
9c872f33ecbe [xemacs-hg @ 2004-04-05 22:49:31 by james]
james
parents: 1889
diff changeset
207 number_objs=number-gmp.o number.o
9c872f33ecbe [xemacs-hg @ 2004-04-05 22:49:31 by james]
james
parents: 1889
diff changeset
208 #endif
9c872f33ecbe [xemacs-hg @ 2004-04-05 22:49:31 by james]
james
parents: 1889
diff changeset
209 #ifdef WITH_MP
9c872f33ecbe [xemacs-hg @ 2004-04-05 22:49:31 by james]
james
parents: 1889
diff changeset
210 number_objs=number-mp.o number.o
9c872f33ecbe [xemacs-hg @ 2004-04-05 22:49:31 by james]
james
parents: 1889
diff changeset
211 #endif
9c872f33ecbe [xemacs-hg @ 2004-04-05 22:49:31 by james]
james
parents: 1889
diff changeset
212
996
25e260cb7994 [xemacs-hg @ 2002-09-10 15:27:02 by james]
james
parents: 853
diff changeset
213 #if defined(HAVE_POSTGRESQL) && !defined(HAVE_SHLIB)
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
214 postgresql_objs=$(BLDMODULES)/postgresql/postgresql.o
771
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_WIN32_PROCESSES
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
218 process_objs=process-nt.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
219 #elif defined (HAVE_UNIX_PROCESSES)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
220 process_objs=process-unix.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
221 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
222
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
223 #ifdef HAVE_SETITIMER
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
224 profile_objs=profile.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
225 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
226
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
227 #if defined (HEAP_IN_DATA) && !defined (PDUMP)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
228 sheap_objs=sheap.o
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
229 #endif
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
230
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
231 #ifdef HAVE_SHLIB
1750
7580e52a8218 [xemacs-hg @ 2003-10-15 03:09:02 by james]
james
parents: 1727
diff changeset
232 shlib_objs=sysdll.o
1632
64eaceca611d [xemacs-hg @ 2003-08-19 02:07:03 by james]
james
parents: 1406
diff changeset
233 # ifdef HAVE_MS_WINDOWS
64eaceca611d [xemacs-hg @ 2003-08-19 02:07:03 by james]
james
parents: 1406
diff changeset
234 export_lib=xemacs-export.o
64eaceca611d [xemacs-hg @ 2003-08-19 02:07:03 by james]
james
parents: 1406
diff changeset
235 xemacs-export.o: xemacs.def
64eaceca611d [xemacs-hg @ 2003-08-19 02:07:03 by james]
james
parents: 1406
diff changeset
236 dlltool -D xemacs-${version}.exe -d $< -l xemacs-import.a -e $@
64eaceca611d [xemacs-hg @ 2003-08-19 02:07:03 by james]
james
parents: 1406
diff changeset
237 # endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
238 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
239
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
240 #ifdef SUNPRO
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
241 sunpro_objs=sunpro.o
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
242 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
243
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
244 #ifdef TOOLTALK
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
245 tooltalk_objs=tooltalk.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
246 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
247
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
248 #if defined (WIN32_NATIVE) || defined (CYGWIN)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
249 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
250 xemacs_res.o
611
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 606
diff changeset
251 #endif
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 606
diff changeset
252
3092
141c2920ea48 [xemacs-hg @ 2005-11-25 01:41:31 by crestani]
crestani
parents: 3083
diff changeset
253 #ifdef NEW_GC
3263
d674024a8674 [xemacs-hg @ 2006-02-27 16:29:00 by crestani]
crestani
parents: 3094
diff changeset
254 new_gc_objs=mc-alloc.o vdb.o
3092
141c2920ea48 [xemacs-hg @ 2005-11-25 01:41:31 by crestani]
crestani
parents: 3083
diff changeset
255 # if defined (WIN32_ANY) || defined (VDB_WIN32)
141c2920ea48 [xemacs-hg @ 2005-11-25 01:41:31 by crestani]
crestani
parents: 3083
diff changeset
256 vdb_objs=vdb-win32.o
141c2920ea48 [xemacs-hg @ 2005-11-25 01:41:31 by crestani]
crestani
parents: 3083
diff changeset
257 # elif defined (VDB_MACH)
141c2920ea48 [xemacs-hg @ 2005-11-25 01:41:31 by crestani]
crestani
parents: 3083
diff changeset
258 vdb_objs=vdb-mach.o
141c2920ea48 [xemacs-hg @ 2005-11-25 01:41:31 by crestani]
crestani
parents: 3083
diff changeset
259 # elif defined (VDB_POSIX)
141c2920ea48 [xemacs-hg @ 2005-11-25 01:41:31 by crestani]
crestani
parents: 3083
diff changeset
260 vdb_objs=vdb-posix.o
141c2920ea48 [xemacs-hg @ 2005-11-25 01:41:31 by crestani]
crestani
parents: 3083
diff changeset
261 # else /* VDB_FAKE */
141c2920ea48 [xemacs-hg @ 2005-11-25 01:41:31 by crestani]
crestani
parents: 3083
diff changeset
262 vdb_objs=vdb-fake.o
141c2920ea48 [xemacs-hg @ 2005-11-25 01:41:31 by crestani]
crestani
parents: 3083
diff changeset
263 # endif
141c2920ea48 [xemacs-hg @ 2005-11-25 01:41:31 by crestani]
crestani
parents: 3083
diff changeset
264 #endif /* NEW_GC */
141c2920ea48 [xemacs-hg @ 2005-11-25 01:41:31 by crestani]
crestani
parents: 3083
diff changeset
265
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
266 ## lastfile must follow all files whose initialized data areas should
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
267 ## be dumped as pure by dump-emacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
268
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
269 ## NOTE: The last line cannot be all macros, because make will barf
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
270 ## if they all come out null.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
271
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
272 objs=\
851
e7ee5f8bde58 [xemacs-hg @ 2002-05-23 11:46:08 by ben]
ben
parents: 826
diff changeset
273 abbrev.o alloc.o alloca.o \
e7ee5f8bde58 [xemacs-hg @ 2002-05-23 11:46:08 by ben]
ben
parents: 826
diff changeset
274 $(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
275 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
276 $(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
277 console-stream.o\
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
278 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
279 dynarr.o \
1750
7580e52a8218 [xemacs-hg @ 2003-10-15 03:09:02 by james]
james
parents: 1727
diff changeset
280 editfns.o elhash.o emacs.o emodules.o eval.o events.o\
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
281 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
282 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
283 font-lock.o frame.o\
4708
1cecc3e9f0a0 Use giflib or libungif to provide GIF support, instead of using internal
Jerry James <james@xemacs.org>
parents: 3986
diff changeset
284 gc.o general.o 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
285 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
286 gutter.o\
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
287 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
288 keymap.o $(RTC_patch_objs) line-number.o $(ldap_objs) lread.o lstream.o\
3263
d674024a8674 [xemacs-hg @ 2006-02-27 16:29:00 by crestani]
crestani
parents: 3094
diff changeset
289 $(new_gc_objs) $(vdb_objs) \
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
290 macros.o marker.o md5.o minibuf.o $(mswindows_objs) $(mswindows_gui_objs)\
1983
9c872f33ecbe [xemacs-hg @ 2004-04-05 22:49:31 by james]
james
parents: 1889
diff changeset
291 $(mule_objs) $(mule_canna_objs) $(mule_wnn_objs) $(number_objs) objects.o\
9c872f33ecbe [xemacs-hg @ 2004-04-05 22:49:31 by james]
james
parents: 1889
diff changeset
292 opaque.o $(postgresql_objs) print.o process.o $(process_objs) $(profile_objs)\
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
293 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
294 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
295 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
296 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
297 widget.o window.o $(win32_objs)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
298
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
299 obj_rtl = $(objs:.o=.c.rtl)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
300
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
301 #ifdef REL_ALLOC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
302 rallocdocsrc = ralloc.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
303 rallocobjs = ralloc.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
304 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
305
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
306 malloclib = $(libmcheck)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
307 #ifndef SYSTEM_MALLOC
4735
80d74fed5399 Remove "old" GNU malloc in src/malloc.c, and all references to it. Drop the
Jerry James <james@xemacs.org>
parents: 4708
diff changeset
308 # ifdef ERROR_CHECK_MALLOC
80d74fed5399 Remove "old" GNU malloc in src/malloc.c, and all references to it. Drop the
Jerry James <james@xemacs.org>
parents: 4708
diff changeset
309 # ifdef DOUG_LEA_MALLOC
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
310 mallocobjs = free-hook.o vm-limit.o
4735
80d74fed5399 Remove "old" GNU malloc in src/malloc.c, and all references to it. Drop the
Jerry James <james@xemacs.org>
parents: 4708
diff changeset
311 # else
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
312 mallocobjs = gmalloc.o free-hook.o vm-limit.o
4735
80d74fed5399 Remove "old" GNU malloc in src/malloc.c, and all references to it. Drop the
Jerry James <james@xemacs.org>
parents: 4708
diff changeset
313 # endif
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
314 mallocdocsrc = free-hook.c
4735
80d74fed5399 Remove "old" GNU malloc in src/malloc.c, and all references to it. Drop the
Jerry James <james@xemacs.org>
parents: 4708
diff changeset
315 # else /* GNU malloc, sans error checking */
80d74fed5399 Remove "old" GNU malloc in src/malloc.c, and all references to it. Drop the
Jerry James <james@xemacs.org>
parents: 4708
diff changeset
316 # ifdef DOUG_LEA_MALLOC
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
317 mallocobjs = vm-limit.o
4735
80d74fed5399 Remove "old" GNU malloc in src/malloc.c, and all references to it. Drop the
Jerry James <james@xemacs.org>
parents: 4708
diff changeset
318 # else
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
319 mallocobjs = gmalloc.o vm-limit.o
4735
80d74fed5399 Remove "old" GNU malloc in src/malloc.c, and all references to it. Drop the
Jerry James <james@xemacs.org>
parents: 4708
diff changeset
320 # endif
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
321 mallocdocsrc =
4735
80d74fed5399 Remove "old" GNU malloc in src/malloc.c, and all references to it. Drop the
Jerry James <james@xemacs.org>
parents: 4708
diff changeset
322 # endif /* ERROR_CHECK_MALLOC */
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
323 #else /* SYSTEM_MALLOC */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
324 mallocobjs =
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
325 mallocdocsrc =
4735
80d74fed5399 Remove "old" GNU malloc in src/malloc.c, and all references to it. Drop the
Jerry James <james@xemacs.org>
parents: 4708
diff changeset
326 # ifdef USE_DEBUG_MALLOC
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
327 malloclib = -ldmalloc
4735
80d74fed5399 Remove "old" GNU malloc in src/malloc.c, and all references to it. Drop the
Jerry James <james@xemacs.org>
parents: 4708
diff changeset
328 # endif /* USE_DEBUG_MALLOC */
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
329 #endif /* SYSTEM_MALLOC */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
330
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
331 #ifdef HAVE_X_WINDOWS
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
332
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
333 lwlib_lib = ../lwlib/liblw.a
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
334
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
335 # ifdef EXTERNAL_WIDGET
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
336 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
337
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
338 # ifdef LWLIB_USES_MOTIF
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
339 # ifdef EXTW_LINK
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
340 motif_other_files = libextcli_Xm.a libextcli_Xm.so.1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
341 # else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
342 motif_other_files = libextcli_Xm.a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
343 # endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
344 #endif /* LWLIB_USES_MOTIF */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
345
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
346 # ifdef EXTW_LINK
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
347 shared_other_files = libextcli_Xt.so.1 libextcli_Xlib.so.1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
348 # endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
349 other_files=\
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
350 $(motif_other_files)\
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
351 libextcli_Xt.a libextcli_Xlib.a\
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
352 $(shared_other_files)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
353
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
354 # endif /* EXTERNAL_WIDGET */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
355
4790
bc4f2511bbea Remove support for the OffiX drag-and-drop protocol. See xemacs-patches
Jerry James <james@xemacs.org>
parents: 4759
diff changeset
356 # if defined (HAVE_CDE)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
357 dnd_objs = @dnd_objs@
4790
bc4f2511bbea Remove support for the OffiX drag-and-drop protocol. See xemacs-patches
Jerry James <james@xemacs.org>
parents: 4759
diff changeset
358 # endif /* HAVE_CDE */
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
359
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
360 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
361 #endif /* HAVE_X_WINDOWS */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
362
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
363 ## define otherobjs as list of object files that make-docfile
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
364 ## should not be told about.
1632
64eaceca611d [xemacs-hg @ 2003-08-19 02:07:03 by james]
james
parents: 1406
diff changeset
365 otherobjs = lastfile.o $(mallocobjs) $(rallocobjs) $(X11_objs) $(export_lib)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
366 otherrtls = $(otherobjs:.o=.c.rtl)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
367 othersrcs = $(otherobjs:.o=.c)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
368
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
369 LIBES = $(lwlib_lib) $(malloclib) $(ld_libs_all) $(lib_gcc)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
370
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
371 #ifdef I18N3
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
372 mo_file = $(LIB_SRC)/emacs.mo
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
373 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
374
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
375 #########################################################################
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
376 ## Implicit rules ##
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
377 #########################################################################
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
378
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
379 ## For performance and consistency, no built-in rules.
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
380 .SUFFIXES:
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
381 .SUFFIXES: .c .h .o .i .s .dep
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
382
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
383 ## -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
384 ## for use in Emacs.
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
385
2958
9e04ad6a1ac6 [xemacs-hg @ 2005-09-27 05:35:24 by ben]
ben
parents: 2720
diff changeset
386 cppflags = $(CPPFLAGS) -Demacs -I. -I$(SRC) $(c_switch_all)
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
387 cflags = $(CFLAGS) $(cppflags)
2502
261c5cd19207 [xemacs-hg @ 2005-01-26 03:40:10 by ben]
ben
parents: 2427
diff changeset
388 #if defined (WIN32_NATIVE)
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
389 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
390 #else
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
391 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
392 #endif
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
393
2502
261c5cd19207 [xemacs-hg @ 2005-01-26 03:40:10 by ben]
ben
parents: 2427
diff changeset
394 #if defined (CYGWIN) && !defined (PDUMP)
261c5cd19207 [xemacs-hg @ 2005-01-26 03:40:10 by ben]
ben
parents: 2427
diff changeset
395 ldflags += -Wl,--script=s/cygwin.sc
261c5cd19207 [xemacs-hg @ 2005-01-26 03:40:10 by ben]
ben
parents: 2427
diff changeset
396 #endif
261c5cd19207 [xemacs-hg @ 2005-01-26 03:40:10 by ben]
ben
parents: 2427
diff changeset
397
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
398 #ifdef SOLARIS2
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
399 %.o : %.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
400 #else
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
401 .c.o:
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
402 #endif
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
403 $(CC) -c $(cflags) $<
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
404
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
405 ## Create preprocessor output (debugging purposes only)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
406 .c.i:
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
407 #ifdef __GNUC__
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
408 $(CC) -E $(cppflags) -o $@ $<
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
409 #else /* works on Solaris; what about other systems? */
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
410 $(CC) -P $(cppflags) $<
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
411 #endif /* compiler */
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 ## Create assembler output (debugging purposes only)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
414 .c.s:
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
415 $(CC) -S -c $(cflags) $<
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
416
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
417 ## Create RTL files
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
418 %.c.rtl : %.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
419 $(CC) -dr -c $(cflags) $<
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
420
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
421 #########################################################################
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
422 ## Primary rebuilding process ##
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
423 #########################################################################
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
424
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
425 #ifdef PDUMP
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
426 DUMP_TARGET = $(PROGNAME).dmp
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
427 RAW_EXE = $(PROGNAME)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
428 DUMP_ID = dump-id.o
2720
6fa9919a9a0b [xemacs-hg @ 2005-04-08 23:10:01 by crestani]
crestani
parents: 2644
diff changeset
429 #if !defined(WIN32_NATIVE) && defined(DUMP_IN_EXEC)
2015
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
430 DUMP_TARGET = $(PROGNAME)
2388
cfff883d4990 [xemacs-hg @ 2004-11-14 12:19:55 by crestani]
crestani
parents: 2259
diff changeset
431 #ifndef CYGWIN
2015
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
432 RAW_EXE = temacs
2388
cfff883d4990 [xemacs-hg @ 2004-11-14 12:19:55 by crestani]
crestani
parents: 2259
diff changeset
433 #else
cfff883d4990 [xemacs-hg @ 2004-11-14 12:19:55 by crestani]
crestani
parents: 2259
diff changeset
434 RAW_EXE = temacs.exe
cfff883d4990 [xemacs-hg @ 2004-11-14 12:19:55 by crestani]
crestani
parents: 2259
diff changeset
435 #endif
2015
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
436 #endif
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
437 #else
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
438 DUMP_TARGET = $(PROGNAME)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
439 RAW_EXE = temacs
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
440 #endif
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
441
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
442 DO_TEMACS = $(DUMPENV) ./$(RAW_EXE)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
443 DO_XEMACS = ./$(PROGNAME)
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
444
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
445 BATCH = -no-packages -batch
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
446 BATCH_PACKAGES = -vanilla -batch
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
447 TEMACS_BATCH = $(DO_TEMACS) -nd $(BATCH)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
448 XEMACS_BATCH = $(DO_XEMACS) $(BATCH)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
449 XEMACS_BATCH_PACKAGES = $(DO_XEMACS) $(BATCH_PACKAGES)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
450 temacs_loadup_args = -l $(LISP)/loadup.el
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
451 dump_temacs_args = $(temacs_loadup_args) dump
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
452 run_temacs_args = $(temacs_loadup_args) run-temacs
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
453 dump_temacs = $(TEMACS_BATCH) $(dump_temacs_args)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
454
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
455 ## 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
456
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
457 ## 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
458 ## 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
459 ## 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
460 ## 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
461 ## the following first:
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
462
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: 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: FRC.test.c (`make' only)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
467 ##FRC.test.c:
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
468 ##
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
469 ##test.c: FRC.test.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
470 ## 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
471 ## 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
472 ##
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
473 ##test.obj: test.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
474 ## touch test.obj
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
475 ##
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
476 ##test.exe: test.obj
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
477 ## touch test.exe
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
478
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
479 ## (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
480 ## 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
481
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
482 ## 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
483 ## Running `nmake -f Makefile' rebuilds it regardless.
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
484
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
485 ## 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
486 ## 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
487 ## 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
488 ## 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
489
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
490 ## On the other hand, consider the following:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
491
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
492 ##.PHONY: all (`make' only)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
493 ##all: check-foo test.exe
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
494 ##
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
495 ##.PHONY: check-foo (`make' only)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
496 ##check-foo:
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
497 ## 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
498 ## 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
499 ##
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
500 ##test.c:
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
501 ## touch test.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
502 ##
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
503 ##test.obj: test.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
504 ## touch test.obj
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
505 ##
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
506 ##test.exe: test.c test.obj
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
507 ## touch test.exe
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
508 ##
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
509
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
510 ## 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
511 ## `foo' doesn't exist.
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
512 ## 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
513 ## test.obj and test.exe all exist.
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
514
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
515 ## 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
516 ## 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
517 ## 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
518 ## 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
519 ## 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
520 ## a dependency, only recheck relationships involving that particular
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
521 ## dependency.
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
522
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
523 ## 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
524 ## 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
525 ## 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
526
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
527 ## -ben
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
528
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
529 .PHONY: build-the-mofo
1346
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
530 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
531
1346
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
532 ## (1) Compile all dependencies of the XEmacs executable
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
533
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
534 #ifdef HAVE_X_WINDOWS
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
535 lwlib_deps = $(lwlib_lib)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
536 $(lwlib_lib):
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
537 cd ../lwlib && $(MAKE) $(RECURSIVE_MAKE_ARGS)
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
538 #endif /* HAVE_X_WINDOWS */
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
539
4759
aa5ed11f473b Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents: 4754
diff changeset
540 link_deps = $(start_files) $(objs) $(otherobjs) $(lwlib_deps)
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
541
1346
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
542 $(LIB_SRC)/make-dump-id:
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
543 cd $(LIB_SRC) && $(MAKE) $(RECURSIVE_MAKE_ARGS) make-dump-id
1346
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
544
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
545 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
546 $(LIB_SRC)/make-dump-id
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
547
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
548 ## (2) Link the XEmacs executable
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
549
2720
6fa9919a9a0b [xemacs-hg @ 2005-04-08 23:10:01 by crestani]
crestani
parents: 2644
diff changeset
550 #if !defined(PDUMP) || !defined(DUMP_IN_EXEC) || defined(WIN32_NATIVE)
2015
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
551 $(RAW_EXE): $(link_deps) $(DUMP_ID)
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
552 $(LD) $(start_flags) $(ldflags) -o $@ $(start_files) $(objs) $(otherobjs) $(DUMP_ID) $(LIBES)
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
553 #else
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
554 $(RAW_EXE): $(link_deps) $(DUMP_ID)
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
555 if test -f dump-size ; then \
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
556 $(CC) -c $(cflags) -DMAX_SIZE=`cat dump-size` $(SRC)/dump-data.c ;\
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
557 else \
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
558 $(CC) -c $(cflags) -DMAX_SIZE=0 $(SRC)/dump-data.c ;\
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
559 fi
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
560 $(LD) $(start_flags) $(ldflags) -o $@ $(start_files) $(objs) $(otherobjs) $(DUMP_ID) dump-data.o $(LIBES)
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
561 #endif
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
562
1346
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
563 ## (3) Update the .elc's needed for dumping
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
564
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
565 .PHONY: FRC.needtodump
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
566 FRC.needtodump:
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
567
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
568 ## 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
569 ## 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
570 ## where $(BLDSRC) is not `.'.
1406
c88a785b01d8 [xemacs-hg @ 2003-04-10 08:46:23 by michaels]
michaels
parents: 1346
diff changeset
571 $(BLDSRC)/NEEDTODUMP: $(RAW_EXE) FRC.needtodump
1346
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
572 $(TEMACS_BATCH) -l $(LISP)/update-elc.el
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
573
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
574 ## (4) Build the DOC file
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
575
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
576 obj_src = $(objs:.o=.c)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
577
1346
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
578 $(LIB_SRC)/make-docfile:
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
579 cd $(LIB_SRC) && $(MAKE) $(RECURSIVE_MAKE_ARGS) make-docfile
1346
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
580
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
581 $(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
582 #ifdef QUICK_BUILD
f99d3d25df86 [xemacs-hg @ 2003-02-15 10:15:54 by ben]
ben
parents: 1261
diff changeset
583 if test ! -f $@ ; then \
f99d3d25df86 [xemacs-hg @ 2003-02-15 10:15:54 by ben]
ben
parents: 1261
diff changeset
584 #else
f99d3d25df86 [xemacs-hg @ 2003-02-15 10:15:54 by ben]
ben
parents: 1261
diff changeset
585 if true ; then \
f99d3d25df86 [xemacs-hg @ 2003-02-15 10:15:54 by ben]
ben
parents: 1261
diff changeset
586 #endif
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
587 $(TEMACS_BATCH) -l $(LISP)/make-docfile.el -- \
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
588 -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
589 $(obj_src) $(mallocdocsrc) $(rallocdocsrc) \
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
590 $(extra_doc_files) ; fi
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
591
1346
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
592 ## (5) Dump
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
593
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
594 $(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
595 #ifdef HEAP_IN_DATA
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
596 @$(RM) $@ && touch SATISFIED
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
597 $(dump_temacs)
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
598 @if test -f SATISFIED; then $(RM) SATISFIED; else $(RM) $@; \
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
599 $(MAKE) $(RECURSIVE_MAKE_ARGS) $@; fi
1346
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
600 #else
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
601 @$(RM) $@
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
602 $(dump_temacs)
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
603 #endif
2720
6fa9919a9a0b [xemacs-hg @ 2005-04-08 23:10:01 by crestani]
crestani
parents: 2644
diff changeset
604 #if defined(PDUMP) && defined(DUMP_IN_EXEC) && !defined(WIN32_NATIVE)
2015
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
605 if test -f dump-size; then \
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
606 $(LIB_SRC)/insert-data-in-exec $(RAW_EXE) $(DUMP_TARGET).dmp $(DUMP_TARGET) `$(DO_TEMACS) -si`; \
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
607 ret=$$? ; \
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
608 if test $${ret} -eq 2; then \
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
609 $(RM) dump-size ; \
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
610 else \
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
611 if test $${ret} -eq 1; then \
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
612 exit 1; \
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
613 else \
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
614 chmod +x $(DUMP_TARGET) ; \
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
615 fi ; \
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
616 fi ; \
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
617 fi
2644
0b4097b3552f [xemacs-hg @ 2005-03-10 09:05:44 by michaels]
michaels
parents: 2502
diff changeset
618 if test ! -f dump-size; then \
2015
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
619 $(LIB_SRC)/insert-data-in-exec -s $(DUMP_TARGET).dmp > dump-size ; \
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
620 $(RM) dump-data.o $(DUMP_TARGET) $(DUMP_TARGET).dmp $(RAW_EXE);\
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
621 $(MAKE) $(RECURSIVE_MAKE_ARGS) $@; \
2015
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
622 fi
2364237fbc0f [xemacs-hg @ 2004-04-15 20:56:17 by olivierg]
olivierg
parents: 1983
diff changeset
623 #endif
1346
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
624
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
625 ## (6) Update the remaining .elc's, post-dumping
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
626
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
627 .PHONY: update-elc-2
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
628 update-elc-2: $(DUMP_TARGET)
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
629 $(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
630
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
631 ## (7) Other random stuff
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
632
1346
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
633 $(LISP)/finder-inf.el: update-elc-2
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
634 @echo "Building finder database ..."
2027
71477bc21fe8 [xemacs-hg @ 2004-04-19 06:40:42 by stephent]
stephent
parents: 2015
diff changeset
635 $(RM) $(LISP)/finder-inf.el
1346
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
636 $(XEMACS_BATCH) -eval "(setq finder-compile-keywords-quiet t)" \
3986
b14c8c2d6597 [xemacs-hg @ 2007-05-25 16:35:23 by scop]
scop
parents: 3354
diff changeset
637 -eval "(setq lisp-directory \"$(LISP)\")" \
1346
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
638 -l finder -f finder-compile-keywords
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
639 @echo "Building finder database ...(done)"
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
640
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
641 .PHONY: load-shadows
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
642 load-shadows: update-elc-2
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
643 #ifndef QUICK_BUILD
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
644 @echo "Testing for Lisp shadows ..."
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
645 @$(XEMACS_BATCH) -f list-load-path-shadows
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
646 #endif
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
647
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
648 ###################### Misc targets
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
649
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
650 release: all
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
651 -if [ -w $(LISP) ]; then \
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
652 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
653 else true; fi
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
654 -$(dump_temacs)
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1330
diff changeset
655 touch release
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
656
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
657 .PHONY: fastdump
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
658 fastdump: $(RAW_EXE)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
659 @$(RM) $(DUMP_TARGET) && touch SATISFIED
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
660 -$(dump_temacs)
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
661 @$(XEMACS_BATCH) -f list-load-path-shadows
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
662
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
663 .PHONY: all-elc
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
664 all-elc:
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
665 cd .. && $(MAKE) $(RECURSIVE_MAKE_ARGS)
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
666
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
667 #########################################################################
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
668 ## Subsidiary dependency rules ##
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
669 #########################################################################
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
670
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
671 #ifdef I18N3
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
672
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
673 # if defined(SPARC) && !defined(USG)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
674 xgettext= /usr/openwin/bin/xgettext
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
675 xgettext_args= -o emacs -m_X messages
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
676 msgfmt= /usr/openwin/bin/msgfmt
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
677 # else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
678 xgettext= xgettext
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
679 xgettext_args= -s -d emacs -M_X messages
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
680 msgfmt= msgfmt
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
681 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
682
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
683 $(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
684 $(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
685 cd $(LIB_SRC) && $(xgettext) $(xgettext_args)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
686 $(RM) $(LIB_SRC)/emacs.po
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
687 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
688
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
689 $(LIB_SRC)/emacs.mo: $(LIB_SRC)/emacs.po
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
690 cd $(LIB_SRC)/ && $(msgfmt) -o emacs.mo emacs.po
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
691
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
692 $(LIB_SRC)/make-msgfile:
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
693 cd $(LIB_SRC) && $(MAKE) $(RECURSIVE_MAKE_ARGS) make-msgfile
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
694
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
695 $(LIB_SRC)/make-po:
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
696 cd $(LIB_SRC) && $(MAKE) $(RECURSIVE_MAKE_ARGS) make-po
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
697
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
698 #endif /* I18N3 */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
699
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
700 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
701 $(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
702 mv EmacsShell-sub.o TopLevelEmacsShell.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
703
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
704 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
705 $(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
706 mv EmacsShell-sub.c.rtl TopLevelEmacsShell.c.rtl
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
707
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
708 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
709 $(CC) -c $(cflags) -DDEFINE_TRANSIENT_EMACS_SHELL $(SRC)/EmacsShell-sub.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
710 mv EmacsShell-sub.o TransientEmacsShell.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
711
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
712 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
713 $(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
714 mv EmacsShell-sub.c.rtl TransientEmacsShell.c.rtl
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
715
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
716 ## 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
717 TransientEmacsShell.o : TopLevelEmacsShell.o
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
718 TransientEmacsShell.c.rtl : TopLevelEmacsShell.c.rtl
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
719
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
720 ## Position-independent code for shared library creation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
721 #if USE_GCC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
722 pic_arg = -fpic
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
723 #elif defined (IRIX)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
724 pic_arg = -KPIC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
725 # else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
726 pic_arg = -K pic
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
727 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
728
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
729 #ifdef EXTERNAL_WIDGET
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
730
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
731 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
732 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
733 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
734 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
735 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
736 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
737
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
738 ## 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
739 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
740 $(CC) -c $(pic_arg) $(cflags) -DEXTW_USES_MOTIF $(SRC)/ExternalClient.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
741 mv ExternalClient.o ExternalClient-Xm-shared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
742
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
743 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
744 $(CC) -c $(pic_arg) $(cflags) $(SRC)/ExternalClient.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
745 mv ExternalClient.o ExternalClient-Xt-shared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
746
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
747 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
748 $(CC) -c $(pic_arg) $(cflags) $(SRC)/ExternalClient-Xlib.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
749 mv ExternalClient-Xlib.o ExternalClient-Xlib-shared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
750
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
751 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
752 $(CC) -c $(cflags) -DEXTW_USES_MOTIF $(SRC)/ExternalClient.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
753 mv ExternalClient.o ExternalClient-Xm-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
754
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
755 ExternalClient-Xt-nonshared.o: $(SRC)/ExternalClient.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
756 $(CC) -c $(cflags) $(SRC)/ExternalClient.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
757 mv ExternalClient.o ExternalClient-Xt-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
758
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
759 ExternalClient-Xlib-nonshared.o: $(SRC)/ExternalClient-Xlib.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
760 $(CC) -c $(cflags) $(SRC)/ExternalClient-Xlib.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
761 mv ExternalClient-Xlib.o ExternalClient-Xlib-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
762
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
763 ## We compile the common files twice (once with PIC and once without)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
764 ## because on some systems, compiling with PIC but not linking into
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
765 ## a shared library messes things up.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
766
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
767 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
768 $(CC) -c $(pic_arg) $(cflags) $(SRC)/extw-Xt.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
769 mv extw-Xt.o extw-Xt-shared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
770
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
771 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
772 $(CC) -c $(pic_arg) $(cflags) $(SRC)/extw-Xlib.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
773 mv extw-Xlib.o extw-Xlib-shared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
774
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
775 extw-Xt-nonshared.o: $(SRC)/extw-Xt.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
776 $(CC) -c $(cflags) $(SRC)/extw-Xt.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
777 mv extw-Xt.o extw-Xt-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
778
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
779 extw-Xlib-nonshared.o: $(SRC)/extw-Xlib.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
780 $(CC) -c $(cflags) $(SRC)/extw-Xlib.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
781 mv extw-Xlib.o extw-Xlib-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
782
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
783 libextcli_Xm.a: $(external_client_motif_objs_nonshared)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
784 ar r libextcli_Xm.a $(external_client_motif_objs_nonshared)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
785
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
786 libextcli_Xt.a: $(external_client_xt_objs_nonshared)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
787 ar r libextcli_Xt.a $(external_client_xt_objs_nonshared)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
788
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
789 libextcli_Xlib.a: $(external_client_xlib_objs_nonshared)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
790 ar r libextcli_Xlib.a $(external_client_xlib_objs_nonshared)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
791
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
792 ## 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
793 ## 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
794 ## library will not be created.
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
795
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
796 # ifdef USE_GCC
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
797 # ifdef USG5
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
798 # 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
799 extw_link_beg = $(CC) -shared
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
800 extw_link_mid = -Xlinker -z -Xlinker text -o
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
801 extw_link_end =
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
802 ## 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
803 # elif !defined (LINUX) || defined (__ELF__)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
804 # 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
805 extw_link_beg = $(CC) -shared
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
806 extw_link_mid = -o
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
807 extw_link_end =
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
808 # endif
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
809 # elif defined (USG5)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
810 # if defined (IRIX)
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
811 # 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
812 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
813 extw_link_mid = -o
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
814 extw_link_end =
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
815 # else /* not IRIX */
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
816 # 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
817 extw_link_beg = $(CC) -G
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
818 extw_link_mid = -z text -o
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
819 extw_link_end =
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
820 # endif /* not IRIX */
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
821 # else /* not USG5 */
4759
aa5ed11f473b Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents: 4754
diff changeset
822 # define EXTW_LINK(objs, output) $(LD) -dc objs -assert pure-text -o output
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
823 extw_link_beg = $(LD) -dc
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
824 extw_link_mid = -assert pure-text -o
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
825 extw_link_end =
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
826 # endif /* not USG5 */
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
827
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
828 #ifdef EXTW_LINK
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
829
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
830 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
831 $(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
832
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
833 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
834 $(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
835
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
836 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
837 $(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
838
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
839 #endif /* EXTW_LINK */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
840
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
841 #endif /* EXTERNAL_WIDGET */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
842
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
843 config.h: $(SRC)/config.h.in
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
844 Emacs.ad.h: $(ETC)/Emacs.ad
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
845
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
846 config.h sheap-adjust.h paths.h Emacs.ad.h :
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
847 @echo "The file $@ needs to be re-generated."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
848 @echo "Please run a make in the top level directory."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
849 @echo "Consult the file \`INSTALL' for instructions for building XEmacs."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
850 @exit 1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
851
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
852 ## Some machines have alloca built-in.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
853 ## They should define HAVE_ALLOCA, or may just let alloca.s
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
854 ## be used but generate no code.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
855 ## Some have it written in assembler in alloca.s.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
856 ## 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
857 ## 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
858 ## overflow.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
859
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
860 #ifdef C_ALLOCA
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
861 #else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
862 #ifndef HAVE_ALLOCA
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
863 allocax.o : $(SRC)/alloca.s config.h
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
864 ## $(CPP) is cc -E, which may get confused by filenames
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
865 ## 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
866 ## cp $(SRC)/alloca.s allocatem.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
867 ## Remove any ^L, blank lines, and preprocessor comments,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
868 ## since some assemblers barf on them. Use a different basename for the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
869 ## output file, since some stupid compilers (Green Hill) use that
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
870 ## name for the intermediate assembler file.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
871 $(CPP) $(cppflags) allocatem.c | \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
872 sed -e 's/ //' -e 's/^#.*//' | \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
873 sed -n -e '/^..*$$/p' > allocax.s
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
874 @$(RM) alloca.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
875 $(CC) -c allocax.s
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
876 $(RM) allocax.s allocatem.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
877 #endif /* HAVE_ALLOCA */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
878 #endif /* ! defined (C_ALLOCA) */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
879
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
880 #ifdef HAVE_NATIVE_SOUND
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
881 sound_cflags=@sound_cflags@
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
882 sunplay.o: $(SRC)/sunplay.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
883 $(CC) -c $(sound_cflags) $(cflags) $(SRC)/sunplay.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
884 hpplay.o: $(SRC)/hpplay.c
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
885 $(CC) -c -Demacs $(sound_cflags) $(cflags) $(SRC)/hpplay.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
886 #endif /* HAVE_NATIVE_SOUND */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
887
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
888 #if defined(HAVE_GLADE_GLADE_H) || defined(HAVE_GLADE_H)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
889 glade_files=glade.c
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
890 #endif
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
891
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
892 #ifdef HAVE_GTK
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
893 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
894 #endif
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
895
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
896 xemacs_res.o: $(SRC)/../nt/xemacs.rc
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
897 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
898
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
899 #########################################################################
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
900 ## Other random crap ##
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
901 #########################################################################
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
902
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
903 dortl : $(obj_rtl) $(otherrtls)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
904 echo "(defvar source-files '(" > $(LISP)/source-files.el
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
905 (for a in $(obj_src) $(othersrcs);do \
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
906 echo -n "\""$$a"\"" >> $(LISP)/source-files.el ;\
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
907 done)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
908 echo "))" >> $(LISP)/source-files.el
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
909
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
910 ###################### Lint
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
911 LINT.c=$(LINT) $(LINTFLAGS) $(LINTINCLUDES)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
912 LINTFILES= $(objs:.o=.ln)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
913 LINTINCLUDES = $(cppflags)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
914 ## LINTFLAGS= -fd -m -p -s -u -v -x
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
915 LINTFLAGS= -fd -m -s -u -v -x
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
916 .PHONY: lint
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
917 lint: $(LINTFILES)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
918 $(LINT.c) $(LINTFILES)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
919
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
920 ###################### Automated tests
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
921 testdir = $(SRC)/../tests/automated
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
922 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
923
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
924 .PHONY: check check-temacs check-features
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
925 check:
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
926 $(DO_XEMACS) $(batch_test_emacs)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
927 check-temacs:
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
928 $(TEMACS_BATCH) $(run_temacs_args) $(batch_test_emacs)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
929 check-features: all
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
930 $(XEMACS_BATCH) -l check-features.el
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
931
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
932 ###################### Debugging targets
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
933
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
934 ## 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
935 ## 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
936 ## 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
937 ## temacs.
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
938
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
939 ## 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
940 rtc_patch.o:
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
941 rtc_patch_area -o $@
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
942
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
943 rtcmacs: $(temacs_deps) rtc_patch.o
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
944 $(RM) $(RAW_EXE); $(MAKE) $(RECURSIVE_MAKE_ARGS) $(RAW_EXE) RTC_patch_objs=rtc_patch.o
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
945 mv $(RAW_EXE) rtcmacs
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
946
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
947 .PHONY: run-rtcmacs
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
948 run-rtcmacs: rtcmacs
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
949 dbx -q -C -c \
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
950 '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
951 dbxenv suppress_startup_message 5.0; \
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
952 ignore POLL; \
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
953 check -access; \
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
954 suppress rui; \
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
955 runargs -nd $(BATCH) $(run_temacs_args) -vanilla; \
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
956 run' rtcmacs
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
957
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
958 debug-temacs: $(RAW_EXE)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
959 -gdb $(RAW_EXE)
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
960
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
961 ## Purify, Quantify, PureCoverage are software quality products from
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
962 ## Rational, formerly Pure Atria, formerly Pure Software.
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
963 ##
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
964 ## Purify
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
965 PURIFY_PROG = purify
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
966 PURIFY_LIBS =
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
967 PURIFY_FLAGS =\
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
968 #ifdef PDUMP
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
969 -search-mmaps=yes\
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
970 #endif
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
971 -chain-length=32 -ignore-signals=SIGPOLL\
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
972 -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
973
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
974 puremacs: $(temacs_deps)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
975 $(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
976 cp $@ $(RAW_EXE)
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
977
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
978 ## Quantify
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
979 #ifdef QUANTIFY
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
980 QUANTIFY_PROG = quantify
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
981 QUANTIFY_HOME = `$(QUANTIFY_PROG) -print-home-dir`
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
982 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
983 cppflags += -I$(QUANTIFY_HOME)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
984 temacs_link_args += $(QUANTIFY_HOME)/quantify_stubs.a
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
985
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
986 quantmacs: $(temacs_deps)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
987 $(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
988 cp $@ $(RAW_EXE)
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
989 #endif /* QUANTIFY */
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
990
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
991 PURECOV_PROG=purecov
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
992 covmacs: $(temacs_deps)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
993 $(PURECOV_PROG) $(LD) $(temacs_link_args)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
994
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
995 ###################### Clean
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
996
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
997 .PHONY: mostlyclean clean distclean realclean versionclean extraclean
3062
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 3010
diff changeset
998 .PHONY: distclean-noconfig realclean-noconfig extraclean-noconfig
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
999 mostlyclean:
3083
193188e494b2 [xemacs-hg @ 2005-11-22 07:14:37 by ben]
ben
parents: 3062
diff changeset
1000 -$(RM) *.o *.i *.rtl *.ln core \
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1001 temacs puremacs quantmacs covmacs rtcmacs temacs.exe \
4754
5dc1b4681e33 Sun Oct 18 00:27:27 2009 +0900
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4735
diff changeset
1002 sheap-adjust.h dump-id.c dump-size $(BLDSRC)/NEEDTODUMP SATISFIED \
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1003 $(LIB_SRC)/*.po $(LIB_SRC)/*.mo
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1004 versionclean:
4754
5dc1b4681e33 Sun Oct 18 00:27:27 2009 +0900
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4735
diff changeset
1005 -$(RM) $(RAW_EXE) $(DUMP_TARGET) $(DUMP_TARGET).dmp $(LIB_SRC)/DOC
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1006 ## 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
1007 ## when they don't work right.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1008 clean: mostlyclean versionclean
3083
193188e494b2 [xemacs-hg @ 2005-11-22 07:14:37 by ben]
ben
parents: 3062
diff changeset
1009 -$(RM) libextcli* $(LISP)/auto-autoloads.el* $(LISP)/custom-load.el* \
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1010 $(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
1011 $(SRCMODULES)/auto-autoloads.el* $(SRCMODULES)/custom-load.el*
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1012 ## This is used in making a distribution.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1013 ## Do not use it on development directories!
3062
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 3010
diff changeset
1014 distclean-noconfig: clean
3083
193188e494b2 [xemacs-hg @ 2005-11-22 07:14:37 by ben]
ben
parents: 3062
diff changeset
1015 -$(RM) config.h paths.h Emacs.ad.h $(LISP)/finder-inf.el* \
3062
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 3010
diff changeset
1016 TAGS xemacs.def xemacs.def.in
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 3010
diff changeset
1017 ## This is used in making a distribution.
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 3010
diff changeset
1018 ## Do not use it on development directories!
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 3010
diff changeset
1019 distclean: distclean-noconfig
3083
193188e494b2 [xemacs-hg @ 2005-11-22 07:14:37 by ben]
ben
parents: 3062
diff changeset
1020 -$(RM) GNUmakefile Makefile Makefile.in
3062
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 3010
diff changeset
1021 realclean-noconfig: distclean-noconfig
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1022 realclean: distclean
3062
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 3010
diff changeset
1023 extraclean-noconfig: realclean-noconfig
4754
5dc1b4681e33 Sun Oct 18 00:27:27 2009 +0900
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4735
diff changeset
1024 -$(RM) *~ \#* m/*~ m/\#* s/*~ s/\#* *.s gdb.txt
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1025 extraclean: realclean
4754
5dc1b4681e33 Sun Oct 18 00:27:27 2009 +0900
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4735
diff changeset
1026 -$(RM) *~ \#* m/*~ m/\#* s/*~ s/\#* *.s gdb.txt
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1027
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1028 ###################### Lock, unlock
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1029
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1030 .PHONY : lock unlock
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1031 SOURCES = *.[chm] *.pswm [sm]/* COPYING paths.h.in Makefile.in.in \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1032 config.h.in README COPYING ChangeLog
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1033 unlock:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1034 chmod u+w $(SOURCES)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1035
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1036 relock:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1037 chmod -w $(SOURCES)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1038
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1039 ###################### Installation
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1040
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1041 ## Header files for ellcc
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1042 #ifdef HAVE_SHLIB
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1043 MAKEPATH=../lib-src/make-path
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1044 install: $(PROGNAME)
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1045 $(MAKEPATH) $(archlibdir)/include $(archlibdir)/include/m $(archlibdir)/include/s
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1046 -@echo "Copying include files for ellcc..."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1047 -@hdir=`pwd`; \
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1048 cd $(SRC); hdrdir2=`pwd`; cd $$hdir; \
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1049 test "$$hdrdir2" != "$$hdir" && hdir="$$hdir $$hdrdir2"; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1050 (for thisdir in $$hdir; do \
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
1051 cd $$thisdir && \
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1052 (hdrtars=; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1053 for hdrfile in *.h; do \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1054 hdrtars="$$hdrtars $$hdrfile"; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1055 done; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1056 test -d s && hdrtars="$$hdrtars s/*"; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1057 test -d m && hdrtars="$$hdrtars m/*"; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1058 test -n "$$hdrtars" && (tar cf - $$hdrtars) | \
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1059 (cd $(archlibdir)/include && umask 022 && tar xf -); \
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1060 chmod 755 $(archlibdir)/include; \
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1061 test -d $(archlibdir)/include/s && \
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1062 chmod 755 $(archlibdir)/include/s; \
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1063 test -d $(archlibdir)/include/m && \
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1064 chmod 755 $(archlibdir)/include/s;) \
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1065 done)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1066 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1067
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1068 ###################### Dependencies
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1069
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1070 ## Dependency processing using home-grown script, not makedepend
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1071 .PHONY: depend
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1072 FRC.depend:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1073 depend: FRC.depend
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1074 cd $(SRC) && $(RM) depend.tmp && \
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1075 perl ./make-src-depend > depend.tmp && \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1076 if cmp -s depend depend.tmp; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1077 then $(RM) depend.tmp; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1078 else $(RM) depend && mv depend.tmp depend; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1079 fi
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1080
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1081 ###################### Unicode encapsulation
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1082
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1083 .PHONY: unicode-encapsulate
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1084 FRC.unicode-encapsulate:
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1085 unicode-encapsulate: FRC.unicode-encapsulate
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1086 cd $(SRC) && \
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1324
diff changeset
1087 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