blob: 02c42b878b64816cd8ca9eba0e821653360866a6 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001#
2# Makefile for VIM on MSDOS, using DJGPP 2.0
3#
4
5#>>>>> choose options:
6
7### See feature.h for a list of optionals.
8### Any other defines can be included here.
9
10DEFINES =
11
12#>>>>> name of the compiler and linker, name of lib directory
13CC = gcc
14
15#>>>>> end of choices
16###########################################################################
17
18INCL = vim.h globals.h option.h keymap.h macros.h ascii.h term.h os_msdos.h structs.h
19CFLAGS = -O2 -DMSDOS -Iproto $(DEFINES) -Wall -Dinterrupt= -Dfar= -DMAXMEM=512 -D_NAIVE_DOS_REGS
20
21OBJ = \
22 obj/buffer.o \
23 obj/charset.o \
24 obj/diff.o \
25 obj/digraph.o \
26 obj/edit.o \
27 obj/eval.o \
28 obj/ex_cmds.o \
29 obj/ex_cmds2.o \
30 obj/ex_docmd.o \
31 obj/ex_eval.o \
32 obj/ex_getln.o \
33 obj/fileio.o \
34 obj/fold.o \
35 obj/getchar.o \
36 obj/main.o \
37 obj/mark.o \
38 obj/memfile.o \
39 obj/memline.o \
40 obj/menu.o \
41 obj/message.o \
42 obj/misc1.o \
43 obj/misc2.o \
44 obj/move.o \
45 obj/mbyte.o \
46 obj/normal.o \
47 obj/ops.o \
48 obj/option.o \
49 obj/os_msdos.o \
50 obj/quickfix.o \
51 obj/regexp.o \
52 obj/screen.o \
53 obj/search.o \
54 obj/syntax.o \
55 obj/tag.o \
56 obj/term.o \
57 obj/ui.o \
58 obj/undo.o \
59 obj/window.o \
60 $(TERMLIB)
61
62all: vim.exe install.exe uninstal.exe xxd/xxd.exe
63
64# version.c is compiled each time, so that it sets the build time.
65vim.exe: obj $(OBJ) version.c version.h
66 $(CC) $(CFLAGS) -s -o vim.exe version.c $(OBJ) -lpc
67
68install.exe: dosinst.c
69 $(CC) $(CFLAGS) -s -o install.exe dosinst.c -lpc
70
71uninstal.exe: uninstal.c
72 $(CC) $(CFLAGS) -s -o uninstal.exe uninstal.c -lpc
73
74# This requires GNU make.
75xxd/xxd.exe: xxd/xxd.c
76 $(MAKE) --directory=xxd -f Make_djg.mak
77
78obj:
79 mkdir obj
80
81tags:
82 command /c ctags *.c $(INCL) ex_cmds.h
83
84clean:
85 -del obj\*.o
86 -rmdir obj
87 -del vim.exe
88 -del install.exe
89 -del xxd\xxd.exe
90 -del testdir\*.out
91
92# This requires GNU make.
93test:
94 $(MAKE) --directory=testdir -f Make_dos.mak
95
96###########################################################################
97
98obj/%.o: %.c obj $(INCL)
99 $(CC) -c $(CFLAGS) -o $@ $<
100
101# Extra dependency (there are actually many more...)
102obj/ex_docmd.o: ex_cmds.h