annotate nt/compface.mak @ 4716:dca5bb2adff1

Don't cons with #'mapcar calls where the result is discarded, decide on mapc-internal at compile time if the Common Lisp functionality is not being used. 2009-10-12 Aidan Kehoe <kehoea@parhasard.net> * cl-macs.el (mapc): New compiler macro, use mapc-internal at compile time if we're not using the Common Lisp functionality. * bytecomp.el (byte-compile-mapcar, byte-compile-maplist): New. If the return value of mapcar is being discarded, compile it to a mapc-internal call instead, and warn, because the programmer probably can't rely on always being compiled by an XEmacs that does this. Similarly for maplist and mapl; and use byte-compile-funarg for map, mapl, mapcan, mapcon.
author Aidan Kehoe <kehoea@parhasard.net>
date Mon, 12 Oct 2009 17:19:52 +0100
parents 1e7b510d04f6
children 03ab78e48ef6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
394
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
1 #
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
2 # Compface Makefile for Microsoft NMAKE
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
3 # Based on xpm.mak
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
4 #
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
5
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
6 !if !defined(DEBUG_XEMACS)
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
7 DEBUG_XEMACS=0
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
8 !endif
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
9
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
10 !if $(DEBUG_XEMACS)
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
11 OPT=-Od -Zi
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
12 !else
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
13 OPT=-O2 -G5 -Zi
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
14 !endif
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
15
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
16 WARN_CPP_FLAGS = -W3
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
17
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
18 #MSVC uses string.h, not strings.h
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
19 DEFINES=-DSYSV32
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
20
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
21 CC=cl
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
22 CFLAGS=-nologo -DFOR_MSW $(WARN_CPP_FLAGS) $(OPT) $(INCLUDES) $(DEFINES) -Fo$@ -c
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
23
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
24 OBJS= arith.obj file.obj compress.obj gen.obj uncompface.obj
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
25
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
26 # nmake rule
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
27
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
28 .SUFFIXES:
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
29 .SUFFIXES: .c
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
30
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
31 .c.obj:
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
32 $(CC) $(CFLAGS) $< -Fo$@
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
33
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
34
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
35 # targets
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
36
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
37 all: libcompface.lib
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
38
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
39 libcompface.lib: $(OBJS)
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents:
diff changeset
40 link.exe -lib -nologo -out:$@ $(OBJS)
488
1e7b510d04f6 [xemacs-hg @ 2001-04-28 21:04:49 by adrian]
adrian
parents: 394
diff changeset
41
1e7b510d04f6 [xemacs-hg @ 2001-04-28 21:04:49 by adrian]
adrian
parents: 394
diff changeset
42 clean: $(OBJS)
1e7b510d04f6 [xemacs-hg @ 2001-04-28 21:04:49 by adrian]
adrian
parents: 394
diff changeset
43 -rm -f $(OBJS) libcompface.lib