1 | # Makefile.mak - makefile for MS NMAKE
|
---|
2 | # $Id: makefile 1343 2000-08-03 03:12:39Z johnmcp $
|
---|
3 | #
|
---|
4 | # Programmed by
|
---|
5 | # HL: Heikki Levanto, Index Data
|
---|
6 | #
|
---|
7 | # Log at the end of the file
|
---|
8 | #
|
---|
9 | # Missing
|
---|
10 | # - Move MS-C's whatnots into win direcotry
|
---|
11 | # - The TCL script produces C and H files in the same dir as the
|
---|
12 | # ASN files. H's are copied to INCL, C's are left there.
|
---|
13 | # They should be produced into OBJ...
|
---|
14 | #
|
---|
15 | # Envoronment problems
|
---|
16 | # - You need to have the proper path and environment for VC set
|
---|
17 | # up. There is a bat file VCVARS32.BAT that sets most of it up
|
---|
18 | # for you. You can find this somewhere near DevStudio\VC\BIN
|
---|
19 | # - RegSvr32 must also be along the path, often in WINDOWS\SYSTEM
|
---|
20 | # - TCL has to be available too, if compiling for NEW_Z3950
|
---|
21 |
|
---|
22 | ###########################################################
|
---|
23 | ############### Parameters
|
---|
24 | ###########################################################
|
---|
25 |
|
---|
26 | DEBUG=0 # 0 for release, 1 for debug
|
---|
27 |
|
---|
28 | NEW_Z3950=1 # 0= use old asn files
|
---|
29 | # 1= generate files from *.asn (needs tcl)
|
---|
30 |
|
---|
31 |
|
---|
32 | default: all
|
---|
33 |
|
---|
34 | all: dirs proto_h dll client server ztest
|
---|
35 |
|
---|
36 | generate: generated_files
|
---|
37 |
|
---|
38 | ###########################################################
|
---|
39 | ############### Directories
|
---|
40 | ###########################################################
|
---|
41 | # The current directory is supposed to be something like
|
---|
42 | # ..../Yaz/Win, everything is relative to that
|
---|
43 | ROOTDIR=.. # The home of Yaz
|
---|
44 |
|
---|
45 | INCLDIR=$(ROOTDIR)\include # our includes
|
---|
46 | LIBDIR=$(ROOTDIR)\lib # We produce .lib, .exp etc there
|
---|
47 | BINDIR=$(ROOTDIR)\bin # We produce exes and dlls there
|
---|
48 | WINDIR=$(ROOTDIR)\win # all these Win make things
|
---|
49 | OBJDIR=$(WINDIR)\obj # where we store intermediate files
|
---|
50 | UNIXDIR=$(ROOTDIR)\unix # corresponding unix things
|
---|
51 | SRCDIR=$(ROOTDIR) # for the case we move them under src
|
---|
52 |
|
---|
53 | ASNDIR=$(SRCDIR)\ASN
|
---|
54 | COMSTACKDIR=$(SRCDIR)\COMSTACK
|
---|
55 | ODRDIR=$(SRCDIR)\ODR
|
---|
56 | UTILDIR=$(SRCDIR)\UTIL
|
---|
57 | ZUTILDIR=$(SRCDIR)\ZUTIL
|
---|
58 | RETDIR=$(SRCDIR)\RETRIEVAL
|
---|
59 | Z3950DIR=$(SRCDIR)\Z39.50
|
---|
60 | ILLDIR=$(SRCDIR)\ill
|
---|
61 |
|
---|
62 | CLIENTDIR=$(SRCDIR)\CLIENT
|
---|
63 | SERVERDIR=$(SRCDIR)\SERVER
|
---|
64 | ZTESTDIR=$(SRCDIR)\ZTEST
|
---|
65 |
|
---|
66 | TMPDIR=$(ROOTDIR)\win\tmp
|
---|
67 | TMP=$(TMPDIR)
|
---|
68 |
|
---|
69 | ###########################################################
|
---|
70 | ############### Targets - what to make
|
---|
71 | ###########################################################
|
---|
72 |
|
---|
73 |
|
---|
74 | DLL=$(BINDIR)\Yaz.dll
|
---|
75 | IMPLIB=$(LIBDIR)\Yaz.lib
|
---|
76 |
|
---|
77 | CLIENT=$(BINDIR)\yaz-client.exe
|
---|
78 | SERVER=$(LIBDIR)\server.lib
|
---|
79 | ZTEST=$(BINDIR)\yaz-ztest.exe
|
---|
80 | PROTOH=$(INCLDIR)\yaz\proto.h
|
---|
81 |
|
---|
82 | # shortcut names defined here
|
---|
83 | dll : $(DLL)
|
---|
84 | client: $(CLIENT)
|
---|
85 | server: $(SERVER)
|
---|
86 | ztest: $(ZTEST)
|
---|
87 | proto_h: $(PROTOH)
|
---|
88 |
|
---|
89 | ###########################################################
|
---|
90 | ############### Compiler and linker options
|
---|
91 | ###########################################################
|
---|
92 |
|
---|
93 |
|
---|
94 | ### C and CPP compiler (the same thing)
|
---|
95 | # Note: $(CPP) has already been defined in the environment
|
---|
96 | # (if you set things up right!)
|
---|
97 |
|
---|
98 | COMMON_C_OPTIONS= \
|
---|
99 | /nologo /W3 /GX /FD /c \
|
---|
100 | /D "WIN32" /D "_WINDOWS" \
|
---|
101 | /FR"$(OBJDIR)\\" \
|
---|
102 | /Fo"$(OBJDIR)\\" \
|
---|
103 | /Fd"$(OBJDIR)\\"
|
---|
104 |
|
---|
105 | COMMON_C_INCLUDES= \
|
---|
106 | /I"$(SRCDIR)\include"
|
---|
107 |
|
---|
108 | DEBUG_C_OPTIONS= \
|
---|
109 | /D "_DEBUG" \
|
---|
110 | /MDd /Od /YX /Zi /Gm
|
---|
111 |
|
---|
112 | RELEASE_C_OPTIONS= \
|
---|
113 | /D "NDEBUG" \
|
---|
114 | /MD /O2
|
---|
115 |
|
---|
116 | # /W3 = warning level
|
---|
117 | # /GX = Enable exception handling
|
---|
118 | # /FD = Generate file dependencies (what ever they are)
|
---|
119 | # /c = compile without linking
|
---|
120 | # /FR = Generate browse info (.sbr file that gets combined into .bsc)
|
---|
121 | # /Fo = object file name (or at least path)
|
---|
122 | # /Fd = debug database name (or path)
|
---|
123 | # /MD = Runtime library: Multithread DLL
|
---|
124 | # /MDd = Runtime library: Multithread DLL (debug)
|
---|
125 | # /Od = Disable optimising (debug)
|
---|
126 | # /O2 = Optimize for speed
|
---|
127 | # /YX = Automatic use of precomipled headers
|
---|
128 | # /Gm = Minimal rebuild (some cpp class stuff)
|
---|
129 | # /Zi = Program database for debuggers
|
---|
130 | # /ZI = Pgm database with special "edit&continue" stuff - not available in C5
|
---|
131 |
|
---|
132 |
|
---|
133 | ### Linker options
|
---|
134 | LINK=link.exe
|
---|
135 |
|
---|
136 | LINK_LIBS= kernel32.lib user32.lib gdi32.lib winspool.lib \
|
---|
137 | comdlg32.lib advapi32.lib shell32.lib ole32.lib \
|
---|
138 | oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
|
---|
139 | wsock32.lib advapi32.lib
|
---|
140 |
|
---|
141 | COMMON_LNK_OPTIONS= /nologo \
|
---|
142 | /subsystem:windows \
|
---|
143 | /machine:i386 \
|
---|
144 | /incremental:no
|
---|
145 |
|
---|
146 | DEBUG_LNK_OPTIONS= /debug
|
---|
147 |
|
---|
148 | RELEASE_LNK_OPTIONS= /pdb:none
|
---|
149 |
|
---|
150 | DLL_LINK_OPTIONS= /dll
|
---|
151 | CLIENT_LINK_OPTIONS = /subsystem:console
|
---|
152 | SERVER_LINK_OPTIONS = -lib
|
---|
153 | ZTEST_LINK_OPTIONS = /subsystem:console
|
---|
154 |
|
---|
155 | # TCL
|
---|
156 | TCL="C:\Program Files\Tcl\bin\tclsh82.exe"
|
---|
157 |
|
---|
158 | COMMON_TCL_OPTIONS= ..\util\yaz-comp -I$(INCLDIR) -i yaz
|
---|
159 |
|
---|
160 | # Final opt variables
|
---|
161 | !if $(DEBUG)
|
---|
162 | COPT= $(COMMON_C_OPTIONS) $(DEBUG_C_OPTIONS) $(COMMON_C_INCLUDES)
|
---|
163 | MTLOPT= $(COMMON_MTL_OPTIONS) $(DEBUG_MTL_OPTIONS)
|
---|
164 | RCOPT= $(COMMON_RC_OPTIONS) $(DEBUG_RC_OPTIONS)
|
---|
165 | LNKOPT= $(COMMON_LNK_OPTIONS) $(DEBUG_LNK_OPTIONS) $(LNK_LIBS)
|
---|
166 | TCLOPT= $(COMMON_TCL_OPTIONS)
|
---|
167 |
|
---|
168 | !else
|
---|
169 | COPT= $(COMMON_C_OPTIONS) $(RELEASE_C_OPTIONS) $(COMMON_C_INCLUDES)
|
---|
170 | MTLOPT= $(COMMON_MTL_OPTIONS) $(RELEASE_MTL_OPTIONS)
|
---|
171 | RCOPT= $(COMMON_RC_OPTIONS) $(RELEASE_RC_OPTIONS)
|
---|
172 | LNKOPT= $(COMMON_LNK_OPTIONS) $(RELEASE_LNK_OPTIONS) $(LNK_LIBS)
|
---|
173 | TCLOPT= $(COMMON_TCL_OPTIONS)
|
---|
174 | !endif
|
---|
175 |
|
---|
176 |
|
---|
177 |
|
---|
178 | ###########################################################
|
---|
179 | ############### Source and object modules
|
---|
180 | ###########################################################
|
---|
181 |
|
---|
182 | # Note: Ordinary source files are not specified here at
|
---|
183 | # all, make finds them in suitable dirs. The object modules
|
---|
184 | # need to be specified, though
|
---|
185 |
|
---|
186 | YAZ_CLIENT_OBJS= \
|
---|
187 | $(OBJDIR)\client.obj
|
---|
188 |
|
---|
189 | YAZ_SERVER_OBJS= \
|
---|
190 | "$(OBJDIR)\eventl.obj" \
|
---|
191 | "$(OBJDIR)\requestq.obj" \
|
---|
192 | "$(OBJDIR)\service.obj" \
|
---|
193 | "$(OBJDIR)\seshigh.obj" \
|
---|
194 | "$(OBJDIR)\statserv.obj" \
|
---|
195 | "$(OBJDIR)\tcpdchk.obj"
|
---|
196 |
|
---|
197 | ZTEST_OBJS= \
|
---|
198 | "$(OBJDIR)\read-grs.obj" \
|
---|
199 | "$(OBJDIR)\ztest.obj"
|
---|
200 |
|
---|
201 |
|
---|
202 | YAZ_ASN_OBJS= \
|
---|
203 | $(OBJDIR)\proto.obj \
|
---|
204 | $(OBJDIR)\prt-acc.obj \
|
---|
205 | $(OBJDIR)\prt-add.obj \
|
---|
206 | $(OBJDIR)\prt-arc.obj \
|
---|
207 | $(OBJDIR)\prt-dat.obj \
|
---|
208 | $(OBJDIR)\prt-dia.obj \
|
---|
209 | $(OBJDIR)\prt-esp.obj \
|
---|
210 | $(OBJDIR)\prt-exd.obj \
|
---|
211 | $(OBJDIR)\prt-exp.obj \
|
---|
212 | $(OBJDIR)\prt-grs.obj \
|
---|
213 | $(OBJDIR)\prt-rsc.obj \
|
---|
214 | $(OBJDIR)\prt-univ.obj
|
---|
215 |
|
---|
216 | YAZ_COMSTACK_OBJS= \
|
---|
217 | $(OBJDIR)\comstack.obj \
|
---|
218 | $(OBJDIR)\tcpip.obj \
|
---|
219 | $(OBJDIR)\waislen.obj
|
---|
220 |
|
---|
221 | YAZ_ODR_OBJS= \
|
---|
222 | $(OBJDIR)\ber_any.obj \
|
---|
223 | $(OBJDIR)\ber_bit.obj \
|
---|
224 | $(OBJDIR)\ber_bool.obj \
|
---|
225 | $(OBJDIR)\ber_int.obj \
|
---|
226 | $(OBJDIR)\ber_len.obj \
|
---|
227 | $(OBJDIR)\ber_null.obj \
|
---|
228 | $(OBJDIR)\ber_oct.obj \
|
---|
229 | $(OBJDIR)\ber_oid.obj \
|
---|
230 | $(OBJDIR)\ber_tag.obj \
|
---|
231 | $(OBJDIR)\dumpber.obj \
|
---|
232 | $(OBJDIR)\odr.obj \
|
---|
233 | $(OBJDIR)\odr_any.obj \
|
---|
234 | $(OBJDIR)\odr_bit.obj \
|
---|
235 | $(OBJDIR)\odr_bool.obj \
|
---|
236 | $(OBJDIR)\odr_choice.obj \
|
---|
237 | $(OBJDIR)\odr_cons.obj \
|
---|
238 | $(OBJDIR)\odr_enum.obj \
|
---|
239 | $(OBJDIR)\odr_int.obj \
|
---|
240 | $(OBJDIR)\odr_mem.obj \
|
---|
241 | $(OBJDIR)\odr_null.obj \
|
---|
242 | $(OBJDIR)\odr_oct.obj \
|
---|
243 | $(OBJDIR)\odr_oid.obj \
|
---|
244 | $(OBJDIR)\odr_seq.obj \
|
---|
245 | $(OBJDIR)\odr_tag.obj \
|
---|
246 | $(OBJDIR)\odr_use.obj \
|
---|
247 | $(OBJDIR)\odr_util.obj
|
---|
248 |
|
---|
249 | YAZ_UTIL_OBJS= \
|
---|
250 | $(OBJDIR)\atoin.obj \
|
---|
251 | $(OBJDIR)\log.obj \
|
---|
252 | $(OBJDIR)\marcdisp.obj \
|
---|
253 | $(OBJDIR)\nmem.obj \
|
---|
254 | $(OBJDIR)\nmemsdup.obj \
|
---|
255 | $(OBJDIR)\oid.obj \
|
---|
256 | $(OBJDIR)\options.obj \
|
---|
257 | $(OBJDIR)\readconf.obj \
|
---|
258 | $(OBJDIR)\tpath.obj \
|
---|
259 | $(OBJDIR)\wrbuf.obj \
|
---|
260 | $(OBJDIR)\xmalloc.obj \
|
---|
261 | $(OBJDIR)\matchstr.obj
|
---|
262 |
|
---|
263 | YAZ_ZUTIL_OBJS= \
|
---|
264 | $(OBJDIR)\diagbib1.obj \
|
---|
265 | $(OBJDIR)\zget.obj \
|
---|
266 | $(OBJDIR)\prt-ext.obj \
|
---|
267 | $(OBJDIR)\logrpn.obj \
|
---|
268 | $(OBJDIR)\pquery.obj \
|
---|
269 | $(OBJDIR)\yaz-ccl.obj \
|
---|
270 | $(OBJDIR)\otherinfo.obj
|
---|
271 |
|
---|
272 | YAZ_RET_OBJS= \
|
---|
273 | $(OBJDIR)\d1_absyn.obj\
|
---|
274 | $(OBJDIR)\d1_attset.obj\
|
---|
275 | $(OBJDIR)\d1_doespec.obj\
|
---|
276 | $(OBJDIR)\d1_espec.obj\
|
---|
277 | $(OBJDIR)\d1_expout.obj\
|
---|
278 | $(OBJDIR)\d1_grs.obj\
|
---|
279 | $(OBJDIR)\d1_handle.obj\
|
---|
280 | $(OBJDIR)\d1_map.obj\
|
---|
281 | $(OBJDIR)\d1_marc.obj\
|
---|
282 | $(OBJDIR)\d1_prtree.obj\
|
---|
283 | $(OBJDIR)\d1_read.obj\
|
---|
284 | $(OBJDIR)\d1_soif.obj\
|
---|
285 | $(OBJDIR)\d1_sumout.obj\
|
---|
286 | $(OBJDIR)\d1_sutrs.obj\
|
---|
287 | $(OBJDIR)\d1_tagset.obj\
|
---|
288 | $(OBJDIR)\d1_varset.obj\
|
---|
289 | $(OBJDIR)\d1_write.obj\
|
---|
290 | $(OBJDIR)\d1_if.obj
|
---|
291 |
|
---|
292 | Z3950_OBJS= \
|
---|
293 | $(OBJDIR)\z-date.obj\
|
---|
294 | $(OBJDIR)\z-univ.obj\
|
---|
295 | $(OBJDIR)\zes-update.obj\
|
---|
296 | $(OBJDIR)\z-accdes1.obj \
|
---|
297 | $(OBJDIR)\z-accform1.obj \
|
---|
298 | $(OBJDIR)\z-acckrb1.obj \
|
---|
299 | $(OBJDIR)\z-core.obj \
|
---|
300 | $(OBJDIR)\z-diag1.obj \
|
---|
301 | $(OBJDIR)\z-espec1.obj \
|
---|
302 | $(OBJDIR)\z-estask.obj \
|
---|
303 | $(OBJDIR)\z-exp.obj \
|
---|
304 | $(OBJDIR)\z-grs.obj \
|
---|
305 | $(OBJDIR)\z-opac.obj \
|
---|
306 | $(OBJDIR)\z-uifr1.obj \
|
---|
307 | $(OBJDIR)\z-rrf1.obj \
|
---|
308 | $(OBJDIR)\z-rrf2.obj \
|
---|
309 | $(OBJDIR)\z-sum.obj \
|
---|
310 | $(OBJDIR)\z-sutrs.obj \
|
---|
311 | $(OBJDIR)\zes-expi.obj \
|
---|
312 | $(OBJDIR)\zes-exps.obj \
|
---|
313 | $(OBJDIR)\zes-order.obj \
|
---|
314 | $(OBJDIR)\zes-pquery.obj \
|
---|
315 | $(OBJDIR)\zes-psched.obj \
|
---|
316 | $(OBJDIR)\zes-pset.obj \
|
---|
317 | $(OBJDIR)\zes-update0.obj
|
---|
318 |
|
---|
319 | ILL_OBJS= \
|
---|
320 | $(OBJDIR)\ill-get.obj\
|
---|
321 | $(OBJDIR)\ill-core.obj\
|
---|
322 | $(OBJDIR)\item-req.obj
|
---|
323 |
|
---|
324 | COMMON_YAZ_OBJS= \
|
---|
325 | $(YAZ_COMSTACK_OBJS) \
|
---|
326 | $(YAZ_ODR_OBJS) \
|
---|
327 | $(YAZ_UTIL_OBJS) \
|
---|
328 | $(YAZ_ZUTIL_OBJS) \
|
---|
329 | $(YAZ_RET_OBJS)
|
---|
330 |
|
---|
331 | !if $(NEW_Z3950)
|
---|
332 | YAZ_OBJS= \
|
---|
333 | $(COMMON_YAZ_OBJS) \
|
---|
334 | $(ILL_OBJS) \
|
---|
335 | $(Z3950_OBJS)
|
---|
336 | !else
|
---|
337 | YAZ_OBJS= \
|
---|
338 | $(COMMON_YAZ_OBJS) \
|
---|
339 | $(YAZ_ASN_OBJS)
|
---|
340 | !endif
|
---|
341 |
|
---|
342 | DLL_OBJS= $(YAZ_OBJS)
|
---|
343 |
|
---|
344 | ALL_OBJS= \
|
---|
345 | $(YAZ_OBJS) \
|
---|
346 | $(YAZ_CLIENT_OBJS) \
|
---|
347 | $(YAZ_SERVER_OBJS) \
|
---|
348 | $(ZTEST_OBJS)
|
---|
349 |
|
---|
350 |
|
---|
351 | ##########################################################
|
---|
352 | ############## proto.h
|
---|
353 | ##########################################################
|
---|
354 |
|
---|
355 | !if $(NEW_Z3950)
|
---|
356 | $(PROTOH): makefile $(INCLDIR)\yaz\z-proto.h
|
---|
357 | type $(INCLDIR)\yaz\z-proto.h > $(PROTOH)
|
---|
358 | !else
|
---|
359 | $(PROTOH): makefile $(INCLDIR)\yaz\prt-proto.h
|
---|
360 | type $(INCLDIR)\yaz\prt-proto.h > $(PROTOH)
|
---|
361 | !endif
|
---|
362 |
|
---|
363 |
|
---|
364 | ###########################################################
|
---|
365 | ############### Generated C and H files
|
---|
366 | ###########################################################
|
---|
367 |
|
---|
368 | Z3950_C_DIR=$(Z3950DIR)
|
---|
369 | ILL_C_DIR=$(ILLDIR)
|
---|
370 | #!!! Should be moved to OBJ, but that requires too much trickery
|
---|
371 |
|
---|
372 | # Files generated from datetime.asn
|
---|
373 | DATETIME_H_FILES = $(INCLDIR)\yaz\z-date.h
|
---|
374 | DATETIME_C_FILES = $(Z3950_C_DIR)\z-date.c
|
---|
375 |
|
---|
376 | # Files generated from univres.asn
|
---|
377 | UNIVRES_H_FILES = $(INCLDIR)\yaz\z-univ.h
|
---|
378 | UNIVRES_C_FILES = $(Z3950_C_DIR)\z-univ.c
|
---|
379 |
|
---|
380 | # Files generated from esupdate.asn
|
---|
381 | ESUPDATE_H_FILES = $(INCLDIR)\yaz\zes-update.h
|
---|
382 | ESUPDATE_C_FILES = $(Z3950_C_DIR)\zes-update.c
|
---|
383 |
|
---|
384 | # Files created from z3950v3.asn
|
---|
385 | Z3950V3_H_FILES= \
|
---|
386 | $(INCLDIR)\yaz\z-accdes1.h \
|
---|
387 | $(INCLDIR)\yaz\z-core.h
|
---|
388 |
|
---|
389 | Z3950V3_C_FILES= \
|
---|
390 | $(Z3950_C_DIR)\z-accdes1.c \
|
---|
391 | $(Z3950_C_DIR)\z-accform1.c \
|
---|
392 | $(Z3950_C_DIR)\z-acckrb1.c \
|
---|
393 | $(Z3950_C_DIR)\z-core.c \
|
---|
394 | $(Z3950_C_DIR)\z-diag1.c \
|
---|
395 | $(Z3950_C_DIR)\z-espec1.c \
|
---|
396 | $(Z3950_C_DIR)\z-estask.c \
|
---|
397 | $(Z3950_C_DIR)\z-exp.c \
|
---|
398 | $(Z3950_C_DIR)\z-grs.c \
|
---|
399 | $(Z3950_C_DIR)\z-opac.c \
|
---|
400 | $(Z3950_C_DIR)\z-uifr1.c \
|
---|
401 | $(Z3950_C_DIR)\z-rrf1.c \
|
---|
402 | $(Z3950_C_DIR)\z-rrf2.c \
|
---|
403 | $(Z3950_C_DIR)\z-sum.c \
|
---|
404 | $(Z3950_C_DIR)\z-sutrs.c \
|
---|
405 | $(Z3950_C_DIR)\zes-expi.c \
|
---|
406 | $(Z3950_C_DIR)\zes-exps.c \
|
---|
407 | $(Z3950_C_DIR)\zes-order.c \
|
---|
408 | $(Z3950_C_DIR)\zes-pquery.c \
|
---|
409 | $(Z3950_C_DIR)\zes-psched.c \
|
---|
410 | $(Z3950_C_DIR)\zes-pset.c \
|
---|
411 | $(Z3950_C_DIR)\zes-update0.c
|
---|
412 |
|
---|
413 | ILL_CORE_H_FILES= \
|
---|
414 | $(INCLDIR)\yaz\ill-core.h
|
---|
415 |
|
---|
416 | ILL_CORE_C_FILES= \
|
---|
417 | $(ILL_C_DIR)\ill-core.c
|
---|
418 |
|
---|
419 | ITEM_REQ_H_FILES= \
|
---|
420 | $(INCLDIR)\yaz\item-req.h
|
---|
421 |
|
---|
422 | ITEM_REQ_C_FILES= \
|
---|
423 | $(ILL_C_DIR)\item-req.c
|
---|
424 |
|
---|
425 | DATETIME_FILES = $(DATETIME_H_FILES) $(DATETIME_C_FILES)
|
---|
426 | UNIVRES_FILES = $(UNIVRES_H_FILES) $(UNIVRES_C_FILES)
|
---|
427 | ESUPDATE_FILES = $(ESUPDATE_H_FILES) $(ESUPDATE_C_FILES)
|
---|
428 | Z3950V3_FILES= $(Z3950V3_C_FILES) $(Z3950V3_H_FILES)
|
---|
429 | ILL_CORE_FILES= $(ILL_CORE_C_FILES) $(ILL_CORE_H_FILES)
|
---|
430 | ITEM_REQ_FILES= $(ITEM_REQ_C_FILES) $(ITEM_REQ_H_FILES)
|
---|
431 |
|
---|
432 | GENERATED_C_FILES= \
|
---|
433 | $(Z3950V3_C_FILES) \
|
---|
434 | $(ESUPDATE_C_FILES) \
|
---|
435 | $(UNIVRES_C_FILES) \
|
---|
436 | $(DATETIME_C_FILES)
|
---|
437 |
|
---|
438 | GENERATED_H_FILES= \
|
---|
439 | $(Z3950V3_H_FILES) \
|
---|
440 | $(ESUPDATE_H_FILES) \
|
---|
441 | $(UNIVRES_H_FILES) \
|
---|
442 | $(DATETIME_H_FILES)
|
---|
443 |
|
---|
444 | generated_files: \
|
---|
445 | $(GENERATED_H_FILES) \
|
---|
446 | $(GENERATED_C_FILES) \
|
---|
447 | $(PROTOH)
|
---|
448 |
|
---|
449 | ###########################################################
|
---|
450 | ############### Compiling
|
---|
451 | ###########################################################
|
---|
452 |
|
---|
453 | # Note: This defines where to look for the necessary
|
---|
454 | # source files. Funny way of doing it, but it works.
|
---|
455 |
|
---|
456 | # DLL sources
|
---|
457 | {$(SRCDIR)}.cpp{$(OBJDIR)}.obj:
|
---|
458 | @$(CPP) $(COPT) $<
|
---|
459 |
|
---|
460 | # Yaz client
|
---|
461 | {$(CLIENTDIR)}.c{$(OBJDIR)}.obj:
|
---|
462 | @$(CPP) $(COPT) $< /D"_CONSOLE"
|
---|
463 |
|
---|
464 | # Ztest
|
---|
465 | {$(ZTESTDIR)}.c{$(OBJDIR)}.obj:
|
---|
466 | @$(CPP) $(COPT) $< /D"_CONSOLE"
|
---|
467 |
|
---|
468 | # Server
|
---|
469 | {$(SERVERDIR)}.c{$(OBJDIR)}.obj:
|
---|
470 | @$(CPP) $(COPT) $<
|
---|
471 |
|
---|
472 | # Various YAZ source directories
|
---|
473 | {$(ASNDIR)}.c{$(OBJDIR)}.obj:
|
---|
474 | @$(CPP) $(COPT) $<
|
---|
475 |
|
---|
476 | {$(COMSTACKDIR)}.c{$(OBJDIR)}.obj:
|
---|
477 | @$(CPP) $(COPT) $<
|
---|
478 |
|
---|
479 | {$(ODRDIR)}.c{$(OBJDIR)}.obj:
|
---|
480 | @$(CPP) $(COPT) $<
|
---|
481 |
|
---|
482 | {$(UTILDIR)}.c{$(OBJDIR)}.obj:
|
---|
483 | @$(CPP) $(COPT) $<
|
---|
484 |
|
---|
485 | {$(ZUTILDIR)}.c{$(OBJDIR)}.obj:
|
---|
486 | @$(CPP) $(COPT) $<
|
---|
487 |
|
---|
488 | {$(RETDIR)}.c{$(OBJDIR)}.obj:
|
---|
489 | @$(CPP) $(COPT) $<
|
---|
490 |
|
---|
491 | {$(Z3950_C_DIR)}.c{$(OBJDIR)}.obj:
|
---|
492 | @$(CPP) $(COPT) $<
|
---|
493 |
|
---|
494 | {$(ILL_C_DIR)}.c{$(OBJDIR)}.obj:
|
---|
495 | @$(CPP) $(COPT) $<
|
---|
496 |
|
---|
497 | ############### ASN-generated files
|
---|
498 |
|
---|
499 | $(Z3950V3_FILES): $(Z3950DIR)\z3950v3.asn
|
---|
500 | @cd $(Z3950DIR)
|
---|
501 | $(TCL) $(TCLOPT) -d z.tcl z3950v3.asn
|
---|
502 | @cd $(WINDIR)
|
---|
503 |
|
---|
504 | $(DATETIME_FILES): $(Z3950DIR)\datetime.asn
|
---|
505 | @cd $(Z3950DIR)
|
---|
506 | $(TCL) $(TCLOPT) -d z.tcl datetime.asn
|
---|
507 | @cd $(WINDIR)
|
---|
508 |
|
---|
509 | $(UNIVRES_FILES): $(Z3950DIR)\univres.asn
|
---|
510 | @cd $(Z3950DIR)
|
---|
511 | $(TCL) $(TCLOPT) -d z.tcl univres.asn
|
---|
512 | @cd $(WINDIR)
|
---|
513 |
|
---|
514 | $(ESUPDATE_FILES): $(Z3950DIR)\esupdate.asn
|
---|
515 | @cd $(Z3950DIR)
|
---|
516 | $(TCL) $(TCLOPT) -d z.tcl esupdate.asn
|
---|
517 | @cd $(WINDIR)
|
---|
518 |
|
---|
519 | $(ILL_CORE_FILES): $(ILLDIR)\ill9702.asn
|
---|
520 | @cd $(ILLDIR)
|
---|
521 | $(TCL) $(TCLOPT) -d ill.tcl ill9702.asn
|
---|
522 | @cd $(WINDIR)
|
---|
523 |
|
---|
524 | $(ITEM_REQ_FILES): $(ILLDIR)\item-req.asn
|
---|
525 | @cd $(ILLDIR)
|
---|
526 | $(TCL) $(TCLOPT) -d ill.tcl item-req.asn
|
---|
527 | @cd $(WINDIR)
|
---|
528 |
|
---|
529 | ###########################################################
|
---|
530 | ############### Linking
|
---|
531 | ###########################################################
|
---|
532 |
|
---|
533 | $(DLL) $(IMPLIB): "$(BINDIR)" $(DLL_OBJS)
|
---|
534 | @echo Linking the dll $(DLL)
|
---|
535 | $(LINK) @<<
|
---|
536 | $(LNKOPT)
|
---|
537 | $(LINK_LIBS)
|
---|
538 | $(DLL_LINK_OPTIONS)
|
---|
539 | $(DLL_OBJS)
|
---|
540 | /out:$(DLL)
|
---|
541 | /implib:"$(LIBDIR)/yaz.lib"
|
---|
542 | /pdb:"$(LIBDIR)/yaz.pdb"
|
---|
543 | /map:"$(LIBDIR)/yaz.map"
|
---|
544 | <<
|
---|
545 |
|
---|
546 | $(CLIENT) : "$(BINDIR)" $(YAZ_CLIENT_OBJS)
|
---|
547 | @echo Linking the client $(CLIENT)
|
---|
548 | $(LINK) @<<
|
---|
549 | $(LNKOPT)
|
---|
550 | $(CLIENT_LINK_OPTIONS)
|
---|
551 | $(LINK_LIBS)
|
---|
552 | $(IMPLIB)
|
---|
553 | $(YAZ_CLIENT_OBJS)
|
---|
554 |
|
---|
555 | /pdb:"$(LIBDIR)/yaz-client.pdb"
|
---|
556 |
|
---|
557 | /map:"$(LIBDIR)/yaz-client.map"
|
---|
558 | /out:$(CLIENT)
|
---|
559 | <<
|
---|
560 |
|
---|
561 | $(ZTEST) : "$(BINDIR)" $(ZTEST_OBJS) $(SERVER) $(DLL)
|
---|
562 | @echo Linking the ztest $(ZTEST)
|
---|
563 | $(LINK) @<<
|
---|
564 | $(LNKOPT)
|
---|
565 | $(ZTEST_LINK_OPTIONS)
|
---|
566 | $(LINK_LIBS)
|
---|
567 | shell32.lib
|
---|
568 | $(IMPLIB)
|
---|
569 | $(SERVER)
|
---|
570 | $(ZTEST_OBJS)
|
---|
571 |
|
---|
572 | /implib:"$(LIBDIR)/yaz-ztest.lib"
|
---|
573 |
|
---|
574 | /pdb:"$(LIBDIR)/yaz-ztest.pdb"
|
---|
575 |
|
---|
576 | /map:"$(LIBDIR)/yaz-ztest.map"
|
---|
577 | /out:$(ZTEST)
|
---|
578 | <<
|
---|
579 |
|
---|
580 |
|
---|
581 | $(SERVER) : "$(BINDIR)" $(YAZ_SERVER_OBJS)
|
---|
582 | @echo Linking the server $(SERVER)
|
---|
583 | $(LINK) $(SERVER_LINK_OPTIONS) @<<
|
---|
584 | /nologo
|
---|
585 | $(IMPLIB)
|
---|
586 | $(YAZ_SERVER_OBJS)
|
---|
587 | /out:$(SERVER)
|
---|
588 | <<
|
---|
589 |
|
---|
590 | # note that this links a lib, so it uses completely different options.
|
---|
591 |
|
---|
592 |
|
---|
593 |
|
---|
594 | ###########################################################
|
---|
595 | ############### Special operations
|
---|
596 | ###########################################################
|
---|
597 |
|
---|
598 |
|
---|
599 | ############## clean
|
---|
600 | clean:
|
---|
601 | del $(DLL)
|
---|
602 | del $(CLIENT)
|
---|
603 | del $(SERVER)
|
---|
604 | del $(ZTEST)
|
---|
605 | del $(TMPDIR)\*.
|
---|
606 |
|
---|
607 | del $(LIBDIR)\*.MAP
|
---|
608 |
|
---|
609 | del $(LIBDIR)\*.LIB
|
---|
610 | del $(OBJDIR)\*.OBJ
|
---|
611 |
|
---|
612 | del $(PROTOH)
|
---|
613 |
|
---|
614 | realclean: clean
|
---|
615 | del $(Z3950_C_DIR)\*.c
|
---|
616 | del $(Z3950_C_DIR)\*.h
|
---|
617 | del $(INCLDIR)\yaz\z-accdes1.h
|
---|
618 | del $(INCLDIR)\yaz\z-core.h
|
---|
619 | del $(DATETIME_H_FILES)
|
---|
620 | del $(UNIVRES_H_FILES)
|
---|
621 | del $(ESUPDATE_H_FILES)
|
---|
622 |
|
---|
623 | # Because DOS del will only accept one file name to delete,
|
---|
624 | # the _H_ files work only on sets that have just one file.
|
---|
625 | # Z3950_H_FILES had to be spelled out. One more point for MS!
|
---|
626 |
|
---|
627 | ########### check directories and create if needed
|
---|
628 | dirs: $(OBJDIR) $(WINDIR) $(LIBDIR) $(BINDIR) $(TMPDIR)
|
---|
629 |
|
---|
630 | $(OBJDIR) $(WINDIR) $(LIBDIR) $(BINDIR) $(TMPDIR):
|
---|
631 | if not exist "$@/$(NUL)" mkdir "$@"
|
---|
632 |
|
---|
633 |
|
---|
634 | ###########################################################
|
---|
635 | ############### Explicit dependencies
|
---|
636 | ###########################################################
|
---|
637 |
|
---|
638 | $(ALL_OBJS): makefile $(PROTOH)
|
---|
639 |
|
---|
640 | # force recompilation of everything, if makefile changed
|
---|
641 |
|
---|
642 | $(Z3950_OBJS): $(GENERATED_C_FILES) $(GENERATED_H_FILES)
|
---|
643 |
|
---|
644 | $(ILL_OBJS): $(ILL_CORE_FILES) $(ITEM_REQ_FILES)
|
---|
645 |
|
---|
646 | !if $(NEW_Z3950)
|
---|
647 | $(PROTOH): $(GENERATED_C_FILES) $(GENERATED_H_FILES)
|
---|
648 | !endif
|
---|
649 | # makes sure we generate before compiling anything, as the
|
---|
650 | # new proto.h refers to the generated files, and is included
|
---|
651 | # in various places
|
---|
652 |
|
---|
653 | ###########################################################
|
---|
654 | ############### Log
|
---|
655 | ###########################################################
|
---|
656 | #
|
---|
657 | # $Log$
|
---|
658 | # Revision 1.1 2000/08/03 03:12:13 johnmcp
|
---|
659 | # Added the YAZ toolkit source to the packages directory (for z39.50 stuff)
|
---|
660 | #
|
---|
661 | # Revision 1.14 2000/03/02 08:48:21 adam
|
---|
662 | # Renamed ASN.1 compiler to yaz-comp (used to be yc.tcl).
|
---|
663 | #
|
---|
664 | # Revision 1.13 2000/02/28 11:13:03 adam
|
---|
665 | # Removed odr_priv.obj.
|
---|
666 | #
|
---|
667 | # Revision 1.12 2000/01/06 11:27:16 adam
|
---|
668 | # Updated for ILL.
|
---|
669 | #
|
---|
670 | # Revision 1.11 1999/12/21 14:16:20 ian
|
---|
671 | # Changed retrieval module to allow data1 trees with no associated absyn.
|
---|
672 | # Also added a simple interface for extracting values from data1 trees using
|
---|
673 | # a string based tagpath.
|
---|
674 | #
|
---|
675 | # Revision 1.10 1999/12/08 13:10:48 adam
|
---|
676 | # New version.
|
---|
677 | #
|
---|
678 | # Revision 1.9 1999/11/30 13:47:12 adam
|
---|
679 | # Improved installation. Moved header files to include/yaz.
|
---|
680 | #
|
---|
681 | # Revision 1.8 1999/07/21 08:48:02 adam
|
---|
682 | # Removed dmalloc.obj.
|
---|
683 | #
|
---|
684 | # Revision 1.7 1999/06/09 15:10:08 heikki
|
---|
685 | # Cleaning up. Seems to work all right
|
---|
686 | #
|
---|
687 | # Revision 1.6 1999/06/09 13:33:32 heikki
|
---|
688 | # Compiles and links both old and new type stuff all right
|
---|
689 | #
|
---|
690 | # Revision 1.5 1999/06/09 11:05:30 heikki
|
---|
691 | # At least it can compile
|
---|
692 | #
|
---|
693 | # Revision 1.4 1999/06/09 09:41:09 heikki
|
---|
694 | # More work on the ASN-generated files.
|
---|
695 | #
|
---|
696 | # Revision 1.3 1999/06/08 14:32:30 heikki
|
---|
697 | # Proto.h works all right, removed linker warnings from server.lib
|
---|
698 | #
|
---|
699 | # Revision 1.2 1999/06/08 14:07:24 heikki
|
---|
700 | # Renamed a pile of files
|
---|
701 | # Tmpdir (to get around Ms leaving temp files around, and crashing
|
---|
702 | # when too many with same number...)
|
---|
703 | #
|
---|
704 | # Revision 1.1 1999/06/08 12:15:41 heikki
|
---|
705 | # Renamed to makefile (.nothing) (from .mak)
|
---|
706 | # Working on the proto.h problems and alternative confiigurations
|
---|
707 | #
|
---|
708 | # Revision 1.5 1999/06/04 10:04:28 heikki
|
---|
709 | # Cleaning up
|
---|
710 | #
|
---|
711 | # Revision 1.4 1999/06/02 13:23:29 heikki
|
---|
712 | # Debug options for C compiler
|
---|
713 | #
|
---|
714 | # Revision 1.3 1999/05/19 08:26:22 heikki
|
---|
715 | # Added comments
|
---|
716 | #
|
---|
717 | #
|
---|
718 |
|
---|
719 |
|
---|
720 |
|
---|