blob: 77ec32cfcb5ea6b852ec72ad8bcd685f084fd3ae [file] [log] [blame]
Bram Moolenaara62372b2020-09-09 20:41:40 +02001#
2# Makefile for AROS, AmigaOS4 and MorphOS.
3#
4BIN = vim
5CC ?= gcc
6LD = $(CC)
7UNM ?= $(shell uname)
8DEBUG ?= no
9BUILD ?= huge
10CFLAGS = -c -O3
11
12# Common compiler flags
13CFLAGS += \
14 -DNO_ARP \
15 -DUSE_TMPNAM \
16 -DHAVE_STDARG_H \
17 -DHAVE_TGETENT \
18 -DHAVE_TERMCAP \
19 -DNEW_SHELLSIZE \
20 -I proto \
21 -Wno-attributes \
22 -Wextra
23
24# Vim 'huge' build
25ifeq ($(BUILD),huge)
26CFLAGS += \
27 -DFEAT_BROWSE \
28 -DFEAT_MOUSE \
29 -DFEAT_HUGE
30else
31
32# Vim 'big' build
33ifeq ($(BUILD),big)
34CFLAGS += \
35 -DFEAT_BROWSE \
36 -DFEAT_MOUSE \
37 -DFEAT_BIG
38else
39
40# Vim 'normal' build
41ifeq ($(BUILD),normal)
42CFLAGS +=\
43 -DFEAT_BROWSE \
44 -DFEAT_MOUSE \
45 -DFEAT_NORMAL
46else
47
48# Vim 'small' build
49ifeq ($(BUILD),small)
50CFLAGS += -DFEAT_SMALL
51else
52
53# Vim 'tiny' build
54ifeq ($(BUILD),tiny)
55CFLAGS += -DFEAT_TINY
56endif
57endif
58endif
59endif
60endif
61
62# OS specific compiler flags
63ifeq ($(UNM),AmigaOS)
64LDFLAGS = -mcrt=clib2 -lauto -lm -lnet
65CFLAGS += -DHAVE_FSYNC -D__USE_INLINE__ -mcrt=clib2
66else
67ifeq ($(UNM),AROS)
68LDFLAGS = -DHAVE_FSYNC -ldebug
69else
70ifeq ($(UNM),MorphOS)
=?UTF-8?q?Ola=20S=C3=B6der?=4d2073b2022-09-25 19:36:38 +010071CFLAGS += -noixemul
72LDFLAGS = -ldebug -lm -noixemul
Bram Moolenaara62372b2020-09-09 20:41:40 +020073endif
74endif
75endif
76
77# Patch level used for Amiga style version string
78ifdef PATCHLEVEL
79CFLAGS += -DPATCHLEVEL=\"$(PATCHLEVEL)\"
80endif
81
82# Common sources
83SRC += \
Yegappan Lakshmanancbae5802021-08-06 21:51:55 +020084 alloc.c \
Bram Moolenaara62372b2020-09-09 20:41:40 +020085 arabic.c \
86 arglist.c \
87 autocmd.c \
88 beval.c \
89 blob.c \
90 blowfish.c \
91 buffer.c \
92 bufwrite.c \
93 change.c \
94 charset.c \
95 cindent.c \
96 clientserver.c \
97 clipboard.c \
98 cmdhist.c \
99 cmdexpand.c \
100 crypt.c \
101 crypt_zip.c \
102 debugger.c \
103 dict.c \
104 diff.c \
105 digraph.c \
106 drawline.c \
107 drawscreen.c \
108 edit.c \
109 eval.c \
110 evalbuffer.c \
111 evalfunc.c \
112 evalvars.c \
113 evalwindow.c \
114 ex_cmds.c \
115 ex_cmds2.c \
116 ex_docmd.c \
117 ex_eval.c \
118 ex_getln.c \
119 fileio.c \
120 filepath.c \
121 findfile.c \
Yegappan Lakshmanan01c798c2021-06-02 17:07:18 +0200122 float.c \
Bram Moolenaara62372b2020-09-09 20:41:40 +0200123 fold.c \
124 getchar.c \
125 hardcopy.c \
126 hashtab.c \
127 help.c \
128 highlight.c \
129 if_cscope.c \
130 indent.c \
131 insexpand.c \
132 json.c \
133 list.c \
134 locale.c \
135 main.c \
136 mark.c \
137 map.c \
138 match.c \
139 mbyte.c \
140 memfile.c \
141 memline.c \
142 menu.c \
143 message.c \
144 misc1.c \
145 misc2.c \
146 mouse.c \
147 move.c \
148 normal.c \
149 ops.c \
150 option.c \
151 optionstr.c \
152 os_amiga.c \
153 popupmenu.c \
154 popupwin.c \
155 quickfix.c \
156 regexp.c \
157 register.c \
158 screen.c \
159 scriptfile.c \
160 search.c \
161 session.c \
162 sha256.c \
163 sign.c \
164 spell.c \
165 spellfile.c \
166 spellsuggest.c \
Yegappan Lakshmanana2438132021-07-10 21:29:18 +0200167 strings.c \
Bram Moolenaara62372b2020-09-09 20:41:40 +0200168 syntax.c \
169 tag.c \
170 term.c \
171 termlib.c \
172 testing.c \
173 textformat.c \
174 textobject.c \
175 textprop.c \
176 time.c \
177 typval.c \
178 ui.c \
179 undo.c \
180 usercmd.c \
181 userfunc.c \
182 version.c \
183 viminfo.c \
Bram Moolenaardc7c3662021-12-20 15:04:29 +0000184 vim9cmds.c \
Bram Moolenaara62372b2020-09-09 20:41:40 +0200185 vim9compile.c \
186 vim9execute.c \
Bram Moolenaardc7c3662021-12-20 15:04:29 +0000187 vim9expr.c \
188 vim9instr.c \
Bram Moolenaara62372b2020-09-09 20:41:40 +0200189 vim9script.c \
190 vim9type.c \
191 window.c \
192 xdiff/xdiffi.c \
193 xdiff/xemit.c \
194 xdiff/xhistogram.c \
195 xdiff/xpatience.c \
196 xdiff/xprepare.c \
197 xdiff/xutils.c
198
199OBJ = $(SRC:.c=.o)
200
201# Build everything - Ignoring header dependencies.
202$(BIN): $(OBJ)
203 ${LD} -o $(BIN) $(OBJ) $(LDFLAGS)
204
205# Clean up
206.PHONY: clean
207clean:
208 $(RM) -fv $(OBJ) $(BIN)