annotate src/Makefile.in.in @ 4407:4ee73bbe4f8e

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