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