blob: 5b77b5c16f45774636bc3cc93a57fd7077909e4b [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001#
2# Makefile for VIM on MSDOS, using DJGPP 2.0
3#
Bram Moolenaar17b609e2016-01-01 17:56:17 +01004# NOTE: THIS IS OLD AND PROBABLY NO LONGER WORKS.
5#
Bram Moolenaar071d4272004-06-13 20:20:40 +00006
7#>>>>> choose options:
8
9### See feature.h for a list of optionals.
10### Any other defines can be included here.
11
12DEFINES =
13
14#>>>>> name of the compiler and linker, name of lib directory
15CC = gcc
16
17#>>>>> end of choices
18###########################################################################
19
20INCL = vim.h globals.h option.h keymap.h macros.h ascii.h term.h os_msdos.h structs.h
21CFLAGS = -O2 -DMSDOS -Iproto $(DEFINES) -Wall -Dinterrupt= -Dfar= -DMAXMEM=512 -D_NAIVE_DOS_REGS
22
23OBJ = \
Bram Moolenaaredac1852010-05-18 20:34:20 +020024 obj/blowfish.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +000025 obj/buffer.o \
26 obj/charset.o \
Bram Moolenaar07cf3822014-08-10 16:31:50 +020027 obj/crypt.o \
28 obj/crypt_zip.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +000029 obj/diff.o \
30 obj/digraph.o \
31 obj/edit.o \
32 obj/eval.o \
33 obj/ex_cmds.o \
34 obj/ex_cmds2.o \
35 obj/ex_docmd.o \
36 obj/ex_eval.o \
37 obj/ex_getln.o \
38 obj/fileio.o \
39 obj/fold.o \
40 obj/getchar.o \
Bram Moolenaar58d98232005-07-23 22:25:46 +000041 obj/hardcopy.o \
Bram Moolenaar76b92b22006-03-24 22:46:53 +000042 obj/hashtab.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +000043 obj/main.o \
44 obj/mark.o \
45 obj/memfile.o \
46 obj/memline.o \
47 obj/menu.o \
48 obj/message.o \
49 obj/misc1.o \
50 obj/misc2.o \
51 obj/move.o \
52 obj/mbyte.o \
53 obj/normal.o \
54 obj/ops.o \
55 obj/option.o \
56 obj/os_msdos.o \
Bram Moolenaar76b92b22006-03-24 22:46:53 +000057 obj/popupmnu.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +000058 obj/quickfix.o \
59 obj/regexp.o \
60 obj/screen.o \
61 obj/search.o \
Bram Moolenaaredac1852010-05-18 20:34:20 +020062 obj/sha256.o \
Bram Moolenaar43b604c2005-03-22 23:06:55 +000063 obj/spell.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +000064 obj/syntax.o \
65 obj/tag.o \
66 obj/term.o \
67 obj/ui.o \
68 obj/undo.o \
69 obj/window.o \
70 $(TERMLIB)
71
72all: vim.exe install.exe uninstal.exe xxd/xxd.exe
73
74# version.c is compiled each time, so that it sets the build time.
75vim.exe: obj $(OBJ) version.c version.h
76 $(CC) $(CFLAGS) -s -o vim.exe version.c $(OBJ) -lpc
77
78install.exe: dosinst.c
79 $(CC) $(CFLAGS) -s -o install.exe dosinst.c -lpc
80
81uninstal.exe: uninstal.c
82 $(CC) $(CFLAGS) -s -o uninstal.exe uninstal.c -lpc
83
84# This requires GNU make.
85xxd/xxd.exe: xxd/xxd.c
86 $(MAKE) --directory=xxd -f Make_djg.mak
87
88obj:
89 mkdir obj
90
91tags:
92 command /c ctags *.c $(INCL) ex_cmds.h
93
94clean:
95 -del obj\*.o
96 -rmdir obj
97 -del vim.exe
98 -del install.exe
99 -del xxd\xxd.exe
100 -del testdir\*.out
101
102# This requires GNU make.
103test:
104 $(MAKE) --directory=testdir -f Make_dos.mak
105
106###########################################################################
107
108obj/%.o: %.c obj $(INCL)
109 $(CC) -c $(CFLAGS) -o $@ $<
110
111# Extra dependency (there are actually many more...)
112obj/ex_docmd.o: ex_cmds.h