Mercurial > vim
comparison src/Make_sas.mak @ 7:3fc0f57ecb91 v7.0001
updated for version 7.0001
author | vimboss |
---|---|
date | Sun, 13 Jun 2004 20:20:40 +0000 |
parents | |
children | e8f07016e34d |
comparison
equal
deleted
inserted
replaced
6:c2daee826b8f | 7:3fc0f57ecb91 |
---|---|
1 # vim: set ft=make : | |
2 # Makefile for VIM on the Amiga, using SAS/Lattice C 6.0 to 6.58 | |
3 # | |
4 # Do NOT use the peephole optimizer with a version before 6.56! | |
5 # It messes up all kinds of things: | |
6 # For 6.0 and 6.1, expand_env() will not work correctly. | |
7 # For 6.2 and 6.3 the call to free_line in u_freeentry is wrong. | |
8 # The "read.me" file for version 6.56 includes a remark about a fix for the | |
9 # peephole optimizer. Everything before 6.56 will probably fail. | |
10 # | |
11 # You should use Manx Aztec C whenever possible, because it has been tested. | |
12 # | |
13 # The prototypes from Manx and SAS are incompatible. If the prototypes | |
14 # were generated by Manx, first do "touch *.c; make proto" before "make". | |
15 # The prototypes generated on Unix work for both. | |
16 # | |
17 # Note: Not all dependencies are included. This was done to avoid having | |
18 # to compile everything when a global variable or function is added. | |
19 | |
20 #>>>>> choose options: | |
21 | |
22 ### See feature.h for a list of optionals. | |
23 ### Any other defines can be included here. | |
24 | |
25 # NO_ARP Don't include ARP functions | |
26 # SASC=658 Sas/C version number | |
27 # NEWSASC fixes a bug in the syntax highlighting? | |
28 DEFINES = DEF=NO_ARP DEF=NEWSASC DEF="SASC=658" | |
29 | |
30 #>>>>> if HAVE_TGETENT is defined termlib.o has to be used | |
31 #TERMLIB = termlib.o | |
32 TERMLIB = | |
33 | |
34 #>>>>> choose NODEBUG for normal compiling, the other for debugging and | |
35 # profiling | |
36 # don't switch on debugging when generating proto files, it crashes the | |
37 # compiler. | |
38 DBG = NODEBUG | |
39 #DBG = DBG=SF | |
40 | |
41 #>>>>> choose NOOPTPEEP for 6.0 to 6.3, NOOPT for debugging | |
42 # with version 6.56 and later you can probably use OPT | |
43 OPTIMIZE = OPT | |
44 #OPTIMIZE = NOOPTPEEP | |
45 #OPTIMIZE = NOOPT | |
46 | |
47 # for 6.58 you can use the line below, but be warned it takes a loooonnnggg time | |
48 #OPTIMIZE=OPT OPTIMIZERSCHEDULER OPTIMIZERTIME NoOPTIMIZERALIAS \ | |
49 OptimizerComplexity=10 OptimizerDepth=10 OptimizerRecurDepth=10 \ | |
50 OptimizerInLocal OPTPEEP | |
51 | |
52 #generate code for your processor - 68060 will work for 040's as well. | |
53 CPU=68000 | |
54 #CPU=68020 | |
55 #CPU=68030 | |
56 #CPU=68040 | |
57 #CPU=68060 | |
58 | |
59 #Error reporting - rexx or console | |
60 ERROR = ERRORCONSOLE ERRORSOURCE ERRORHIGHLIGHT | |
61 #ERROR = ERRORREXX ERRORCONSOLE ERRORSOURCE ERRORHIGHLIGHT | |
62 | |
63 #memory types, if you have fast use it :->, | |
64 # ANY = will work on all machines | |
65 # FAST = this is the best option, for speed | |
66 #MEMORYTYPE=FAST | |
67 MEMORYTYPE=ANY | |
68 | |
69 #MEMSIZE - this is for compile time only for speed of compilation | |
70 #MEMSIZE=HUGE | |
71 MEMSIZE=LARGE | |
72 #MEMSIZE=SMALL | |
73 | |
74 #>>>>> end of choices | |
75 ########################################################################### | |
76 | |
77 CC = sc | |
78 GST = vim.gst | |
79 COPTS = SINT SCODE SDATA | |
80 SHELL = csh | |
81 DEL = $(SHELL) -c rm -f | |
82 | |
83 # ignore error messages for uninitialized variables, they are mostly not correct | |
84 CFLAGS = NOLINK $(DBG) CPU=$(CPU) NOSTACKCHECK DEF=AMIGA CODE=FAR idir=proto ignore=317 | |
85 CFLAGS2 = $(OPTIMIZE) $(ERROR) GSTIMMEDIATE GST=$(GST) | |
86 CFLAGS3 = $(COPTS) STRINGMERGE MEMSIZE=$(MEMSIZE) | |
87 CFLAGS4 = $(DEFINES) DATAMEMORY=$(MEMORYTYPE) | |
88 | |
89 PROPT = DEF=PROTO GPROTO GPPARM MAXIMUMERRORS=999 GENPROTOSTATICS GENPROTOPARAMETERS | |
90 | |
91 SRC = \ | |
92 buffer.c \ | |
93 charset.c \ | |
94 diff.c \ | |
95 digraph.c \ | |
96 edit.c \ | |
97 eval.c \ | |
98 ex_cmds.c \ | |
99 ex_cmds2.c \ | |
100 ex_docmd.c \ | |
101 ex_eval.c \ | |
102 ex_getln.c \ | |
103 fileio.c \ | |
104 fold.c \ | |
105 getchar.c \ | |
106 main.c \ | |
107 mark.c \ | |
108 memfile.c \ | |
109 memline.c \ | |
110 menu.c \ | |
111 message.c \ | |
112 misc1.c \ | |
113 misc2.c \ | |
114 move.c \ | |
115 mbyte.c \ | |
116 normal.c \ | |
117 ops.c \ | |
118 option.c \ | |
119 os_amiga.c \ | |
120 quickfix.c \ | |
121 regexp.c \ | |
122 screen.c \ | |
123 search.c \ | |
124 syntax.c \ | |
125 tag.c \ | |
126 term.c \ | |
127 ui.c \ | |
128 undo.c \ | |
129 window.c \ | |
130 version.c | |
131 | |
132 OBJ = \ | |
133 buffer.o \ | |
134 charset.o \ | |
135 diff.o \ | |
136 digraph.o \ | |
137 edit.o \ | |
138 eval.o \ | |
139 ex_cmds.o \ | |
140 ex_cmds2.o \ | |
141 ex_docmd.o \ | |
142 ex_eval.o \ | |
143 ex_getln.o \ | |
144 fileio.o \ | |
145 fold.o \ | |
146 getchar.o \ | |
147 main.o \ | |
148 mark.o \ | |
149 memfile.o \ | |
150 memline.o \ | |
151 menu.o \ | |
152 message.o \ | |
153 misc1.o \ | |
154 misc2.o \ | |
155 move.o \ | |
156 mbyte.o \ | |
157 normal.o \ | |
158 ops.o \ | |
159 option.o \ | |
160 os_amiga.o \ | |
161 quickfix.o \ | |
162 regexp.o \ | |
163 screen.o \ | |
164 search.o \ | |
165 syntax.o \ | |
166 tag.o \ | |
167 term.o \ | |
168 ui.o \ | |
169 undo.o \ | |
170 window.o \ | |
171 $(TERMLIB) | |
172 | |
173 PRO = \ | |
174 proto/buffer.pro \ | |
175 proto/charset.pro \ | |
176 proto/diff.pro \ | |
177 proto/digraph.pro \ | |
178 proto/edit.pro \ | |
179 proto/eval.pro \ | |
180 proto/ex_cmds.pro \ | |
181 proto/ex_cmds2.pro \ | |
182 proto/ex_docmd.pro \ | |
183 proto/ex_eval.pro \ | |
184 proto/ex_getln.pro \ | |
185 proto/fileio.pro \ | |
186 proto/fold.pro \ | |
187 proto/getchar.pro \ | |
188 proto/main.pro \ | |
189 proto/mark.pro \ | |
190 proto/memfile.pro \ | |
191 proto/memline.pro \ | |
192 proto/menu.pro \ | |
193 proto/message.pro \ | |
194 proto/misc1.pro \ | |
195 proto/misc2.pro \ | |
196 proto/move.pro \ | |
197 proto/mbyte.pro \ | |
198 proto/normal.pro \ | |
199 proto/ops.pro \ | |
200 proto/option.pro \ | |
201 proto/os_amiga.pro \ | |
202 proto/quickfix.pro \ | |
203 proto/regexp.pro \ | |
204 proto/screen.pro \ | |
205 proto/search.pro \ | |
206 proto/syntax.pro \ | |
207 proto/tag.pro \ | |
208 proto/term.pro \ | |
209 proto/termlib.pro \ | |
210 proto/ui.pro \ | |
211 proto/undo.pro \ | |
212 proto/window.pro | |
213 | |
214 all: proto Vim | |
215 | |
216 Vim: scoptions $(OBJ) version.c version.h | |
217 $(CC) $(CFLAGS) version.c | |
218 $(CC) LINK $(COPTS) $(OBJ) version.o $(DBG) PNAME=Vim | |
219 | |
220 debug: scoptions $(OBJ) version.c version.h | |
221 $(CC) $(CFLAGS) version.c | |
222 $(CC) LINK $(COPTS) $(OBJ) version.o $(DBG) PNAME=Vim | |
223 | |
224 proto: $(GST) $(PRO) | |
225 | |
226 tags: | |
227 spat ctags $(SRC) *.h | |
228 # csh -c ctags $(SRC) *.h | |
229 | |
230 # can't use delete here, too many file names | |
231 clean: | |
232 $(DEL) *.o Vim $(GST) | |
233 | |
234 # generate GlobalSymbolTable, which speeds up the compile time. | |
235 # | |
236 # A preprocessing stage is used to work arounda bug in the GST generator, in | |
237 # that it does not handle nested makefiles properly in this stage. | |
238 # Ignore error message for not producing any code (105). | |
239 $(GST): scoptions vim.h keymap.h macros.h ascii.h term.h structs.h | |
240 $(CC) $(CFLAGS) PREPROCESSORONLY vim.h objectname pre.h | |
241 $(CC) MGST=$(GST) pre.h ignore=105 | |
242 $(DEL) pre.h | |
243 | |
244 # generate an options file, because SAS/C smake can't handle the amiga command | |
245 # line can handle the lengths that this makefile will impose on the shell. | |
246 # (Manx's make can do this). | |
247 scoptions: Make_sas.mak | |
248 @echo "Generating - $@ ..." | |
249 @echo $(CFLAGS) > scoptions | |
250 @echo $(CFLAGS1) >> scoptions | |
251 @echo $(CFLAGS2) >> scoptions | |
252 @echo $(CFLAGS3) >> scoptions | |
253 @echo $(CFLAGS4) >> scoptions | |
254 @echo $(COPTS) >>scoptions | |
255 @echo done | |
256 | |
257 ########################################################################### | |
258 | |
259 $(OBJ): $(GST) vim.h | |
260 $(PRO): $(GST) vim.h | |
261 | |
262 .c.o: | |
263 $(CC) $(CFLAGS) $*.c | |
264 | |
265 .c.pro: | |
266 $(CC) $(CFLAGS) GPFILE=proto/$*.pro $(PROPT) $*.c | |
267 | |
268 # dependancies | |
269 buffer.o: buffer.c | |
270 proto/buffer.pro: buffer.c | |
271 charset.o: charset.c | |
272 proto/charset.pro: charset.c | |
273 diff.o: diff.c | |
274 proto/diff.pro: diff.c | |
275 digraph.o: digraph.c | |
276 proto/digraph.pro: digraph.c | |
277 edit.o: edit.c | |
278 proto/edit.pro: edit.c | |
279 eval.o: eval.c | |
280 proto/eval.pro: eval.c | |
281 ex_cmds.o: ex_cmds.c | |
282 proto/ex_cmds.pro: ex_cmds.c | |
283 ex_cmds2.o: ex_cmds2.c | |
284 proto/ex_cmds2.pro: ex_cmds2.c | |
285 ex_docmd.o: ex_docmd.c ex_cmds.h | |
286 proto/ex_docmd.pro: ex_docmd.c ex_cmds.h | |
287 ex_eval.o: ex_eval.c ex_cmds.h | |
288 proto/ex_eval.pro: ex_eval.c ex_cmds.h | |
289 ex_getln.o: ex_getln.c | |
290 proto/ex_getln.pro: ex_getln.c | |
291 fileio.o: fileio.c | |
292 proto/fileio.pro: fileio.c | |
293 fold.o: fold.c | |
294 proto/fold.pro: fold.c | |
295 getchar.o: getchar.c | |
296 proto/getchar.pro: getchar.c | |
297 main.o: main.c | |
298 proto/main.pro: main.c | |
299 mark.o: mark.c | |
300 proto/mark.pro: mark.c | |
301 memfile.o: memfile.c | |
302 proto/memfile.pro: memfile.c | |
303 memline.o: memline.c | |
304 proto/memline.pro: memline.c | |
305 menu.o: menu.c | |
306 proto/menu.pro: menu.c | |
307 message.o: message.c | |
308 proto/message.pro: message.c | |
309 misc1.o: misc1.c | |
310 proto/misc1.pro: misc1.c | |
311 misc2.o: misc2.c | |
312 proto/misc2.pro: misc2.c | |
313 move.o: move.c | |
314 proto/move.pro: move.c | |
315 mbyte.o: mbyte.c | |
316 proto/mbyte.pro: mbyte.c | |
317 normal.o: normal.c | |
318 proto/normal.pro: normal.c | |
319 ops.o: ops.c | |
320 proto/ops.pro: ops.c | |
321 option.o: option.c | |
322 proto/option.pro: option.c | |
323 os_amiga.o: os_amiga.c | |
324 proto/os_amiga.pro: os_amiga.c | |
325 quickfix.o: quickfix.c | |
326 proto/quickfix.pro: quickfix.c | |
327 regexp.o: regexp.c | |
328 proto/regexp.pro: regexp.c | |
329 screen.o: screen.c | |
330 proto/screen.pro: screen.c | |
331 search.o: search.c | |
332 proto/search.pro: search.c | |
333 syntax.o: syntax.c | |
334 proto/syntax.pro: syntax.c | |
335 tag.o: tag.c | |
336 proto/tag.pro: tag.c | |
337 term.o: term.c | |
338 proto/term.pro: term.c | |
339 termlib.o: termlib.c | |
340 proto/termlib.pro: termlib.c | |
341 ui.o: ui.c | |
342 proto/ui.pro: ui.c | |
343 undo.o: undo.c | |
344 proto/undo.pro: undo.c | |
345 window.o: window.c |