-
Notifications
You must be signed in to change notification settings - Fork 3
/
makefile.mvc
201 lines (135 loc) · 5.03 KB
/
makefile.mvc
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
# -*- makefile -*-
# Makefile for Microsoft Windows with Microsoft Visual C++ 5.0 compiler
GENERATE_DLL=0
WITH_JUDY=0
CC=cl
# Debug version
CFLAGS = -c -nologo -Zi -W3 -DDEBUG_LEVEL=DEBUG_TRACE -D_CRT_SECURE_NO_WARNINGS
# Optimized veriosion
#CFLAGS = -c -Ox -G6 -nologo -Zi -W3 -DDEBUG_LEVEL=DEBUG_CHECK
# Optimized veriosion with switched off asserts
#CFLAGS = -c -Ox -G6 -nologo -Zi -W3 -DNDEBUG
DLLFLAGS = -LDd -Zi -nologo
LFLAGS=-Zi -nologo
STDLIBS=
AR=lib
ARFLAGS=
EXAMPLES=guess.exe testtree.exe testtext.exe testspat.exe testperf.exe testiter.exe testrans.exe dumpmem.exe stltest.exe testmap.exe stltest2.exe testmap2.exe testnew.exe
HEADERS=stdtp.h file.h storage.h classinfo.h object.h
OBJS=file.obj storage.obj classinfo.obj avltree.obj rtree.obj ttree.obj array.obj hashtab.obj textobj.obj post_c_api.obj iterator.obj
!IF $(WITH_JUDY)
OBJS=$(OBJS) judyarr.obj
STDLIBS=$(STDLIBS) Judy/src/Judy.lib
EXAMPLES=$(EXAMPLES) testjudy.exe
!ENDIF
!IF $(GENERATE_DLL)
CFLAGS = $(CFLAGS) -DPOST_DLL -Ox
all: storage.lib storage.dll postnew.obj $(EXAMPLES)
!ELSE
all: storage.lib postnew.obj $(EXAMPLES)
!ENDIF
judyarr.obj: judyarr.cxx judyarr.h
$(CC) $(CFLAGS) -IJudy/src -DJU_WIN judyarr.cxx
file.obj: file.cxx $(HEADERS)
$(CC) $(CFLAGS) file.cxx
storage.obj: storage.cxx $(HEADERS)
$(CC) $(CFLAGS) storage.cxx
classinfo.obj: classinfo.cxx $(HEADERS)
$(CC) $(CFLAGS) classinfo.cxx
avltree.obj: avltree.cxx avltree.h $(HEADERS)
$(CC) $(CFLAGS) avltree.cxx
rtree.obj: rtree.cxx rtree.h dnmarr.h $(HEADERS)
$(CC) $(CFLAGS) rtree.cxx
ttree.obj: ttree.cxx ttree.h dnmarr.h $(HEADERS)
$(CC) $(CFLAGS) ttree.cxx
array.obj: array.cxx array.h $(HEADERS)
$(CC) $(CFLAGS) array.cxx
hashtab.obj: hashtab.cxx hashtab.h $(HEADERS)
$(CC) $(CFLAGS) hashtab.cxx
iterator.obj: iterator.cxx iterator.h $(HEADERS)
$(CC) $(CFLAGS) iterator.cxx
textobj.obj: textobj.cxx textobj.h $(HEADERS)
$(CC) $(CFLAGS) textobj.cxx
postnew.obj: postnew.cxx $(HEADERS)
$(CC) $(CFLAGS) -DDO_NOT_REDEFINE_MALLOC postnew.cxx
post_c_api.obj: post_c_api.cxx $(HEADERS) post_c_api.h
$(CC) $(CFLAGS) post_c_api.cxx
storage.lib: $(OBJS)
$(AR) $(ARFLAGS) /OUT:storage.lib $(OBJS)
storage.dll: $(OBJS)
$(CC) $(DLLFLAGS) /Festorage.dll $(OBJS)
#
# Examples
#
guess.obj: guess.cxx $(HEADERS)
$(CC) $(CFLAGS) guess.cxx
testtext.obj: testtext.cxx textobj.h array.h $(HEADERS)
$(CC) $(CFLAGS) testtext.cxx
testtree.obj: testtree.cxx avltree.h hashtab.h $(HEADERS)
$(CC) $(CFLAGS) testtree.cxx
testspat.obj: testspat.cxx rtree.h dnmarr.h hashtab.h $(HEADERS)
$(CC) $(CFLAGS) testspat.cxx
testperf.obj: testperf.cxx ttree.h dnmarr.h $(HEADERS)
$(CC) $(CFLAGS) testperf.cxx
testiter.obj: testiter.cxx iterator.h ttree.h dnmarr.h $(HEADERS)
$(CC) $(CFLAGS) testiter.cxx
testrans.obj: testrans.cxx avltree.h $(HEADERS)
$(CC) $(CFLAGS) testrans.cxx
dumpmem.obj: dumpmem.cxx $(HEADERS)
$(CC) $(CFLAGS) dumpmem.cxx
stltest.obj: stltest.cxx post_stl.h $(HEADERS)
$(CC) $(CFLAGS) -DUSE_MICROSOFT_STL -DREDEFINE_DEFAULT_ALLOCATOR -GX stltest.cxx
testmap.obj: testmap.cxx post_stl.h $(HEADERS)
$(CC) $(CFLAGS) -DUSE_MICROSOFT_STL -DREDEFINE_DEFAULT_ALLOCATOR -GX testmap.cxx
stltest2.obj: stltest2.cxx post_stl.h $(HEADERS)
$(CC) $(CFLAGS) -DUSE_MICROSOFT_STL -GX stltest2.cxx
testmap2.obj: testmap2.cxx post_stl.h $(HEADERS)
$(CC) $(CFLAGS) -DUSE_MICROSOFT_STL -GX testmap2.cxx
testnew.obj: testnew.cxx $(HEADERS)
$(CC) $(CFLAGS) testnew.cxx
testjudy.obj: testjudy.cxx judyarr.h $(HEADERS)
$(CC) $(CFLAGS) testjudy.cxx
guess.exe: guess.obj storage.lib
$(CC) $(LFLAGS) guess.obj storage.lib $(STDLIBS)
testtext.exe: testtext.obj storage.lib
$(CC) $(LFLAGS) testtext.obj storage.lib $(STDLIBS)
testtree.exe: testtree.obj storage.lib
$(CC) $(LFLAGS) testtree.obj storage.lib $(STDLIBS)
testspat.exe: testspat.obj storage.lib
$(CC) $(LFLAGS) testspat.obj storage.lib $(STDLIBS)
testperf.exe: testperf.obj storage.lib
$(CC) $(LFLAGS) testperf.obj storage.lib $(STDLIBS)
testiter.exe: testiter.obj storage.lib
$(CC) $(LFLAGS) testiter.obj storage.lib $(STDLIBS)
testrans.exe: testrans.obj storage.lib
$(CC) $(LFLAGS) testrans.obj storage.lib $(STDLIBS)
dumpmem.exe: dumpmem.obj storage.lib
$(CC) $(LFLAGS) dumpmem.obj storage.lib $(STDLIBS)
stltest.exe: stltest.obj storage.lib
$(CC) $(LFLAGS) stltest.obj storage.lib $(STDLIBS)
testmap.exe: testmap.obj storage.lib
$(CC) $(LFLAGS) testmap.obj storage.lib $(STDLIBS)
stltest2.exe: stltest2.obj storage.lib
$(CC) $(LFLAGS) stltest2.obj storage.lib $(STDLIBS)
testmap2.exe: testmap2.obj storage.lib
$(CC) $(LFLAGS) testmap2.obj storage.lib $(STDLIBS)
testnew.exe: testnew.obj postnew.obj
$(CC) $(LFLAGS) testnew.obj postnew.obj storage.lib $(STDLIBS)
testjudy.exe: testjudy.obj storage.lib
$(CC) $(LFLAGS) testjudy.obj storage.lib $(STDLIBS) /link /force:multiple
#
# Service targets
#
cleanobj:
-del *.dll,*.exp,*.obj,*.*~,*~,*.pch,*.pdb,*.ilk,*.exe,*.dsp,*.dsw,*.ncb,*.opt,*.plg
cleandbs:
-del *.odb,*.log,*.tmp
clean: cleanobj cleandbs
cleanall: clean
-del *.lib
zip: cleanall
cd ..
-del post.zip
zip -r post.zip post
copyzip: zip
copy post.zip a: