summaryrefslogtreecommitdiff
path: root/src/Make_djg.mak
blob: 5b77b5c16f45774636bc3cc93a57fd7077909e4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#
# Makefile for VIM on MSDOS, using DJGPP 2.0
#
# NOTE: THIS IS OLD AND PROBABLY NO LONGER WORKS.
#

#>>>>> choose options:

### See feature.h for a list of optionals.
### Any other defines can be included here.

DEFINES =

#>>>>> name of the compiler and linker, name of lib directory
CC = gcc

#>>>>> end of choices
###########################################################################

INCL = vim.h globals.h option.h keymap.h macros.h ascii.h term.h os_msdos.h structs.h
CFLAGS = -O2 -DMSDOS -Iproto $(DEFINES) -Wall -Dinterrupt= -Dfar= -DMAXMEM=512 -D_NAIVE_DOS_REGS

OBJ = \
	obj/blowfish.o \
	obj/buffer.o \
	obj/charset.o \
	obj/crypt.o \
	obj/crypt_zip.o \
	obj/diff.o \
	obj/digraph.o \
	obj/edit.o \
	obj/eval.o \
	obj/ex_cmds.o \
	obj/ex_cmds2.o \
	obj/ex_docmd.o \
	obj/ex_eval.o \
	obj/ex_getln.o \
	obj/fileio.o \
	obj/fold.o \
	obj/getchar.o \
	obj/hardcopy.o \
	obj/hashtab.o \
	obj/main.o \
	obj/mark.o \
	obj/memfile.o \
	obj/memline.o \
	obj/menu.o \
	obj/message.o \
	obj/misc1.o \
	obj/misc2.o \
	obj/move.o \
	obj/mbyte.o \
	obj/normal.o \
	obj/ops.o \
	obj/option.o \
	obj/os_msdos.o \
	obj/popupmnu.o \
	obj/quickfix.o \
	obj/regexp.o \
	obj/screen.o \
	obj/search.o \
	obj/sha256.o \
	obj/spell.o \
	obj/syntax.o \
	obj/tag.o \
	obj/term.o \
	obj/ui.o \
	obj/undo.o \
	obj/window.o \
	$(TERMLIB)

all: vim.exe install.exe uninstal.exe xxd/xxd.exe

# version.c is compiled each time, so that it sets the build time.
vim.exe: obj $(OBJ) version.c version.h
	$(CC) $(CFLAGS) -s -o vim.exe version.c $(OBJ) -lpc

install.exe: dosinst.c
	$(CC) $(CFLAGS) -s -o install.exe dosinst.c -lpc

uninstal.exe: uninstal.c
	$(CC) $(CFLAGS) -s -o uninstal.exe uninstal.c -lpc

# This requires GNU make.
xxd/xxd.exe: xxd/xxd.c
	$(MAKE) --directory=xxd -f Make_djg.mak

obj:
	mkdir obj

tags:
	command /c ctags *.c $(INCL) ex_cmds.h

clean:
	-del obj\*.o
	-rmdir obj
	-del vim.exe
	-del install.exe
	-del xxd\xxd.exe
	-del testdir\*.out

# This requires GNU make.
test:
	$(MAKE) --directory=testdir -f Make_dos.mak

###########################################################################

obj/%.o: %.c obj $(INCL)
	$(CC) -c $(CFLAGS) -o $@ $<

# Extra dependency (there are actually many more...)
obj/ex_docmd.o:	ex_cmds.h