annotate modules/zlib/Makefile @ 5574:d4f334808463

Support inlining labels, bytecomp.el. lisp/ChangeLog addition: 2011-10-02 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el (byte-compile-initial-macro-environment): Add #'declare to this, so it doesn't need to rely on #'cl-compiling file to determine when we're byte-compiling. Update #'labels to support declaring labels inline, as Common Lisp requires. * bytecomp.el (byte-compile-function-form): Don't error if FUNCTION is quoting a non-lambda, non-symbol, just return it. * cl-extra.el (cl-macroexpand-all): If a label name has been quoted, expand to the label placeholder quoted with 'function. This allows the byte compiler to distinguish between uses of the placeholder as data and uses in contexts where it should be inlined. * cl-macs.el: * cl-macs.el (cl-do-proclaim): When proclaming something as inline, if it is bound as a label, don't modify the symbol's plist; instead, treat the first element of its placeholder constant vector as a place to store compile information. * cl-macs.el (declare): Leave processing declarations while compiling to the implementation of #'declare in byte-compile-initial-macro-environment. tests/ChangeLog addition: 2011-10-02 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: * automated/lisp-tests.el (+): Test #'labels and inlining.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 02 Oct 2011 15:32:16 +0100
parents 4aa8ee813265
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5449
b44930391f7d Copyright and license for Makefiles in modules/base64 and modules/zlib
Mats Lidell <matsl@xemacs.org>
parents: 442
diff changeset
1 # Copyright (C) 1998, 1999 William Perry.
b44930391f7d Copyright and license for Makefiles in modules/base64 and modules/zlib
Mats Lidell <matsl@xemacs.org>
parents: 442
diff changeset
2
b44930391f7d Copyright and license for Makefiles in modules/base64 and modules/zlib
Mats Lidell <matsl@xemacs.org>
parents: 442
diff changeset
3 # This file is part of XEmacs.
b44930391f7d Copyright and license for Makefiles in modules/base64 and modules/zlib
Mats Lidell <matsl@xemacs.org>
parents: 442
diff changeset
4
b44930391f7d Copyright and license for Makefiles in modules/base64 and modules/zlib
Mats Lidell <matsl@xemacs.org>
parents: 442
diff changeset
5 # XEmacs is free software: you can redistribute it and/or modify it
b44930391f7d Copyright and license for Makefiles in modules/base64 and modules/zlib
Mats Lidell <matsl@xemacs.org>
parents: 442
diff changeset
6 # under the terms of the GNU General Public License as published by the
b44930391f7d Copyright and license for Makefiles in modules/base64 and modules/zlib
Mats Lidell <matsl@xemacs.org>
parents: 442
diff changeset
7 # Free Software Foundation, either version 3 of the License, or (at your
b44930391f7d Copyright and license for Makefiles in modules/base64 and modules/zlib
Mats Lidell <matsl@xemacs.org>
parents: 442
diff changeset
8 # option) any later version.
b44930391f7d Copyright and license for Makefiles in modules/base64 and modules/zlib
Mats Lidell <matsl@xemacs.org>
parents: 442
diff changeset
9
b44930391f7d Copyright and license for Makefiles in modules/base64 and modules/zlib
Mats Lidell <matsl@xemacs.org>
parents: 442
diff changeset
10 # XEmacs is distributed in the hope that it will be useful, but WITHOUT
b44930391f7d Copyright and license for Makefiles in modules/base64 and modules/zlib
Mats Lidell <matsl@xemacs.org>
parents: 442
diff changeset
11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
b44930391f7d Copyright and license for Makefiles in modules/base64 and modules/zlib
Mats Lidell <matsl@xemacs.org>
parents: 442
diff changeset
12 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
b44930391f7d Copyright and license for Makefiles in modules/base64 and modules/zlib
Mats Lidell <matsl@xemacs.org>
parents: 442
diff changeset
13 # for more details.
b44930391f7d Copyright and license for Makefiles in modules/base64 and modules/zlib
Mats Lidell <matsl@xemacs.org>
parents: 442
diff changeset
14
b44930391f7d Copyright and license for Makefiles in modules/base64 and modules/zlib
Mats Lidell <matsl@xemacs.org>
parents: 442
diff changeset
15 # You should have received a copy of the GNU General Public License
b44930391f7d Copyright and license for Makefiles in modules/base64 and modules/zlib
Mats Lidell <matsl@xemacs.org>
parents: 442
diff changeset
16 # along with XEmacs. If not, see <http://www.gnu.org/licenses/>.
b44930391f7d Copyright and license for Makefiles in modules/base64 and modules/zlib
Mats Lidell <matsl@xemacs.org>
parents: 442
diff changeset
17
b44930391f7d Copyright and license for Makefiles in modules/base64 and modules/zlib
Mats Lidell <matsl@xemacs.org>
parents: 442
diff changeset
18
428
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 # Sample makefile for a simple Emacs module.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21 # This is slightly more complicated than would normally be the case,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22 # as this makefile has been tailored to work in the Emacs source tree.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 # For samples of how to compile modules outside of the source tree
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24 # (as would be the case if a user had downloaded a module and wanted
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25 # to compile it for use within Emacs), see the samples in the sub-directory
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26 # 'installed'.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27 #
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28
5512
4aa8ee813265 Add a DESTDIR variable to all Makefiles, defaulting to the empty string, and
Jerry James <james@xemacs.org>
parents: 5449
diff changeset
29 DESTDIR=
4aa8ee813265 Add a DESTDIR variable to all Makefiles, defaulting to the empty string, and
Jerry James <james@xemacs.org>
parents: 5449
diff changeset
30
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
31 SHELL=/bin/sh
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
32 RM=rm -f
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33 CC=../../lib-src/ellcc
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34 CFLAGS=-I. -I../../src
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35 LD=$(CC) --mode=link
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36 MKINIT=$(CC) --mode=init
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38 SRCS=zlib.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
39 OBJS=$(SRCS:.c=.o)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
40
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
41 .c.o:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
42 $(CC) $(CFLAGS) -c $<
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
43
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
44 MODNAME=zlib
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
45 MODVER=1.0.4
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
46 MODTITLE="ZLIB compression library interface"
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 all: $(MODNAME).ell
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
50 distclean: clean
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
51
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
52 clean:
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
53 $(RM) $(MODNAME).ell $(OBJS) zlib_i.o zlib_i.c
428
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 $(MODNAME).ell: $(OBJS) zlib_i.o
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
56 $(LD) --mod-output=$@ $(OBJS) zlib_i.o
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 zlib_i.o: zlib_i.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
59 zlib_i.c: $(SRCS)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60 ELLMAKEDOC=../../lib-src/make-docfile $(MKINIT) --mod-output=$@ \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
61 --mod-name=$(MODNAME) --mod-version=$(MODVER) \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
62 --mod-title=$(MODTITLE) $(SRCS)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
63