annotate src/Makefile.in.in @ 1315:70921960b980

[xemacs-hg @ 2003-02-20 08:19:28 by ben] check in makefile fixes et al Makefile.in.in: Major surgery. Move all stuff related to building anything in the src/ directory into src/. Simplify the dependencies -- everything in src/ is dependent on the single entry `src' in MAKE_SUBDIRS. Remove weirdo targets like `all-elc[s]', dump-elc[s], etc. mule/mule-msw-init.el: Removed. Delete this file. mule/mule-win32-init.el: New file, with stuff from mule-msw-init.el -- not just for MS Windows native, boys and girls! bytecomp.el: Change code inserted to catch trying to load a Mule-only .elc file in a non-Mule XEmacs. Formerly you got the rather cryptic "The required feature `mule' cannot be provided". Now you get "Loading this file requires Mule support". finder.el: Remove dependency on which directory this function is invoked from. update-elc.el: Don't mess around with ../src/BYTECOMPILE_CHANGE. Now that Makefile.in.in and xemacs.mak are in sync, both of them use NEEDTODUMP and the other one isn't used. dumped-lisp.el: Rewrite in terms of `list' and `nconc' instead of assemble-list, so we can have arbitrary forms, not just `when-feature'. very-early-lisp.el: Nuke this file. finder-inf.el, packages.el, update-elc.el, update-elc-2.el, loadup.el, make-docfile.el: Eliminate references to very-early-lisp. msw-glyphs.el: Comment clarification. xemacs.mak: Add macros DO_TEMACS, DO_XEMACS, and a few others; this macro section is now completely in sync with src/Makefile.in.in. Copy check-features, load-shadows, and rebuilding finder-inf.el from src/Makefile.in.in. The main build/dump/recompile process is now synchronized with src/Makefile.in.in. Change `WARNING' to `NOTE' and `error checking' to `error-checking' TO avoid tripping faux warnings and errors in the VC++ IDE. Makefile.in.in: Major surgery. Move all stuff related to building anything in the src/ directory from top-level Makefile.in.in to here. Simplify the dependencies. Rearrange into logical subsections. Synchronize the main compile/dump/build-elcs section with xemacs.mak, which is already clean and in good working order. Remove weirdo targets like `all-elc[s]', dump-elc[s], etc. Add additional levels of macros \(e.g. DO_TEMACS, DO_XEMACS, TEMACS_BATCH, XEMACS_BATCH, XEMACS_BATCH_PACKAGES) to factor out duplicated stuff. Clean up handling of "HEAP_IN_DATA" (Cygwin) so it doesn't need to ignore the return value from dumping. Add .NO_PARALLEL since various aspects of building and dumping must be serialized but do not always have dependencies between them (this is impossible in some cases). Everything related to src/ now gets built in one pass in this directory by just running `make' (except the Makefiles themselves and config.h, paths.h, Emacs.ad.h, and other generated .h files). console.c: Update list of possibly valid console types. emacs.c: Rationalize the specifying and handling of the type of the first frame. This was originally prompted by a workspace in which I got GTK to compile under C++ and in the process fixed it so it could coexist with X in the same build -- hence, a combined TTY/X/MS-Windows/GTK build is now possible under Cygwin. (However, you can't simultaneously *display* more than one kind of device connection -- but getting that to work is not that difficult. Perhaps a project for a bored grad student. I (ben) would do it but don't see the use.) To make sense of this, I added new switches that can be used to specifically indicate the window system: -x [aka --use-x], -tty \[aka --use-tty], -msw [aka --use-ms-windows], -gtk [aka --use-gtk], and -gnome [aka --use-gnome, same as --use-gtk]. -nw continues as an alias for -tty. When none have been given, XEmacs checks for other parameters implying particular device types (-t -> tty, -display -> x [or should it have same treatment as DISPLAY below?]), and has ad-hoc logic afterwards: if env var DISPLAY is set, use x (or gtk? perhaps should check whether gnome is running), else MS Windows if it exsits, else TTY if it exists, else stream, and you must be running in batch mode. This also fixes an existing bug whereby compiling with no x, no mswin, no tty, when running non- interactively (e.g. to dump) I get "sorry, must have TTY support". emacs.c: Turn on Vstack_trace_on_error so that errors are debuggable even when occurring extremely early in reinitialization. emacs.c: Try to make sure that the user can see message output under Windows (i.e. it doesn't just disappear right away) regardless of when it occurs, e.g. in the middle of creating the first frame. emacs.c: Define new function `emacs-run-status', indicating whether XEmacs is noninteractive or interactive, whether raw, post-dump/pdump-load or run-temacs, whether we are dumping, whether pdump is in effect. event-stream.c: It's "mommas are fat", not "momas are fat". Fix other typo. event-stream.c: Conditionalize in_menu_callback check on HAVE_MENUBARS, because it won't exist on w/o menubar support, lisp.h: More hackery on RETURN_NOT_REACHED. Cygwin v3.2 DOES complain here if RETURN_NOT_REACHED() is blank, as it is for GCC 2.5+. So make it blank only for GCC 2.5 through 2.999999999999999. Declare Vstack_trace_on_error. profile.c: Need to include "profile.h" to fix warnings. sheap.c: Don't fatal() when need to rerun Make, just stderr_out() and exit(0). That way we can distinguish between a dumping failing expectedly (due to lack of stack space, triggering another dump) and unexpectedly, in which case, we want to stop building. (or go on, if -K is given) syntax.c, syntax.h: Use ints where they belong, and enum syntaxcode's where they belong, and fix warnings thereby. syntax.h: Fix crash caused by an edge condition in the syntax-cache macros. text.h: Spacing fixes. xmotif.h: New file, to get around shadowing warnings. EmacsManager.c, event-Xt.c, glyphs-x.c, gui-x.c, input-method-motif.c, xmmanagerp.h, xmprimitivep.h: Include xmotif.h. alloc.c: Conditionalize in_malloc on ERROR_CHECK_MALLOC. config.h.in, file-coding.h, fileio.c, getloadavg.c, select-x.c, signal.c, sysdep.c, sysfile.h, systime.h, text.c, unicode.c: Eliminate HAVE_WIN32_CODING_SYSTEMS, use WIN32_ANY instead. Replace defined (WIN32_NATIVE) || defined (CYGWIN) with WIN32_ANY. lisp.h: More futile attempts to walk and chew gum at the same time when dealing with subr's that don't return.
author ben
date Thu, 20 Feb 2003 08:19:44 +0000
parents f99d3d25df86
children 70841e88fbee
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 ## Makefile for src subdirectory in XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2 ## Copyright (C) 1985, 1987, 1988, 1993, 1994 Free Software Foundation, Inc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 ## Copyright (C) 1994, 1995 Board of Trustees, University of Illinois
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4 ## Copyright (C) 1996, 1997 Sun Microsystems, Inc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5 ## Copyright (C) 1998, 1999 J. Kean Johnston.
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
6 ## Copyright (C) 2001, 2002, 2003 Ben Wing.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 ## This file is part of XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10 ## XEmacs is free software; you can redistribute it and/or modify it
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 ## under the terms of the GNU General Public License as published by the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12 ## Free Software Foundation; either version 2, or (at your option) any
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13 ## later version.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15 ## XEmacs is distributed in the hope that it will be useful, but WITHOUT
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 ## for more details.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20 ## You should have received a copy of the GNU General Public License
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21 ## along with XEmacs; see the file COPYING. If not, write to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22 ## the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 ## Boston, MA 02111-1307, USA.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25 ## Synched up with: Not synched with FSF.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
27 .PHONY: all
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
28 all: build-the-mofo
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
29
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
30 PROGNAME=@PROGNAME@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
32 #define NOT_C_CODE
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
33 #include "config.h"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
34
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
35 #ifdef PDUMP
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
36 DUMP_TARGET = ${PROGNAME}.dmp
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
37 EXE_TARGET = ${PROGNAME}
460
223736d75acb Import from CVS: tag r21-2-45
cvs
parents: 448
diff changeset
38 DUMP_ID = dump-id.o
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
39 #else
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
40 DUMP_TARGET = ${PROGNAME}
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
41 EXE_TARGET = temacs
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
42 #endif
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
43
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
44 ## For performance and consistency, no built-in rules.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
45 .SUFFIXES:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
46 .SUFFIXES: .c .h .o .i .s .dep
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48 #ifdef USE_GNU_MAKE
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49 RECURSIVE_MAKE=$(MAKE)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
50 #else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
51 @SET_MAKE@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
52 RECURSIVE_MAKE=@RECURSIVE_MAKE@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
53 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
54
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
55 SHELL=/bin/sh
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
56 RM = rm -f
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
57
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
58 lispdir = ${srcdir}/../lisp/
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
59 moduledir = ${srcdir}/../modules/
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60 libsrc = ../lib-src/
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
61 etcdir = ../etc/
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
62
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
63 ## Here are the things that we expect ../configure to edit.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
64 prefix=@prefix@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
65 srcdir=@srcdir@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
66 blddir=@blddir@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
67 version=@version@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
68 CC=@XEMACS_CC@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
69 CPP=@CPP@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
70 CFLAGS=@CFLAGS@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
71 CPPFLAGS=@CPPFLAGS@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
72 LDFLAGS=@LDFLAGS@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
73
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
74 c_switch_all=@c_switch_all@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
75 ld_switch_all=@ld_switch_all@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
76 ld_libs_all=@ld_libs_all@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
77 ld_dynamic_link_flags=@ld_dynamic_link_flags@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
78
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
79 extra_objs=@extra_objs@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
80 LN_S=@LN_S@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
81
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
82 ld_switch_shared=@ld_switch_shared@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
83 start_files=@start_files@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
84 start_flags=@start_flags@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
85 LD=@ld@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
86 lib_gcc=@lib_gcc@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
87 ##libmcheck=@libmcheck@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
88
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
89
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
90 ## With the traditional VPATH setting, it is not possible to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
91 ## simultaneously compile in-place and in another directory. The
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
92 ## mistaken definition is that *all* dependencies are searched for in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
93 ## the VPATH directory, rather than just the dependencies that are not
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
94 ## themselves targets. Thus, if there is an up-to-date .o file in the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95 ## in-place location, it will not get recompiled in the not-in-place
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
96 ## location.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
97
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
98 ## The GNU Make "vpath" directive continues this tradition, but at
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
99 ## least lets you restrict the classes of files that it applies to.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
100 ## This allows us to kludge around the problem.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
101
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
102 #ifdef USE_GNU_MAKE
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
103 vpath %.c @srcdir@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104 vpath %.h @srcdir@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
105 ## now list files that should NOT be searched in the srcdir.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
106 ## This includes any .c or .h built from something else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
107 ## (e.g. a .in file).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
108 vpath config.h
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
109 vpath paths.h
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
110 vpath Emacs.ad.h
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
111 vpath sheap-adjust.h
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
112 vpath dump-id.c
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
113 #else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
114 VPATH=@srcdir@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
115 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
116
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
117 RM = rm -f
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
118
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
119 LWLIB_SRCDIR = ${srcdir}/../lwlib
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
120
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
121 #ifdef HAVE_X_WINDOWS
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
122 lwlib_libs = ../lwlib/liblw.a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
123 lwlib_deps = $(lwlib_libs)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
124 $(lwlib_libs) :
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
125 cd ../lwlib && $(RECURSIVE_MAKE)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
126
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
127 # ifdef AIX4
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
128 LIBI18N = -li18n
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
129 # endif
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
130
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131 X11_libs = $(LIBI18N)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
132 #endif /* HAVE_X_WINDOWS */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
133
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
134 #########################################################################
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
135
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
136 ## Object files needed for compilation, and other rebuilt files.
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
137
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
138 ## 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
139 ## 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
140 ## 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
141 ## 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
142 ## 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
143 ## 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
144 ## pointless to duplicate that code.
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
145
793
e38acbeb1cae [xemacs-hg @ 2002-03-29 04:46:17 by ben]
ben
parents: 776
diff changeset
146 gui_objs= gui.o
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
147 #ifdef HAVE_MENUBARS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
148 gui_objs += menubar.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
149 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
150 #ifdef HAVE_SCROLLBARS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
151 gui_objs += scrollbar.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
152 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
153 #ifdef HAVE_DIALOGS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
154 gui_objs += dialog.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
155 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
156 #ifdef HAVE_TOOLBARS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
157 gui_objs += toolbar.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
158 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
159
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
160 #ifdef HAVE_X_WINDOWS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
161 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
162 glyphs-x.o objects-x.o redisplay-x.o select-x.o xgccache.o intl-x.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
163 x_gui_objs=$(gui_objs:.o=-x.o)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
164 #ifdef HAVE_TOOLBARS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
165 x_gui_objs += toolbar-common.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
166 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
167 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
168
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
169 #ifdef HAVE_MS_WINDOWS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
170 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
171 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
172 mswindows_gui_objs=$(gui_objs:.o=-msw.o)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
173 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
174
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
175 #ifdef HAVE_TTY
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
176 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
177 redisplay-tty.o cm.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
178 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
179
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
180 #ifdef HAVE_GTK
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
181 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
182 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
183 gtk-xemacs.o ui-gtk.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
184 gtk_gui_objs=$(gui_objs:.o=-gtk.o)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
185 #ifdef HAVE_TOOLBARS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
186 gtk_gui_objs += toolbar-common.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
187 #endif
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_BALLOON_HELP
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
191 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
192 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
193
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
194 #ifdef CLASH_DETECTION
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
195 clash_detection_objs=filelock.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
196 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
197
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
198 #ifdef HAVE_DATABASE
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
199 database_objs=database.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
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
202 #ifdef DEBUG_XEMACS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
203 debug_objs=debug.o tests.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
204 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
205
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
206 #ifdef HAVE_UNIXOID_EVENT_LOOP
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
207 event_unixoid_objs=event-unixoid.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
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
210 #ifdef HAVE_GIF
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
211 gif_objs=dgif_lib.o gif_io.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
212 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
213
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
214 #ifdef HAVE_GPM
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
215 gpm_objs=gpmevent.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
216 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
217
996
25e260cb7994 [xemacs-hg @ 2002-09-10 15:27:02 by james]
james
parents: 853
diff changeset
218 #if defined(HAVE_LDAP) && !defined(HAVE_SHLIB)
25e260cb7994 [xemacs-hg @ 2002-09-10 15:27:02 by james]
james
parents: 853
diff changeset
219 ldap_objs=../modules/ldap/eldap.o
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
220 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
221
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
222 #ifdef MULE
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
223 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
224 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
225
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
226 #ifdef HAVE_CANNA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
227 mule_canna_objs=mule-canna.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
228 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
229
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
230 #ifdef HAVE_WNN
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
231 mule_wnn_objs=mule-wnnfns.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
232 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
233
996
25e260cb7994 [xemacs-hg @ 2002-09-10 15:27:02 by james]
james
parents: 853
diff changeset
234 #if defined(HAVE_POSTGRESQL) && !defined(HAVE_SHLIB)
25e260cb7994 [xemacs-hg @ 2002-09-10 15:27:02 by james]
james
parents: 853
diff changeset
235 postgresql_objs=../modules/postgresql/postgresql.o
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
236 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
237
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
238 #ifdef HAVE_WIN32_PROCESSES
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
239 process_objs=process-nt.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
240 #elif defined (HAVE_UNIX_PROCESSES)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
241 process_objs=process-unix.o
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 HAVE_SETITIMER
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
245 profile_objs=profile.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
246 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
247
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
248 #if defined (HEAP_IN_DATA) && !defined (PDUMP)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
249 sheap_objs=sheap.o
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
250 #endif
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
251
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
252 #ifdef HAVE_SHLIB
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
253 shlib_objs=sysdll.o emodules.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
254 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
255
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
256 #ifdef SUNPRO
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
257 sunpro_objs=sunpro.o
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
258 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
259
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
260 #ifdef TOOLTALK
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
261 tooltalk_objs=tooltalk.o
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
262 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
263
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
264 #if defined (WIN32_NATIVE) || defined (CYGWIN)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
265 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
266 xemacs_res.o
611
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 606
diff changeset
267 #endif
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 606
diff changeset
268
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
269 ## -Demacs is needed to make some files produce the correct version
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
270 ## for use in Emacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
271
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
272 cppflags = $(CPPFLAGS) -Demacs -I. $(c_switch_all)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
273 cflags = $(CFLAGS) $(cppflags)
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
274 #if defined (WIN32_NATIVE) || defined (CYGWIN)
606
c9c1c4ce8f0f [xemacs-hg @ 2001-06-02 06:55:26 by ben]
ben
parents: 563
diff changeset
275 ldflags = $(LDFLAGS) -mwindows -e _mainCRTStartup $(ld_switch_all) $(ld_dynamic_link_flags)
1213
1ab9c4a77230 [xemacs-hg @ 2003-01-15 08:46:18 by youngs]
youngs
parents: 996
diff changeset
276 # if defined (CYGWIN)
1ab9c4a77230 [xemacs-hg @ 2003-01-15 08:46:18 by youngs]
youngs
parents: 996
diff changeset
277 ldflags += -Wl,--script=s/cygwin.sc
1ab9c4a77230 [xemacs-hg @ 2003-01-15 08:46:18 by youngs]
youngs
parents: 996
diff changeset
278 # endif
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
279 #else
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
280 ldflags = $(LDFLAGS) $(ld_switch_all) $(ld_dynamic_link_flags)
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
281 #endif
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
282
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
283 #ifdef SOLARIS2
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
284 %.o : %.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
285 #else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
286 .c.o:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
287 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
288 $(CC) -c $(cflags) $<
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
289
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
290 ## Create preprocessor output (debugging purposes only)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
291 .c.i:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
292 #ifdef __GNUC__
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
293 $(CC) -E $(cppflags) -o $@ $<
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
294 #else /* works on Solaris; what about other systems? */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
295 $(CC) -P $(cppflags) $<
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
296 #endif /* compiler */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
297
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
298 ## Create assembler output (debugging purposes only)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
299 .c.s:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
300 $(CC) -S -c $(cflags) $<
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
301
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
302 ## Create RTL files
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
303 %.c.rtl : %.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
304 $(CC) -dr -c $(cflags) $<
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
305
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
306 ## lastfile must follow all files whose initialized data areas should
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
307 ## be dumped as pure by dump-emacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
308
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
309 ## NOTE: The last line cannot be all macros, because make will barf
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
310 ## if they all come out null.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
311
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
312 objs=\
851
e7ee5f8bde58 [xemacs-hg @ 2002-05-23 11:46:08 by ben]
ben
parents: 826
diff changeset
313 abbrev.o alloc.o alloca.o \
e7ee5f8bde58 [xemacs-hg @ 2002-05-23 11:46:08 by ben]
ben
parents: 826
diff changeset
314 $(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
315 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
316 $(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
317 console-stream.o\
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
318 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
319 dynarr.o \
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
320 editfns.o elhash.o emacs.o eval.o events.o\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
321 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
322 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
323 font-lock.o frame.o\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
324 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
325 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
326 gutter.o\
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
327 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
328 keymap.o $(RTC_patch_objs) line-number.o $(ldap_objs) lread.o lstream.o\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
329 macros.o marker.o md5.o minibuf.o $(mswindows_objs) $(mswindows_gui_objs)\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
330 $(mule_objs) $(mule_canna_objs) $(mule_wnn_objs) objects.o opaque.o\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
331 $(postgresql_objs) print.o process.o $(process_objs) $(profile_objs)\
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 611
diff changeset
332 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
333 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
334 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
335 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
336 widget.o window.o $(win32_objs)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
337
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
338 obj_rtl = $(objs:.o=.c.rtl)
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 REL_ALLOC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
341 rallocdocsrc = ralloc.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
342 rallocobjs = ralloc.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
343 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
344
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
345 malloclib = $(libmcheck)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
346 #ifndef SYSTEM_MALLOC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
347 # ifdef GNU_MALLOC /* GNU malloc */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
348 # ifdef ERROR_CHECK_MALLOC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
349 #ifdef DOUG_LEA_MALLOC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
350 mallocobjs = free-hook.o vm-limit.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
351 #else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
352 mallocobjs = gmalloc.o free-hook.o vm-limit.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
353 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
354 mallocdocsrc = free-hook.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
355 # else /* New GNU malloc, sans error checking */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
356 #ifdef DOUG_LEA_MALLOC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
357 mallocobjs = vm-limit.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
358 #else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
359 mallocobjs = gmalloc.o vm-limit.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
360 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
361 mallocdocsrc =
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
362 # endif /* ERROR_CHECK_MALLOC */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
363 # else /* Older GNU malloc */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
364 mallocobjs = malloc.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
365 mallocdocsrc =
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
366 # endif /* Older GNU malloc */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
367 #else /* SYSTEM_MALLOC */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
368 mallocobjs =
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
369 mallocdocsrc =
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
370 #ifdef USE_DEBUG_MALLOC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
371 malloclib = -ldmalloc
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
372 #endif /* USE_DEBUG_MALLOC */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
373 #endif /* SYSTEM_MALLOC */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
374
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
375 #ifdef HAVE_X_WINDOWS
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
376
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
377 # ifdef EXTERNAL_WIDGET
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
378 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
379
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
380 # ifdef LWLIB_USES_MOTIF
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
381 # ifdef EXTW_LINK
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
382 motif_other_files = libextcli_Xm.a libextcli_Xm.so.1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
383 # else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
384 motif_other_files = libextcli_Xm.a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
385 # endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
386 #endif /* LWLIB_USES_MOTIF */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
387
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
388 # ifdef EXTW_LINK
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
389 shared_other_files = libextcli_Xt.so.1 libextcli_Xlib.so.1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
390 # endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
391 other_files=\
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
392 ${motif_other_files}\
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
393 libextcli_Xt.a libextcli_Xlib.a\
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
394 ${shared_other_files}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
395
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
396 # endif /* EXTERNAL_WIDGET */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
397
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
398 # if defined (HAVE_OFFIX_DND) || defined (HAVE_CDE)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
399 dnd_objs = @dnd_objs@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
400 # endif /* HAVE_OFFIX_DND || HAVE_CDE */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
401
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
402 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
403 #endif /* HAVE_X_WINDOWS */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
404
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
405 ## define otherobjs as list of object files that make-docfile
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
406 ## should not be told about.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
407 otherobjs = lastfile.o $(mallocobjs) $(rallocobjs) $(X11_objs)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
408 otherrtls = $(otherobjs:.o=.c.rtl)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
409 othersrcs = $(otherobjs:.o=.c)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
410
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
411 LIBES = $(lwlib_libs) $(malloclib) $(ld_libs_all) $(lib_gcc)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
412
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
413 #ifdef I18N3
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
414 mo_dir = ${etcdir}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
415 mo_file = ${mo_dir}emacs.mo
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
416 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
417
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
418 #########################################################################
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
419
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
420 ## Primary rebuilding process
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
421
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
422 DO_TEMACS = ${DUMPENV} ./${EXE_TARGET}
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
423 DO_XEMACS = ./${PROGNAME}
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
424 LISP = ${srcdir}/../lisp
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
425
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
426 BATCH = -no-packages -batch
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
427 BATCH_PACKAGES = -vanilla -batch
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
428 TEMACS_BATCH = $(DO_TEMACS) -nd $(BATCH)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
429 XEMACS_BATCH = $(DO_XEMACS) $(BATCH)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
430 XEMACS_BATCH_PACKAGES = $(DO_XEMACS) $(BATCH_PACKAGES)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
431 temacs_loadup_args = -l $(LISP)/loadup.el
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
432 dump_temacs_args = $(temacs_loadup_args) dump
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
433 run_temacs_args = $(temacs_loadup_args) run-temacs
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
434 dump_temacs = $(TEMACS_BATCH) $(dump_temacs_args)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
435
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
436 debug_temacs = gdb $(EXE_TARGET)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
437
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
438 .PHONY : build-the-mofo release update-elc update-elc-2 load-shadows
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
439
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
440 ## 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
441
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
442 ## NOTE: The dependencies would (should) look like the following
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
443 ## commented-out statement in linear order, but apparently this causes
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
444 ## problems with some versions of `make' because there is insufficient
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
445 ## serialization of the build steps. Evidently the .NO_PARALLEL directive
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
446 ## doesn't help. `make' really seems to be designed to have all
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
447 ## dependencies proceed upward, not across, and to be all calculable before
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
448 ## actually running anything. The problem here is that update-elc may
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
449 ## touch NEEDTODUMP and thus create an additional dependency
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
450 ## -- but *NOT UNTIL* that step is run. There is no way I can come up with
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
451 ## to express such a dependency in upward fashion.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
452
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
453 ## build-the-mofo: ${EXE_TARGET} update-elc ${libsrc}DOC $(mo_file) ${other_files} ${DUMP_TARGET} update-elc-2 $(LISP)/finder-inf.el load-shadows
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
454
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
455 build-the-mofo: ${EXE_TARGET} update-elc ${libsrc}DOC $(mo_file) ${other_files} ${DUMP_TARGET} load-shadows
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
456 .NO_PARALLEL: ${EXE_TARGET} update-elc ${libsrc}DOC ${DUMP_TARGET} update-elc-2
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
457
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
458 release: all
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
459 -if [ -w $(LISP) ]; then \
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
460 w=`pwd`; cd ${srcdir} && $${w}/${EXE_TARGET} -nd ${BATCH} -l $(LISP)/inc-vers; \
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
461 else true; fi
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
462 -${dump_temacs}
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
463 touch release
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
464
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
465 update-elc: $(EXE_TARGET)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
466 $(TEMACS_BATCH) -l $(LISP)/update-elc.el
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
467
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
468 ## Update out-of-date .elcs, other than needed for dumping.
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
469 update-elc-2: $(EXE_TARGET) $(DUMP_TARGET)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
470 $(XEMACS_BATCH) -no-autoloads -l update-elc-2.el -f batch-update-elc-2 $(LISP)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
471
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
472 $(LISP)/finder-inf.el: update-elc-2 $(EXE_TARGET) $(DUMP_TARGET)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
473 @echo "Building finder database ..."
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
474 $(XEMACS_BATCH) -eval '(setq finder-compile-keywords-quiet t)' \
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
475 -l finder -f finder-compile-keywords
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
476 @echo "Building finder database ...(done)"
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
477
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
478 load-shadows: $(LISP)/finder-inf.el $(EXE_TARGET) $(DUMP_TARGET)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
479 #ifndef QUICK_BUILD
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
480 @echo "Testing for Lisp shadows ..."
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
481 @$(XEMACS_BATCH) -f list-load-path-shadows
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
482 #endif
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
483
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
484 ## This file is touched by update-elc.el when redumping is necessary.
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
485 NEEDTODUMP:
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
486 touch NEEDTODUMP
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
487
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
488 ${DUMP_TARGET}: ${EXE_TARGET} NEEDTODUMP
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
489 #ifdef HEAP_IN_DATA
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
490 @$(RM) $@ && touch SATISFIED
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
491 ${dump_temacs}
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
492 @if test -f SATISFIED; then $(RM) SATISFIED; else $(RM) $@; \
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
493 $(RECURSIVE_MAKE) $@; fi
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
494 #else
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
495 @$(RM) $@
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
496 ${dump_temacs}
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
497 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
498
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
499 #ifdef DYNODUMP
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
500 dynodump_deps = ../dynodump/dynodump.so
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
501 ../dynodump/dynodump.so:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
502 cd ../dynodump && $(RECURSIVE_MAKE)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
503 #endif /* DYNODUMP */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
504
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
505 link_deps = $(start_files) ${objs} ${otherobjs} $(lwlib_deps) $(dynodump_deps)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
506
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
507 temacs_deps = $(link_deps) ${DUMP_ID}
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
508
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
509 temacs_link_args = \
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
510 ${start_flags} ${ldflags} \
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
511 -o $@ ${start_files} ${objs} ${otherobjs} ${DUMP_ID} ${LIBES}
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
512
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
513 ${EXE_TARGET}: $(temacs_deps)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
514 $(LD) $(temacs_link_args)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
515
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
516 dump-id.c: ${libsrc}make-dump-id ${link_deps}
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
517 ${libsrc}make-dump-id
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
518
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
519 obj_src = $(objs:.o=.c)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
520
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
521 ${libsrc}DOC: ${libsrc}make-docfile NEEDTODUMP ${temacs_deps}
1303
f99d3d25df86 [xemacs-hg @ 2003-02-15 10:15:54 by ben]
ben
parents: 1261
diff changeset
522 #ifdef QUICK_BUILD
f99d3d25df86 [xemacs-hg @ 2003-02-15 10:15:54 by ben]
ben
parents: 1261
diff changeset
523 if test ! -f $@ ; then \
f99d3d25df86 [xemacs-hg @ 2003-02-15 10:15:54 by ben]
ben
parents: 1261
diff changeset
524 #else
f99d3d25df86 [xemacs-hg @ 2003-02-15 10:15:54 by ben]
ben
parents: 1261
diff changeset
525 if true ; then \
f99d3d25df86 [xemacs-hg @ 2003-02-15 10:15:54 by ben]
ben
parents: 1261
diff changeset
526 #endif
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
527 $(TEMACS_BATCH) -l $(LISP)/make-docfile.el -- \
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
528 -o ${libsrc}DOC -d ${srcdir} -i ${libsrc}../site-packages \
1303
f99d3d25df86 [xemacs-hg @ 2003-02-15 10:15:54 by ben]
ben
parents: 1261
diff changeset
529 ${obj_src} ${mallocdocsrc} ${rallocdocsrc} \
f99d3d25df86 [xemacs-hg @ 2003-02-15 10:15:54 by ben]
ben
parents: 1261
diff changeset
530 ${extra_doc_files} ; fi
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
531
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
532 ${libsrc}make-dump-id:
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
533 cd ${libsrc} && $(RECURSIVE_MAKE) make-dump-id
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
534
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
535 ${libsrc}make-docfile:
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
536 cd ${libsrc} && $(RECURSIVE_MAKE) make-docfile
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
537
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
538 .PHONY: fastdump
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
539 fastdump: ${EXE_TARGET}
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
540 @$(RM) ${DUMP_TARGET} && touch SATISFIED
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
541 -${dump_temacs}
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
542 @$(XEMACS_BATCH) -f list-load-path-shadows
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
543
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
544 .PHONY: all-elc
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
545 all-elc:
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
546 cd .. && $(RECURSIVE_MAKE)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
547
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
548 #########################################################################
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
549
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
550 ## Subsidiary dependency rules
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
551
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
552 #ifdef I18N3
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
553
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
554 # if defined(SPARC) && !defined(USG)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
555 xgettext= /usr/openwin/bin/xgettext
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
556 xgettext_args= -o emacs -m_X messages
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
557 msgfmt= /usr/openwin/bin/msgfmt
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
558 # else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
559 xgettext= xgettext
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
560 xgettext_args= -s -d emacs -M_X messages
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
561 msgfmt= msgfmt
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
562 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
563
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
564 ${mo_dir}emacs.po: ${libsrc}make-msgfile ${libsrc}make-po ${objs}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
565 ${libsrc}make-msgfile -o ${libsrc}messages ${objs}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
566 cd ${libsrc} && ${xgettext} ${xgettext_args}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
567 $(RM) ${mo_dir}emacs.po
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
568 cd ${libsrc} && ${libsrc}make-po -a ${mo_dir}emacs.po DOC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
569
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
570 ${mo_dir}emacs.mo: ${mo_dir}emacs.po
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
571 cd ${mo_dir} && ${msgfmt} -o emacs.mo emacs.po
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
572
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
573 ${libsrc}make-msgfile:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
574 cd ${libsrc} && $(RECURSIVE_MAKE) make-msgfile
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
575
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
576 ${libsrc}make-po:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
577 cd ${libsrc} && $(RECURSIVE_MAKE) make-po
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
578
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
579 #endif /* I18N3 */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
580
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
581 TopLevelEmacsShell.o : ${srcdir}/EmacsShell-sub.c config.h xintrinsicp.h EmacsShellP.h
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
582 $(CC) -c $(cflags) -DDEFINE_TOP_LEVEL_EMACS_SHELL ${srcdir}/EmacsShell-sub.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
583 mv EmacsShell-sub.o TopLevelEmacsShell.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
584
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
585 TopLevelEmacsShell.c.rtl : ${srcdir}/EmacsShell-sub.c config.h xintrinsicp.h EmacsShellP.h
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
586 $(CC) -dr -c $(cflags) -DDEFINE_TOP_LEVEL_EMACS_SHELL ${srcdir}/EmacsShell-sub.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
587 mv EmacsShell-sub.c.rtl TopLevelEmacsShell.c.rtl
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
588
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
589 TransientEmacsShell.o : ${srcdir}/EmacsShell-sub.c TopLevelEmacsShell.o config.h xintrinsicp.h EmacsShellP.h
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
590 $(CC) -c $(cflags) -DDEFINE_TRANSIENT_EMACS_SHELL ${srcdir}/EmacsShell-sub.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
591 mv EmacsShell-sub.o TransientEmacsShell.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
592
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
593 TransientEmacsShell.c.rtl : ${srcdir}/EmacsShell-sub.c TopLevelEmacsShell.o config.h xintrinsicp.h EmacsShellP.h
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
594 $(CC) -dr -c $(cflags) -DDEFINE_TRANSIENT_EMACS_SHELL ${srcdir}/EmacsShell-sub.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
595 mv EmacsShell-sub.c.rtl TransientEmacsShell.c.rtl
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
596
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
597 ## 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
598 TransientEmacsShell.o : TopLevelEmacsShell.o
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
599 TransientEmacsShell.c.rtl : TopLevelEmacsShell.c.rtl
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
600
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
601 ## Position-independent code for shared library creation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
602 #if USE_GCC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
603 pic_arg = -fpic
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
604 #elif defined (IRIX)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
605 pic_arg = -KPIC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
606 # else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
607 pic_arg = -K pic
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
608 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
609
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
610 #ifdef EXTERNAL_WIDGET
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
611
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
612 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
613 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
614 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
615 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
616 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
617 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
618
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
619 ## Add dependencies so things work right with a parallel make
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
620 ExternalClient-Xm-shared.o: ${srcdir}/ExternalClient.c ExternalClient-Xt-shared.o ExternalClient-Xm-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
621 $(CC) -c $(pic_arg) $(cflags) -DEXTW_USES_MOTIF ${srcdir}/ExternalClient.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
622 mv ExternalClient.o ExternalClient-Xm-shared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
623
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
624 ExternalClient-Xt-shared.o: ${srcdir}/ExternalClient.c ExternalClient-Xt-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
625 $(CC) -c $(pic_arg) $(cflags) ${srcdir}/ExternalClient.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
626 mv ExternalClient.o ExternalClient-Xt-shared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
627
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
628 ExternalClient-Xlib-shared.o: ${srcdir}/ExternalClient-Xlib.c ExternalClient-Xlib-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
629 $(CC) -c $(pic_arg) $(cflags) ${srcdir}/ExternalClient-Xlib.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
630 mv ExternalClient-Xlib.o ExternalClient-Xlib-shared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
631
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
632 ExternalClient-Xm-nonshared.o: ${srcdir}/ExternalClient.c ExternalClient-Xt-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
633 $(CC) -c $(cflags) -DEXTW_USES_MOTIF ${srcdir}/ExternalClient.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
634 mv ExternalClient.o ExternalClient-Xm-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
635
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
636 ExternalClient-Xt-nonshared.o: ${srcdir}/ExternalClient.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
637 $(CC) -c $(cflags) ${srcdir}/ExternalClient.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
638 mv ExternalClient.o ExternalClient-Xt-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
639
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
640 ExternalClient-Xlib-nonshared.o: ${srcdir}/ExternalClient-Xlib.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
641 $(CC) -c $(cflags) ${srcdir}/ExternalClient-Xlib.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
642 mv ExternalClient-Xlib.o ExternalClient-Xlib-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
643
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
644 ## We compile the common files twice (once with PIC and once without)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
645 ## because on some systems, compiling with PIC but not linking into
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
646 ## a shared library messes things up.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
647
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
648 extw-Xt-shared.o: ${srcdir}/extw-Xt.c extw-Xt-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
649 $(CC) -c $(pic_arg) $(cflags) ${srcdir}/extw-Xt.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
650 mv extw-Xt.o extw-Xt-shared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
651
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
652 extw-Xlib-shared.o: ${srcdir}/extw-Xlib.c extw-Xlib-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
653 $(CC) -c $(pic_arg) $(cflags) ${srcdir}/extw-Xlib.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
654 mv extw-Xlib.o extw-Xlib-shared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
655
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
656 extw-Xt-nonshared.o: ${srcdir}/extw-Xt.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
657 $(CC) -c $(cflags) ${srcdir}/extw-Xt.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
658 mv extw-Xt.o extw-Xt-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
659
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
660 extw-Xlib-nonshared.o: ${srcdir}/extw-Xlib.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
661 $(CC) -c $(cflags) ${srcdir}/extw-Xlib.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
662 mv extw-Xlib.o extw-Xlib-nonshared.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
663
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
664 libextcli_Xm.a: ${external_client_motif_objs_nonshared}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
665 ar r libextcli_Xm.a ${external_client_motif_objs_nonshared}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
666
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
667 libextcli_Xt.a: ${external_client_xt_objs_nonshared}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
668 ar r libextcli_Xt.a ${external_client_xt_objs_nonshared}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
669
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
670 libextcli_Xlib.a: ${external_client_xlib_objs_nonshared}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
671 ar r libextcli_Xlib.a ${external_client_xlib_objs_nonshared}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
672
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
673 ## 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
674 ## 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
675 ## library will not be created.
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
676
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
677 # ifdef USE_GCC
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
678 # ifdef USG5
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
679 # 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
680 extw_link_beg = $(CC) -shared
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
681 extw_link_mid = -Xlinker -z -Xlinker text -o
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
682 extw_link_end =
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
683 ## 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
684 # elif !defined (LINUX) || defined (__ELF__)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
685 # 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
686 extw_link_beg = $(CC) -shared
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
687 extw_link_mid = -o
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
688 extw_link_end =
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
689 # endif
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
690 # elif defined (USG5)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
691 # if defined (IRIX)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
692 # define EXTW_LINK(objs, output) $(LD) -shared -g -check_registry ${TOOLROOT}/usr/lib/so_locations objs -o output
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
693 extw_link_beg = $(LD) -shared -g -check_registry ${TOOLROOT}/usr/lib/so_locations
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
694 extw_link_mid = -o
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
695 extw_link_end =
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
696 # else /* not IRIX */
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
697 # 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
698 extw_link_beg = $(CC) -G
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
699 extw_link_mid = -z text -o
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
700 extw_link_end =
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
701 # endif /* not IRIX */
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
702 # else /* not USG5 */
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
703 # if defined (DEC_ALPHA) && defined (OSF1)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
704 # 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
705 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
706 extw_link_mid = -o
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
707 extw_link_end = $(LIBES)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
708 # else /* !(DEC_ALPHA && OSF1) */
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
709 # 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
710 extw_link_beg = $(LD) -dc
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
711 extw_link_mid = -assert pure-text -o
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
712 extw_link_end =
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
713 # endif /* !(DEC_ALPHA && OSF1) */
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
714 # endif /* not USG5 */
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
715
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
716 #ifdef EXTW_LINK
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
717
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
718 libextcli_Xm.so.1: ${external_client_motif_objs_shared}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
719 ${extw_link_beg} ${external_client_motif_objs_shared} ${extw_link_mid} libextcli_Xm.so.1 ${extw_link_end}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
720
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
721 libextcli_Xt.so.1: ${external_client_xt_objs_shared}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
722 ${extw_link_beg} ${external_client_xt_objs_shared} ${extw_link_mid} libextcli_Xt.so.1 ${extw_link_end}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
723
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
724 libextcli_Xlib.so.1: ${external_client_xlib_objs_shared}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
725 ${extw_link_beg} ${external_client_xlib_objs_shared} ${extw_link_mid} libextcli_Xlib.so.1 ${extw_link_end}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
726
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
727 #endif /* EXTW_LINK */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
728
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
729 #endif /* EXTERNAL_WIDGET */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
730
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
731 config.h: ${srcdir}/config.h.in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
732 Emacs.ad.h: ${srcdir}/${etcdir}Emacs.ad
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
733
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
734 config.h sheap-adjust.h paths.h Emacs.ad.h :
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
735 @echo "The file $@ needs to be re-generated."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
736 @echo "Please run a make in the top level directory."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
737 @echo "Consult the file \`INSTALL' for instructions for building XEmacs."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
738 @exit 1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
739
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
740 ## Some machines have alloca built-in.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
741 ## They should define HAVE_ALLOCA, or may just let alloca.s
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
742 ## be used but generate no code.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
743 ## Some have it written in assembler in alloca.s.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
744 ## 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
745 ## 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
746 ## overflow.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
747
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
748 #ifdef C_ALLOCA
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
749 #else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
750 #ifndef HAVE_ALLOCA
851
e7ee5f8bde58 [xemacs-hg @ 2002-05-23 11:46:08 by ben]
ben
parents: 826
diff changeset
751 allocax.o : ${srcdir}/alloca.s config.h
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
752 ## $(CPP) is cc -E, which may get confused by filenames
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
753 ## that do not end in .c. So copy file to a safe name. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
754 ## cp ${srcdir}/alloca.s allocatem.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
755 ## Remove any ^L, blank lines, and preprocessor comments,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
756 ## since some assemblers barf on them. Use a different basename for the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
757 ## output file, since some stupid compilers (Green Hill) use that
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
758 ## name for the intermediate assembler file.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
759 $(CPP) $(cppflags) allocatem.c | \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
760 sed -e 's/ //' -e 's/^#.*//' | \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
761 sed -n -e '/^..*$$/p' > allocax.s
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
762 @$(RM) alloca.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
763 ## Xenix, in particular, needs to run assembler via cc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
764 $(CC) -c allocax.s
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
765 $(RM) allocax.s allocatem.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
766 #endif /* HAVE_ALLOCA */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
767 #endif /* ! defined (C_ALLOCA) */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
768
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
769 #ifdef HAVE_NATIVE_SOUND
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
770 sound_cflags=@sound_cflags@
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
771 sunplay.o: ${srcdir}/sunplay.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
772 $(CC) -c $(sound_cflags) $(cflags) ${srcdir}/sunplay.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
773 hpplay.o: ${srcdir}/hpplay.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
774 $(CC) -c -Demacs $(sound_cflags) $(cflags) ${srcdir}/hpplay.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
775 #endif /* HAVE_NATIVE_SOUND */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
776
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
777 #if defined(HAVE_GLADE_GLADE_H) || defined(HAVE_GLADE_H)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
778 glade_files=glade.c
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
779 #endif
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
780
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
781 #ifdef HAVE_GTK
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
782 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
783 #endif
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 460
diff changeset
784
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
785 xemacs_res.o: ${srcdir}/../nt/xemacs.rc
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
786 windres --include-dir ${srcdir}/../nt -i ${srcdir}/../nt/xemacs.rc -o $@
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
787
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
788 #########################################################################
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
789
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
790 ## Other random crap
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
791
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
792 dortl : $(obj_rtl) $(otherrtls)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
793 echo "(defvar source-files '(" > $(LISP)/source-files.el
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
794 (for a in $(obj_src) $(othersrcs);do \
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
795 echo -n "\""$$a"\"" >> $(LISP)/source-files.el ;\
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
796 done)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
797 echo "))" >> $(LISP)/source-files.el
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
798
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
799 ## Lint Section
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
800 LINT.c=$(LINT) $(LINTFLAGS) $(LINTINCLUDES)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
801 LINTFILES= $(objs:.o=.ln)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
802 LINTINCLUDES = $(cppflags)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
803 ## LINTFLAGS= -fd -m -p -s -u -v -x
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
804 LINTFLAGS= -fd -m -s -u -v -x
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
805 .PHONY: lint
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
806 lint: $(LINTFILES)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
807 $(LINT.c) $(LINTFILES)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
808 ## end of Lint Section
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
809
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
810 ## We have automated tests!!
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
811 testdir = ${srcdir}/../tests/automated
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
812 batch_test_emacs = ${BATCH_PACKAGES} -l ${testdir}/test-harness.el -f batch-test-emacs ${testdir}
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
813
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
814 .PHONY: check check-temacs check-features
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
815 check:
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
816 $(DO_XEMACS) $(batch_test_emacs)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
817 check-temacs:
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
818 $(TEMACS_BATCH) $(run_temacs_args) $(batch_test_emacs)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
819 check-features: all
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
820 $(XEMACS_BATCH) -l check-features.el
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
821
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
822 ## Debugging targets:
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
823 ##
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
824 ## 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
825 ## 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
826 ## 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
827 ## temacs.
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
828
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
829 ## 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
830 rtc_patch.o:
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
831 rtc_patch_area -o $@
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
832
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
833 rtcmacs: $(temacs_deps) rtc_patch.o
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
834 $(RM) ${EXE_TARGET}; $(RECURSIVE_MAKE) ${EXE_TARGET} RTC_patch_objs=rtc_patch.o
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
835 mv ${EXE_TARGET} rtcmacs
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
836
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
837 .PHONY: run-rtcmacs
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
838 run-rtcmacs: rtcmacs
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
839 dbx -q -C -c \
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
840 '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
841 dbxenv suppress_startup_message 5.0; \
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
842 ignore POLL; \
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
843 check -access; \
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
844 suppress rui; \
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
845 runargs -nd ${BATCH} ${run_temacs_args} -vanilla; \
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
846 run' rtcmacs
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
847
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
848 debug-temacs: ${EXE_TARGET}
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
849 -${debug_temacs}
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
850
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
851 ## Purify, Quantify, PureCoverage are software quality products from
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
852 ## Rational, formerly Pure Atria, formerly Pure Software.
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
853 ##
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
854 ## Purify
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
855 PURIFY_PROG = purify
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
856 PURIFY_LIBS =
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
857 PURIFY_FLAGS =\
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
858 #ifdef PDUMP
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
859 -search-mmaps=yes\
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
860 #endif
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
861 -chain-length=32 -ignore-signals=SIGPOLL\
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
862 -cache-dir=${blddir}/purecache -always-use-cache-dir=yes
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
863
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
864 puremacs: $(temacs_deps)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
865 $(PURIFY_PROG) $(PURIFY_FLAGS) $(LD) $(temacs_link_args) $(PURIFY_LIBS)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
866 cp $@ ${EXE_TARGET}
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
867
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
868 ## Quantify
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
869 #ifdef QUANTIFY
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
870 QUANTIFY_PROG = quantify
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
871 QUANTIFY_HOME = `$(QUANTIFY_PROG) -print-home-dir`
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
872 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
873 cppflags += -I$(QUANTIFY_HOME)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
874 temacs_link_args += $(QUANTIFY_HOME)/quantify_stubs.a
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
875
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
876 quantmacs: $(temacs_deps)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
877 $(QUANTIFY_PROG) $(QUANTIFY_FLAGS) $(LD) $(temacs_link_args)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
878 cp $@ ${EXE_TARGET}
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
879 #endif /* QUANTIFY */
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
880
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
881 PURECOV_PROG=purecov
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
882 covmacs: $(temacs_deps)
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
883 $(PURECOV_PROG) $(LD) $(temacs_link_args)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
884
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
885 .PHONY: mostlyclean clean distclean realclean versionclean extraclean
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
886 mostlyclean:
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
887 $(RM) temacs puremacs quantmacs *.o *.i \
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
888 core temacs.exe sheap-adjust.h
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
889 clean: mostlyclean versionclean
1315
70921960b980 [xemacs-hg @ 2003-02-20 08:19:28 by ben]
ben
parents: 1303
diff changeset
890 $(RM) libextcli*
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
891 ## This is used in making a distribution.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
892 ## Do not use it on development directories!
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
893 distclean: clean
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
894 $(RM) config.h paths.h Emacs.ad.h \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
895 GNUmakefile Makefile Makefile.in TAGS ${PROGNAME}.*
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
896 realclean: distclean
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
897 versionclean:
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
898 $(RM) ${EXE_TARGET} ${DUMP_TARGET} ${libsrc}DOC
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
899 extraclean: realclean
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
900 $(RM) *~ \#* m/*~ m/\#* s/*~ s/\#*
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
901
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
902 .PHONY : lock unlock
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
903 SOURCES = *.[chm] *.pswm [sm]/* COPYING paths.h.in Makefile.in.in \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
904 config.h.in README COPYING ChangeLog
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
905 unlock:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
906 chmod u+w $(SOURCES)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
907
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
908 relock:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
909 chmod -w $(SOURCES)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
910
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
911 ## Header files for ellcc
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
912 #ifdef HAVE_SHLIB
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
913 MAKEPATH=../lib-src/make-path
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
914 install: ${PROGNAME}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
915 ${MAKEPATH} ${archlibdir}/include ${archlibdir}/include/m ${archlibdir}/include/s
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
916 -@echo "Copying include files for ellcc..."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
917 -@hdir=`pwd`; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
918 cd ${srcdir}; hdrdir2=`pwd`; cd $$hdir; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
919 test "$$hdrdir2" != "$$hdir" && hdir="$$hdir $$hdrdir2"; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
920 (for thisdir in $$hdir; do \
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents: 442
diff changeset
921 cd $$thisdir && \
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
922 (hdrtars=; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
923 for hdrfile in *.h; do \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
924 hdrtars="$$hdrtars $$hdrfile"; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
925 done; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
926 test -d s && hdrtars="$$hdrtars s/*"; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
927 test -d m && hdrtars="$$hdrtars m/*"; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
928 test -n "$$hdrtars" && (tar cf - $$hdrtars) | \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
929 (cd ${archlibdir}/include && umask 022 && tar xf -); \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
930 chmod 755 ${archlibdir}/include; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
931 test -d ${archlibdir}/include/s && \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
932 chmod 755 ${archlibdir}/include/s; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
933 test -d ${archlibdir}/include/m && \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
934 chmod 755 ${archlibdir}/include/s;) \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
935 done)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
936 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
937
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
938 ## Dependency processing using home-grown script, not makedepend
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
939 .PHONY: depend
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
940 FRC.depend:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
941 depend: FRC.depend
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
942 cd ${srcdir} && $(RM) depend.tmp && \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
943 perl ./make-src-depend > depend.tmp && \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
944 if cmp -s depend depend.tmp; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
945 then $(RM) depend.tmp; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
946 else $(RM) depend && mv depend.tmp depend; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
947 fi