annotate modules/common/Makefile.common @ 2417:8b907450718f

[xemacs-hg @ 2004-12-05 08:48:12 by ben] The section on Troubleshooting (now 2.3) has been completely written and includes a lot of stuff that is not properly documented anywhere else. A fair amount of obsolete info has been deleted and I've incorporated the comments that people (mostly Stephen T) made. Former chapter 3 has been split up in two, one pertaining to basic I/O and the other to external I/O. What were formerly chapters 5 and 6 no longer exist as such; the info in them has been distributed across various other chapters. Old chapter 4 got split up, part going to the new chapter 4 on external I/O and part going to the new chapter 5 on the Internet. In this new chapter, stuff not pertaining to a specific package (e.g. VM or GNUS) was taken out of package-specific sections and a general mail section was constituted. Part of old chapter 5 remains in a new chapter 6 devoted to Emacs Lisp and other advanced stuff, and a section from old chapter 3 on basic init-file Lisp and some stuff from old chapter 5 on Info. The rest of chapter 5 was just misc and has gotten scattered to the winds (mostly in chapters 3 and 4). Old chapter 6 has also gotten quite scattered; there is no longer any section specifically devoted to Windows except one of the Installation sections (along with a section specfically devoted to Unix), and the rest has moved to join the appropriate non-Windows-specific section elsewhere. A lot of chapters had their sections rearranged and likewise for sections having entries rearranged, with the intention that the new arrangement should be more natural. In general I hope that stuff should be much easier to locate. I also rewrote the entries on the relation between XEmacs and GNU Emacs on the authors of XEmacs, including lots of info on who wrote specific subsections. However, this history is certainly not complete; I hope people will look over this and fix it up as necessary.
author ben
date Sun, 05 Dec 2004 08:48:12 +0000
parents bbba13600d74
children 21d92abaac3a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1083
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
1 ## Common Makefile section for modules in XEmacs.
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
2 ## Copyright (C) 2002 Jerry James.
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
3
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
4 ## This file is part of XEmacs.
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
5
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
6 ## XEmacs is free software; you can redistribute it and/or modify it
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
7 ## under the terms of the GNU General Public License as published by the
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
8 ## Free Software Foundation; either version 2, or (at your option) any
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
9 ## later version.
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
10
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
11 ## XEmacs is distributed in the hope that it will be useful, but WITHOUT
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
12 ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
13 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
14 ## for more details.
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
15
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
16 ## You should have received a copy of the GNU General Public License
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
17 ## along with XEmacs; see the file COPYING. If not, write to
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
18 ## the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
19 ## Boston, MA 02111-1307, USA.
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
20
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
21 ## Synched up with: Not in FSF.
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
22
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
23 ## This is more complicated than would normally be the case, as this makefile
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
24 ## has been tailored to work both inside and independently of the XEmacs
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
25 ## source tree, and to support both module and non-module building inside the
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
26 ## source tree.
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
27
1111
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 1083
diff changeset
28 ## Note: This will be appended to the individual module Makefiles by configure.
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 1083
diff changeset
29
1632
64eaceca611d [xemacs-hg @ 2003-08-19 02:07:03 by james]
james
parents: 1522
diff changeset
30 #define NOT_C_CODE
64eaceca611d [xemacs-hg @ 2003-08-19 02:07:03 by james]
james
parents: 1522
diff changeset
31 #include "../../src/config.h"
64eaceca611d [xemacs-hg @ 2003-08-19 02:07:03 by james]
james
parents: 1522
diff changeset
32
1083
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
33 SHELL=/bin/sh
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
34 RM=rm -f
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
35 PROGNAME=@PROGNAME@
2377
bbba13600d74 [xemacs-hg @ 2004-11-08 15:14:36 by stephent]
stephent
parents: 1650
diff changeset
36 CFLAGS=@XE_CFLAGS@
1083
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
37 INSTALL=@INSTALL@
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
38 version=@version@
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
39 prefix=@prefix@
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
40 exec_prefix=@exec_prefix@
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
41 libdir=@libdir@
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
42 instvardir=@instvardir@
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
43 configuration=@configuration@
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
44 moduledir=@moduledir@
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
45 with_modules=@with_modules@
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
46
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
47 srcdir=@srcdir@
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
48 VPATH=@srcdir@
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
49
1522
84bef38b39b6 [xemacs-hg @ 2003-06-11 21:21:13 by james]
james
parents: 1520
diff changeset
50 SRC_SRCS=$(SRCS:%=@srcdir@/%)
1490
74b2ea269eb5 [xemacs-hg @ 2003-05-20 15:00:22 by james]
james
parents: 1489
diff changeset
51 OBJS=$(SRCS:.c=.o)
74b2ea269eb5 [xemacs-hg @ 2003-05-20 15:00:22 by james]
james
parents: 1489
diff changeset
52
1252
a0845169de0a [xemacs-hg @ 2003-02-03 17:46:54 by james]
james
parents: 1111
diff changeset
53 MODCC=@MOD_CC@
1083
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
54 MODARCHDIR=@MODARCHDIR@
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
55 MAKE_DOCFILE=@MAKE_DOCFILE@
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
56 MODCFLAGS=@MODCFLAGS@
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
57 INSTALLPATH=@INSTALLPATH@
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
58 INSTALL_PROGRAM=@MOD_INSTALL_PROGRAM@
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
59 OBJECT_TO_BUILD=@OBJECT_TO_BUILD@
1650
34abfb24e891 [xemacs-hg @ 2003-08-28 15:44:04 by james]
james
parents: 1632
diff changeset
60 LIBSTDCPP=@LIBSTDCPP@
1632
64eaceca611d [xemacs-hg @ 2003-08-19 02:07:03 by james]
james
parents: 1522
diff changeset
61 #ifdef HAVE_MS_WINDOWS
64eaceca611d [xemacs-hg @ 2003-08-19 02:07:03 by james]
james
parents: 1522
diff changeset
62 IMPORT_LIB=../../src/xemacs-import.a
64eaceca611d [xemacs-hg @ 2003-08-19 02:07:03 by james]
james
parents: 1522
diff changeset
63 #endif
1083
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
64
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
65 .PHONY: clean distclean install
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
66 all: $(OBJECT_TO_BUILD)
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
67
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
68 .c.o:
1252
a0845169de0a [xemacs-hg @ 2003-02-03 17:46:54 by james]
james
parents: 1111
diff changeset
69 $(MODCC) $(MODCFLAGS) -c $<
1083
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
70
1632
64eaceca611d [xemacs-hg @ 2003-08-19 02:07:03 by james]
james
parents: 1522
diff changeset
71 $(MODNAME).ell: $(OBJS) $(MODNAME)_i.o $(IMPORT_LIB)
1489
52dd7cedee30 [xemacs-hg @ 2003-05-20 14:40:03 by james]
james
parents: 1252
diff changeset
72 $(MODCC) --mode=link --mode=verbose --mod-output=$@ \
1650
34abfb24e891 [xemacs-hg @ 2003-08-28 15:44:04 by james]
james
parents: 1632
diff changeset
73 $(OBJS) $(MODNAME)_i.o $(IMPORT_LIB) $(LDFLAGS) $(LIBSTDCPP)
1083
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
74
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
75 $(MODNAME)_i.c: $(SRCS)
1252
a0845169de0a [xemacs-hg @ 2003-02-03 17:46:54 by james]
james
parents: 1111
diff changeset
76 ELLMAKEDOC=$(MAKE_DOCFILE) $(MODCC) --mode=init --mod-output=$@ \
1083
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
77 --mod-name=$(MODNAME) --mod-version=$(MODVER) \
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
78 --mod-title=$(MODTITLE) $(SRC_SRCS)
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
79
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
80 clean:
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
81 $(RM) $(MODNAME).ell $(OBJS) $(MODNAME)_i.* *~
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
82
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
83 distclean: clean
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
84 $(RM) Makefile config.* configure
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
85
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
86 extraclean: distclean
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
87
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
88 install: $(OBJECT_TO_BUILD)
d87493ecc64b [xemacs-hg @ 2002-11-04 05:19:45 by ben]
ben
parents:
diff changeset
89 $(INSTALL_PROGRAM) $< $(INSTALLPATH)