blob: 42270f36ba904682cf24194e2f7dc52a4b4d8d87 [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
Bram Moolenaara62372b2020-09-09 20:41:40 +020032# Vim 'normal' build
33ifeq ($(BUILD),normal)
34CFLAGS +=\
35 -DFEAT_BROWSE \
36 -DFEAT_MOUSE \
37 -DFEAT_NORMAL
38else
39
Martin Tournoij7904fa42022-10-04 16:28:45 +010040# Vim 'small' build - now an alias for 'tiny'
Bram Moolenaara62372b2020-09-09 20:41:40 +020041ifeq ($(BUILD),small)
Martin Tournoij7904fa42022-10-04 16:28:45 +010042CFLAGS += -DFEAT_TINY
Bram Moolenaara62372b2020-09-09 20:41:40 +020043else
44
45# Vim 'tiny' build
46ifeq ($(BUILD),tiny)
47CFLAGS += -DFEAT_TINY
48endif
49endif
50endif
51endif
52endif
53
54# OS specific compiler flags
55ifeq ($(UNM),AmigaOS)
Ola Söder8fc2a092024-10-17 20:49:36 +020056LDFLAGS = -lauto
57CFLAGS += -DHAVE_FSYNC -D__USE_INLINE__
Bram Moolenaara62372b2020-09-09 20:41:40 +020058else
59ifeq ($(UNM),AROS)
60LDFLAGS = -DHAVE_FSYNC -ldebug
61else
62ifeq ($(UNM),MorphOS)
=?UTF-8?q?Ola=20S=C3=B6der?=4d2073b2022-09-25 19:36:38 +010063CFLAGS += -noixemul
64LDFLAGS = -ldebug -lm -noixemul
Bram Moolenaara62372b2020-09-09 20:41:40 +020065endif
66endif
67endif
68
69# Patch level used for Amiga style version string
70ifdef PATCHLEVEL
71CFLAGS += -DPATCHLEVEL=\"$(PATCHLEVEL)\"
72endif
73
74# Common sources
75SRC += \
Yegappan Lakshmanancbae5802021-08-06 21:51:55 +020076 alloc.c \
Bram Moolenaara62372b2020-09-09 20:41:40 +020077 arabic.c \
78 arglist.c \
79 autocmd.c \
80 beval.c \
81 blob.c \
82 blowfish.c \
83 buffer.c \
84 bufwrite.c \
85 change.c \
86 charset.c \
87 cindent.c \
88 clientserver.c \
89 clipboard.c \
90 cmdhist.c \
91 cmdexpand.c \
92 crypt.c \
93 crypt_zip.c \
94 debugger.c \
95 dict.c \
96 diff.c \
97 digraph.c \
98 drawline.c \
99 drawscreen.c \
100 edit.c \
101 eval.c \
102 evalbuffer.c \
103 evalfunc.c \
104 evalvars.c \
105 evalwindow.c \
106 ex_cmds.c \
107 ex_cmds2.c \
108 ex_docmd.c \
109 ex_eval.c \
110 ex_getln.c \
111 fileio.c \
112 filepath.c \
113 findfile.c \
Yegappan Lakshmanan01c798c2021-06-02 17:07:18 +0200114 float.c \
Bram Moolenaara62372b2020-09-09 20:41:40 +0200115 fold.c \
116 getchar.c \
Yegappan Lakshmanan25536f42024-05-22 16:45:04 +0200117 gc.c \
Bram Moolenaara62372b2020-09-09 20:41:40 +0200118 hardcopy.c \
119 hashtab.c \
120 help.c \
121 highlight.c \
122 if_cscope.c \
123 indent.c \
124 insexpand.c \
125 json.c \
126 list.c \
127 locale.c \
Bram Moolenaar4c5678f2022-11-30 18:12:19 +0000128 logfile.c \
Bram Moolenaara62372b2020-09-09 20:41:40 +0200129 main.c \
130 mark.c \
131 map.c \
132 match.c \
133 mbyte.c \
134 memfile.c \
135 memline.c \
136 menu.c \
137 message.c \
138 misc1.c \
139 misc2.c \
140 mouse.c \
141 move.c \
142 normal.c \
143 ops.c \
144 option.c \
145 optionstr.c \
146 os_amiga.c \
147 popupmenu.c \
148 popupwin.c \
149 quickfix.c \
150 regexp.c \
151 register.c \
152 screen.c \
153 scriptfile.c \
154 search.c \
155 session.c \
156 sha256.c \
157 sign.c \
158 spell.c \
159 spellfile.c \
160 spellsuggest.c \
Yegappan Lakshmanana2438132021-07-10 21:29:18 +0200161 strings.c \
Bram Moolenaara62372b2020-09-09 20:41:40 +0200162 syntax.c \
163 tag.c \
164 term.c \
165 termlib.c \
166 testing.c \
167 textformat.c \
168 textobject.c \
169 textprop.c \
170 time.c \
171 typval.c \
172 ui.c \
173 undo.c \
174 usercmd.c \
175 userfunc.c \
176 version.c \
177 viminfo.c \
Bram Moolenaarc1c365c2022-12-04 20:13:24 +0000178 vim9class.c \
Bram Moolenaardc7c3662021-12-20 15:04:29 +0000179 vim9cmds.c \
Bram Moolenaara62372b2020-09-09 20:41:40 +0200180 vim9compile.c \
181 vim9execute.c \
Bram Moolenaardc7c3662021-12-20 15:04:29 +0000182 vim9expr.c \
183 vim9instr.c \
Bram Moolenaara62372b2020-09-09 20:41:40 +0200184 vim9script.c \
185 vim9type.c \
186 window.c \
187 xdiff/xdiffi.c \
188 xdiff/xemit.c \
189 xdiff/xhistogram.c \
190 xdiff/xpatience.c \
191 xdiff/xprepare.c \
192 xdiff/xutils.c
193
194OBJ = $(SRC:.c=.o)
195
196# Build everything - Ignoring header dependencies.
197$(BIN): $(OBJ)
198 ${LD} -o $(BIN) $(OBJ) $(LDFLAGS)
199
200# Clean up
201.PHONY: clean
202clean:
203 $(RM) -fv $(OBJ) $(BIN)