/[cmucl]/src/clx/exclMakefile
ViewVC logotype

Contents of /src/clx/exclMakefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.5 - (show annotations)
Wed Jun 17 18:22:46 2009 UTC (4 years, 10 months ago) by rtoy
Branch: MAIN
CVS Tags: sparc-tramp-assem-base, post-merge-intl-branch, intl-branch-working-2010-02-19-1000, unicode-string-buffer-impl-base, release-20b-pre1, release-20b-pre2, unicode-string-buffer-base, sparc-tramp-assem-2010-07-19, amd64-dd-start, intl-2-branch-base, GIT-CONVERSION, cross-sol-x86-merged, intl-branch-working-2010-02-11-1000, RELEASE_20b, release-20a-base, cross-sol-x86-base, snapshot-2010-12, snapshot-2010-11, snapshot-2011-09, snapshot-2011-06, snapshot-2011-07, snapshot-2011-04, snapshot-2011-02, snapshot-2011-03, snapshot-2011-01, pre-merge-intl-branch, snapshot-2010-05, snapshot-2010-04, snapshot-2010-07, snapshot-2010-06, snapshot-2010-01, snapshot-2010-03, snapshot-2010-02, snapshot-2010-08, cross-sol-x86-2010-12-20, intl-branch-2010-03-18-1300, RELEASE_20a, release-20a-pre1, snapshot-2009-11, snapshot-2009-12, cross-sparc-branch-base, intl-branch-base, snapshot-2009-08, snapshot-2009-07, HEAD
Branch point for: cross-sparc-branch, RELEASE-20B-BRANCH, unicode-string-buffer-branch, sparc-tramp-assem-branch, RELEASE-20A-BRANCH, amd64-dd-branch, unicode-string-buffer-impl-branch, intl-branch, cross-sol-x86-branch, intl-2-branch
Changes since 1.4: +1 -1 lines
Merge portable-clx (2009-06-16) to main branch.  Tested by running
src/contrib/games/feebs and hemlock which works (in non-unicode
builds).
1 #
2 # Makefile for CLX
3 # (X11 R4.4 release, Franz Allegro Common Lisp version)
4 #
5 # $Id: exclMakefile,v 1.5 2009/06/17 18:22:46 rtoy Rel $
6 #
7
8 # *************************************************************************
9 # * Change the next line to point to where you have Common Lisp installed *
10 # * (make sure the Lisp doesn't already have CLX loaded in) *
11 # *************************************************************************
12 CL = /usr/local/bin/cl
13
14 RM = /bin/rm
15 SHELL = /bin/sh
16 ECHO = /bin/echo
17 TAGS = /usr/local/lib/emacs/etc/etags
18
19 # Name of dumped lisp
20 CLX = CLX
21
22 CLOPTS = -qq
23
24 # Use this one for Suns
25 CFLAGS = -O -DUNIXCONN
26 # Use this one for Silicon Graphics & Mips Inc MIPS based machines
27 # CFLAGS = -O -G 0 -I/usr/include/bsd
28 # Use this one for DEC MIPS based machines
29 # CFLAGS = -O -G 0 -DUNIXCONN
30 # Use this one for HP machines
31 # CFLAGS = -O -DSYSV -DUNIXCONN
32
33
34 # Lisp optimization for compiling
35 SPEED = 3
36 SAFETY = 0
37
38
39 C_SRC = excldep.c socket.c
40 C_OBJS = excldep.o socket.o
41
42 L_OBJS = defsystem.fasl package.fasl excldep.fasl depdefs.fasl clx.fasl \
43 dependent.fasl exclcmac.fasl macros.fasl bufmac.fasl buffer.fasl \
44 display.fasl gcontext.fasl requests.fasl input.fasl fonts.fasl \
45 graphics.fasl text.fasl attributes.fasl translate.fasl keysyms.fasl \
46 manager.fasl image.fasl resource.fasl
47
48 L_NOMACROS_OBJS = package.fasl excldep.fasl depdefs.fasl clx.fasl \
49 dependent.fasl buffer.fasl display.fasl gcontext.fasl \
50 requests.fasl input.fasl fonts.fasl graphics.fasl text.fasl \
51 attributes.fasl translate.fasl keysyms.fasl manager.fasl image.fasl \
52 resource.fasl
53
54 L_SRC = defsystem.cl package.cl excldep.cl depdefs.cl clx.cl \
55 dependent.cl exclcmac.cl macros.cl bufmac.cl buffer.cl \
56 display.cl gcontext.cl requests.cl input.cl fonts.cl \
57 graphics.cl text.cl attributes.cl translate.cl keysyms.cl \
58 manager.cl image.cl resource.cl
59
60 # default and aliases
61 all: no-clos
62 # all: partial-clos
63 compile-CLX-for-CLUE: compile-partial-clos-CLX
64 clue: partial-clos
65
66 #
67 # Three build rules are provided: no-clos, partial-clos, and full-clos.
68 # The first is no-clos, which results in a CLX whose datastructures are
69 # all defstructs. partial-clos results in xlib:window, xlib:pixmap, and
70 # xlib:drawable being CLOS instances, all others defstructs. full-clos
71 # makes all CLX complex datatypes into CLOS instances.
72 #
73 # (note that the :clos feature implies native CLOS *not* PCL).
74 #
75
76 no-clos: $(C_OBJS) compile-no-clos-CLX cat
77
78 #
79 # This rule is used to compile CLX to be used with XCW version 2, or CLUE.
80 #
81 partial-clos: $(C_OBJS) compile-partial-clos-CLX cat
82
83 full-clos: $(C_OBJS) compile-full-clos-CLX cat
84
85
86 c: $(C_OBJS)
87
88
89 compile-no-clos-CLX: $(C_OBJS)
90 $(ECHO) " \
91 (set-case-mode :case-sensitive-lower) \
92 (proclaim '(optimize (speed $(SPEED)) (safety $(SAFETY)))) \
93 #+(version>= 4 0) (pushnew :clx-ansi-common-lisp *features*) \
94 (load \"defsystem\") \
95 #+allegro (compile-system :clx) \
96 #-allegro (compile-clx) \
97 #+allegro (compile-system :clx-debug)" \
98 | $(CL) $(CLOPTS) -batch
99
100 compile-partial-clos-CLX: $(C_OBJS)
101 $(ECHO) " \
102 #+clos (set-case-mode :case-sensitive-lower) \
103 #-clos (setq excl::*print-nickname* t) \
104 (proclaim '(optimize (speed $(SPEED)) (safety $(SAFETY)))) \
105 (unless (or (find-package 'clos) (find-package 'pcl)) \
106 (let ((spread (sys:gsgc-parameter :generation-spread))) \
107 (setf (sys:gsgc-parameter :generation-spread) 1) \
108 (require :pcl) \
109 (provide :pcl) \
110 (gc) (gc) \
111 (setf (sys:gsgc-parameter :generation-spread) spread))) \
112 #+(version>= 4 0) (pushnew :clx-ansi-common-lisp *features*) \
113 (load \"defsystem\") \
114 (load \"package\") \
115 (setq xlib::*def-clx-class-use-defclass* '(xlib:window xlib:pixmap xlib:drawable)) \
116 #+allegro (compile-system :clx) \
117 #-allegro (compile-clx \"\" \"\" :for-clue t) \
118 #+allegro (compile-system :clx-debug)" \
119 | $(CL) $(CLOPTS) -batch
120
121 compile-full-clos-CLX: $(C_OBJS)
122 $(ECHO) " \
123 #+clos (set-case-mode :case-sensitive-lower) \
124 #-clos (setq excl::*print-nickname* t) \
125 (proclaim '(optimize (speed $(SPEED)) (safety $(SAFETY)))) \
126 (unless (or (find-package 'clos) (find-package 'pcl)) \
127 (let ((spread (sys:gsgc-parameter :generation-spread))) \
128 (setf (sys:gsgc-parameter :generation-spread) 1) \
129 (require :pcl) \
130 (provide :pcl) \
131 (gc) (gc) \
132 (setf (sys:gsgc-parameter :generation-spread) spread))) \
133 #+(version>= 4 0) (pushnew :clx-ansi-common-lisp *features*) \
134 (load \"defsystem\") \
135 (load \"package\") \
136 (setq xlib::*def-clx-class-use-defclass* t) \
137 #+allegro (compile-system :clx) \
138 #-allegro (compile-clx \"\" \"\" :for-clue t) \
139 #+allegro (compile-system :clx-debug)" \
140 | $(CL) $(CLOPTS) -batch
141
142
143 cat:
144 -cat $(L_NOMACROS_OBJS) > CLX.fasl
145
146
147 load-CLX:
148 $(ECHO) " \
149 (let ((spread (sys:gsgc-parameter :generation-spread))) \
150 (setf (sys:gsgc-parameter :generation-spread) 1) \
151 (load \"defsystem\") \
152 #+allegro (load-system :clx) \
153 #-allegro (load-clx) \
154 (gc :tenure) \
155 (setf (sys:gsgc-parameter :generation-spread) spread)) \
156 (gc t)" \
157 '(dumplisp :name "$(CLX)" #+allegro :checkpoint #+allegro nil)' \
158 "(exit)" | $(CL) $(CLOPTS)
159
160 clean:
161 $(RM) -f *.fasl debug/*.fasl $(CLX) core $(C_OBJS) make.out
162
163
164 install:
165 mv CLX.fasl $(DEST)/clx.fasl
166 mv *.o $(DEST)
167
168
169 tags:
170 $(TAGS) $(L_SRC) $(C_SRC)

  ViewVC Help
Powered by ViewVC 1.1.5