summaryrefslogtreecommitdiffstats
path: root/src/Make_ami.mak
diff options
context:
space:
mode:
Diffstat (limited to 'src/Make_ami.mak')
-rw-r--r--src/Make_ami.mak202
1 files changed, 202 insertions, 0 deletions
diff --git a/src/Make_ami.mak b/src/Make_ami.mak
new file mode 100644
index 0000000..9e9ebe3
--- /dev/null
+++ b/src/Make_ami.mak
@@ -0,0 +1,202 @@
+#
+# Makefile for AROS, AmigaOS4 and MorphOS.
+#
+BIN = vim
+CC ?= gcc
+LD = $(CC)
+UNM ?= $(shell uname)
+DEBUG ?= no
+BUILD ?= huge
+CFLAGS = -c -O3
+
+# Common compiler flags
+CFLAGS += \
+ -DNO_ARP \
+ -DUSE_TMPNAM \
+ -DHAVE_STDARG_H \
+ -DHAVE_TGETENT \
+ -DHAVE_TERMCAP \
+ -DNEW_SHELLSIZE \
+ -I proto \
+ -Wno-attributes \
+ -Wextra
+
+# Vim 'huge' build
+ifeq ($(BUILD),huge)
+CFLAGS += \
+ -DFEAT_BROWSE \
+ -DFEAT_MOUSE \
+ -DFEAT_HUGE
+else
+
+# Vim 'normal' build
+ifeq ($(BUILD),normal)
+CFLAGS +=\
+ -DFEAT_BROWSE \
+ -DFEAT_MOUSE \
+ -DFEAT_NORMAL
+else
+
+# Vim 'small' build - now an alias for 'tiny'
+ifeq ($(BUILD),small)
+CFLAGS += -DFEAT_TINY
+else
+
+# Vim 'tiny' build
+ifeq ($(BUILD),tiny)
+CFLAGS += -DFEAT_TINY
+endif
+endif
+endif
+endif
+endif
+
+# OS specific compiler flags
+ifeq ($(UNM),AmigaOS)
+LDFLAGS = -mcrt=clib2 -lauto -lm -lnet
+CFLAGS += -DHAVE_FSYNC -D__USE_INLINE__ -mcrt=clib2
+else
+ifeq ($(UNM),AROS)
+LDFLAGS = -DHAVE_FSYNC -ldebug
+else
+ifeq ($(UNM),MorphOS)
+CFLAGS += -noixemul
+LDFLAGS = -ldebug -lm -noixemul
+endif
+endif
+endif
+
+# Patch level used for Amiga style version string
+ifdef PATCHLEVEL
+CFLAGS += -DPATCHLEVEL=\"$(PATCHLEVEL)\"
+endif
+
+# Common sources
+SRC += \
+ alloc.c \
+ arabic.c \
+ arglist.c \
+ autocmd.c \
+ beval.c \
+ blob.c \
+ blowfish.c \
+ buffer.c \
+ bufwrite.c \
+ change.c \
+ charset.c \
+ cindent.c \
+ clientserver.c \
+ clipboard.c \
+ cmdhist.c \
+ cmdexpand.c \
+ crypt.c \
+ crypt_zip.c \
+ debugger.c \
+ dict.c \
+ diff.c \
+ digraph.c \
+ drawline.c \
+ drawscreen.c \
+ edit.c \
+ eval.c \
+ evalbuffer.c \
+ evalfunc.c \
+ evalvars.c \
+ evalwindow.c \
+ ex_cmds.c \
+ ex_cmds2.c \
+ ex_docmd.c \
+ ex_eval.c \
+ ex_getln.c \
+ fileio.c \
+ filepath.c \
+ findfile.c \
+ float.c \
+ fold.c \
+ getchar.c \
+ hardcopy.c \
+ hashtab.c \
+ help.c \
+ highlight.c \
+ if_cscope.c \
+ indent.c \
+ insexpand.c \
+ json.c \
+ list.c \
+ locale.c \
+ logfile.c \
+ main.c \
+ mark.c \
+ map.c \
+ match.c \
+ mbyte.c \
+ memfile.c \
+ memline.c \
+ menu.c \
+ message.c \
+ misc1.c \
+ misc2.c \
+ mouse.c \
+ move.c \
+ normal.c \
+ ops.c \
+ option.c \
+ optionstr.c \
+ os_amiga.c \
+ popupmenu.c \
+ popupwin.c \
+ quickfix.c \
+ regexp.c \
+ register.c \
+ screen.c \
+ scriptfile.c \
+ search.c \
+ session.c \
+ sha256.c \
+ sign.c \
+ spell.c \
+ spellfile.c \
+ spellsuggest.c \
+ strings.c \
+ syntax.c \
+ tag.c \
+ term.c \
+ termlib.c \
+ testing.c \
+ textformat.c \
+ textobject.c \
+ textprop.c \
+ time.c \
+ typval.c \
+ ui.c \
+ undo.c \
+ usercmd.c \
+ userfunc.c \
+ version.c \
+ viminfo.c \
+ vim9class.c \
+ vim9cmds.c \
+ vim9compile.c \
+ vim9execute.c \
+ vim9expr.c \
+ vim9instr.c \
+ vim9script.c \
+ vim9type.c \
+ window.c \
+ xdiff/xdiffi.c \
+ xdiff/xemit.c \
+ xdiff/xhistogram.c \
+ xdiff/xpatience.c \
+ xdiff/xprepare.c \
+ xdiff/xutils.c
+
+OBJ = $(SRC:.c=.o)
+
+# Build everything - Ignoring header dependencies.
+$(BIN): $(OBJ)
+ ${LD} -o $(BIN) $(OBJ) $(LDFLAGS)
+
+# Clean up
+.PHONY: clean
+clean:
+ $(RM) -fv $(OBJ) $(BIN)