a646122150d9336d28a5c7e31fa613387da78e9d
[openafs.git] / src / NTMakefile
1 # Copyright 2000, International Business Machines Corporation and others.
2 # All Rights Reserved.
3
4 # This software has been released under the terms of the IBM Public
5 # License.  For details, see the LICENSE file in the top-level source
6 # directory or online at http://www.openafs.org/dl/license10.html
7
8 # Top level nmake NTMakefile driver for building AFS.
9 #
10 # This file simply imposes a reasonable total ordering on the set of
11 # directories to build; this ordering is of course more strict than the
12 # partial ordering established by the actual directory dependencies.
13 #
14 # When porting a new directory, simply add the directory into the
15 # dependence chain at the earliest point possible, updating its successor
16 # appropriately; if the new directory is the last in the chain, then
17 # update the 'finale' dependency to be the new directory.
18
19 # These three macros define the source, object, and destination folders
20
21 SRC=src
22 #If AFS_OBJDIR is not defined then use obj as relative obj folder
23 !IFDEF AFS_OBJDIR
24 DESTDIR=$(AFS_OBJDIR)\dest
25 !ELSE
26 DESTDIR=obj\dest
27 AFS_OBJDIR=obj
28 !ENDIF
29
30 CD = cd
31 NTMAKE = nmake /nologo /f ntmakefile install
32 NTMAKELANG = nmake /nologo  /f ntmakefile en_US
33 NTMAKE_HEADERS = nmake /nologo  /f ntmakefile install_headers
34 NTMAKE_OBJS = nmake /nologo /f ntmakefile install_objs
35 MKDIR = mkdir
36
37 #debug statement support jumping to last know error
38 DOCD=src\DOLASTCMP.BAT
39
40 config:
41      echo ***** $@
42         $(DOCD) $(SRC)\config
43         $(CD) $(SRC)\config
44         $(NTMAKE)
45         $(CD) ..\..
46
47 procmgmt_headers:config
48      echo ***** $@
49         $(DOCD) $(SRC)\procmgmt
50         $(CD) $(SRC)\procmgmt
51         $(NTMAKE_HEADERS)
52         $(CD) ..\..
53
54 afsreg_headers:
55      echo ***** $@
56         $(DOCD) $(SRC)\WINNT\afsreg
57         $(CD) $(SRC)\WINNT\afsreg
58         $(NTMAKE_HEADERS)
59         $(CD) ..\..\..
60
61 util: procmgmt_headers afsreg_headers
62      echo ***** $@
63         $(DOCD) $(SRC)\$@
64         $(CD) $(SRC)\$@
65         $(NTMAKE)
66         $(CD) ..\..
67
68 comerr: util
69      echo ***** $@
70         $(DOCD) $(SRC)\$@
71         $(CD) $(SRC)\$@
72         $(NTMAKE)
73         $(CD) ..\..
74
75 cmd: comerr
76      echo ***** $@
77         $(DOCD) $(SRC)\$@
78         $(CD) $(SRC)\$@
79         $(NTMAKE)
80         $(CD) ..\..
81
82 afsreg: cmd
83      echo ***** $@
84         $(DOCD) $(SRC)\WINNT\$@
85         $(CD) $(SRC)\WINNT\$@
86         $(NTMAKE)
87         $(CD) ..\..\..
88
89 eventlog: afsreg
90      echo ***** $@
91         $(DOCD) $(SRC)\WINNT\$@
92         $(CD) $(SRC)\WINNT\$@
93         $(NTMAKE)
94         $(CD) ..\..\..
95
96 lwp: eventlog
97      echo ***** $@
98         $(DOCD) $(SRC)\$@
99         $(CD) $(SRC)\$@
100         $(NTMAKE)
101         $(CD) ..\..
102
103 rxgen: lwp
104      echo ***** $@
105         $(DOCD) $(SRC)\$@
106         $(CD) $(SRC)\$@
107         $(NTMAKE)
108         $(CD) ..\..
109
110 des: rxgen
111      echo ***** $@
112 !       IF (EXIST($(SRC)\des\NTMakefile))
113                 $(DOCD) $(SRC)\des
114                 $(CD) $(SRC)\des
115                 $(NTMAKE)
116                 $(CD) ..\..
117 !       ELSE
118                 $(DOCD) $(SRC)\des_stub
119                 $(CD) $(SRC)\des_stub
120                 $(NTMAKE)
121                 $(CD) ..\..
122 !       ENDIF
123
124 rx: des
125      echo ***** $@
126         $(DOCD) $(SRC)\$@
127         $(CD) $(SRC)\$@
128         $(NTMAKE)
129         $(CD) ..\..
130
131 rxstat: rx
132      echo ***** $@
133         $(DOCD) $(SRC)\$@
134         $(CD) $(SRC)\$@
135         $(NTMAKE)
136         $(CD) ..\..
137
138 rxkad: rxstat
139      echo ***** $@
140         $(DOCD) $(SRC)\$@
141         $(CD) $(SRC)\$@
142         $(NTMAKE)
143         $(CD) ..\..
144
145 pthread: rxkad
146      echo ***** $@
147         $(DOCD) $(SRC)\WINNT\$@
148         $(CD) $(SRC)\WINNT\$@
149         $(NTMAKE)
150         $(CD) ..\..\..
151
152 procmgmt: pthread
153      echo ***** $@
154         $(DOCD) $(SRC)\$@
155         $(CD) $(SRC)\$@
156         $(NTMAKE)
157         $(CD) ..\..
158
159 fsint: procmgmt
160      echo ***** $@
161         $(DOCD) $(SRC)\$@
162         $(CD) $(SRC)\$@
163         $(NTMAKE)
164         $(CD) ..\..
165
166 audit: fsint
167      echo ***** $@
168         $(DOCD) $(SRC)\$@
169         $(CD) $(SRC)\$@
170         $(NTMAKE)
171         $(CD) ..\..
172
173 osi_headers: audit
174      echo ***** $@
175         $(DOCD) $(SRC)\WINNT\client_osi
176         $(CD) $(SRC)\WINNT\client_osi
177         $(NTMAKE_HEADERS)
178         $(CD) ..\..\..
179
180 libacl_headers: osi_headers
181      echo ***** $@
182         $(DOCD) $(SRC)\libacl
183         $(CD) $(SRC)\libacl
184         $(NTMAKE_HEADERS)
185         $(CD) ..\..
186
187 cm_headers: libacl_headers
188      echo ***** $@
189         $(DOCD) $(SRC)\WINNT\afsd
190         $(CD) $(SRC)\WINNT\afsd
191         $(NTMAKE_HEADERS)
192         $(CD) ..\..\..
193
194 sys: cm_headers
195      echo ***** $@
196         $(DOCD) $(SRC)\$@
197         $(CD) $(SRC)\$@
198         $(NTMAKE)
199         $(CD) ..\..
200
201 afsdobjs: sys
202      echo ***** $@
203         $(DOCD) $(SRC)\WINNT\afsd
204         $(CD) $(SRC)\WINNT\afsd
205         $(NTMAKE_OBJS)
206         $(CD) ..\..\..
207
208 auth: afsdobjs
209      echo ***** $@
210         $(DOCD) $(SRC)\$@
211         $(CD) $(SRC)\$@
212         $(NTMAKE)
213         $(CD) ..\..
214
215 ubik: auth
216      echo ***** $@
217         $(DOCD) $(SRC)\$@
218         $(CD) $(SRC)\$@
219         $(NTMAKE)
220         $(CD) ..\..     
221
222 ptserver: ubik
223      echo ***** $@
224         $(DOCD) $(SRC)\$@
225         $(CD) $(SRC)\$@
226         $(NTMAKE)
227         $(CD) ..\..     
228
229 libacl: ptserver
230      echo ***** $@
231         $(DOCD) $(SRC)\$@
232         $(CD) $(SRC)\$@
233         $(NTMAKE)
234         $(CD) ..\..
235
236 kauth: libacl
237      echo ***** $@
238         $(DOCD) $(SRC)\$@
239         $(CD) $(SRC)\$@
240         $(NTMAKE)
241         $(CD) ..\..
242
243 vlserver: kauth
244      echo ***** $@
245         $(DOCD) $(SRC)\$@
246         $(CD) $(SRC)\$@
247         $(NTMAKE)
248         $(CD) ..\..
249
250 usd: vlserver
251      echo ***** $@
252         $(DOCD) $(SRC)\$@
253         $(CD) $(SRC)\$@
254         $(NTMAKE)
255         $(CD) ..\..
256
257 bubasics: usd
258      echo ***** $@
259         $(DOCD) $(SRC)\$@
260         $(CD) $(SRC)\$@
261         $(NTMAKE)
262         $(CD) ..\..
263
264 budb:   bubasics
265      echo ***** $@
266         $(DOCD) $(SRC)\$@
267         $(CD) $(SRC)\$@
268         $(NTMAKE)
269         $(CD) ..\..
270 butm:  budb
271      echo ***** $@
272      $(DOCD) $(SRC)\$@
273      $(CD) $(SRC)\$@
274      $(NTMAKE)
275      $(CD) ..\..
276
277 dir: butm
278      echo ***** $@
279         $(DOCD) $(SRC)\$@
280         $(CD) $(SRC)\$@
281         $(NTMAKE)
282         $(CD) ..\..
283
284 vol: dir
285      echo ***** $@
286         $(DOCD) $(SRC)\$@
287         $(CD) $(SRC)\$@
288         $(NTMAKE)
289         $(CD) ..\..
290
291 volser: vol
292      echo ***** $@
293         $(DOCD) $(SRC)\$@
294         $(CD) $(SRC)\$@
295         $(NTMAKE)
296         $(CD) ..\..
297
298 viced: volser
299      echo ***** $@
300         $(DOCD) $(SRC)\$@
301         $(CD) $(SRC)\$@
302         $(NTMAKE)
303         $(CD) ..\..
304
305 update: viced
306      echo ***** $@
307         $(DOCD) $(SRC)\$@
308         $(CD) $(SRC)\$@
309         $(NTMAKE)
310         $(CD) ..\..
311
312 bucoord: update
313      echo ***** $@
314      $(DOCD) $(SRC)\$@
315      $(CD) $(SRC)\$@
316      $(NTMAKE)
317      $(CD) ..\..
318
319 butc:   bucoord
320      echo ***** $@
321      $(DOCD) $(SRC)\$@
322      $(CD) $(SRC)\$@
323      $(NTMAKE)
324      $(CD) ..\..
325
326 bozo: butc
327      echo ***** $@
328         $(DOCD) $(SRC)\$@
329         $(CD) $(SRC)\$@
330         $(NTMAKE)
331         $(CD) ..\..
332
333 bosctlsvc: bozo
334      echo ***** $@
335         $(DOCD) $(SRC)\WINNT\$@
336         $(CD) $(SRC)\WINNT\$@
337         $(NTMAKE)
338         $(CD) ..\..\..
339
340 bu_utils: bosctlsvc
341      echo ***** $@
342         $(DOCD) $(SRC)\$@
343         $(CD) $(SRC)\$@
344         $(NTMAKE)
345         $(CD) ..\..
346
347 libafsrpc: bu_utils
348      echo ***** $@
349         $(DOCD) $(SRC)\$@
350         $(CD) $(SRC)\$@
351         $(NTMAKE)
352         $(CD) ..\..
353
354 libafsauthent: libafsrpc
355      echo ***** $@
356         $(DOCD) $(SRC)\$@
357         $(CD) $(SRC)\$@
358         $(NTMAKE)
359         $(CD) ..\..
360
361 tviced: libafsauthent
362      echo ***** $@
363         $(DOCD) $(SRC)\$@
364         $(CD) $(SRC)\$@
365         $(NTMAKE)
366         $(CD) ..\..
367
368 tbutc:  tviced
369      echo ***** $@
370      $(DOCD) $(SRC)\$@
371      $(CD) $(SRC)\$@
372      $(NTMAKE)
373      $(CD) ..\..
374
375 libadmin: tbutc
376      echo ***** $@
377         $(DOCD) $(SRC)\$@
378         $(CD) $(SRC)\$@
379         $(NTMAKE)
380         $(CD) ..\..
381
382 adminutil: libadmin
383      echo ***** $@
384         $(DOCD) $(SRC)\libadmin\$@
385         $(CD) $(SRC)\libadmin\$@
386         $(NTMAKE)
387         $(CD) ..\..\..
388
389 vos: adminutil
390      echo ***** $@
391         $(DOCD) $(SRC)\libadmin\$@
392         $(CD) $(SRC)\libadmin\$@
393         $(NTMAKE)
394         $(CD) ..\..\..
395
396 client: vos
397      echo ***** $@
398         $(DOCD) $(SRC)\libadmin\$@
399         $(CD) $(SRC)\libadmin\$@
400         $(NTMAKE)
401         $(CD) ..\..\..
402
403 kas: client
404      echo ***** $@
405         $(DOCD) $(SRC)\libadmin\$@
406         $(CD) $(SRC)\libadmin\$@
407         $(NTMAKE)
408         $(CD) ..\..\..
409
410 pts: kas
411      echo ***** $@
412         $(DOCD) $(SRC)\libadmin\$@
413         $(CD) $(SRC)\libadmin\$@
414         $(NTMAKE)
415         $(CD) ..\..\..
416
417 bos: pts
418      echo ***** $@
419         $(DOCD) $(SRC)\libadmin\$@
420         $(CD) $(SRC)\libadmin\$@
421         $(NTMAKE)
422         $(CD) ..\..\..
423
424 cfg: bos
425      echo ***** $@
426         $(DOCD) $(SRC)\libadmin\$@
427         $(CD) $(SRC)\libadmin\$@
428         $(NTMAKE)
429         $(CD) ..\..\..
430
431 admintest: cfg
432      echo ***** $@
433         $(DOCD) $(SRC)\libadmin\test
434         $(CD) $(SRC)\libadmin\test
435         $(NTMAKE)
436         $(CD) ..\..\..
437
438 talocale: admintest
439      echo ***** $@
440         $(DOCD) $(SRC)\WINNT\$@
441         $(CD) $(SRC)\WINNT\$@
442         $(NTMAKE)
443         $(CD) ..\..\..
444
445 license: talocale
446      echo ***** $@
447         $(DOCD) $(SRC)\WINNT\$@
448         $(CD) $(SRC)\WINNT\$@
449         $(NTMAKE)
450         $(CD) ..\..\..
451
452 afsadmsvr: license
453      echo ***** $@
454         $(DOCD) $(SRC)\WINNT\$@
455         $(CD) $(SRC)\WINNT\$@
456         $(NTMAKE)
457         $(CD) ..\..\..
458
459 afsusrmgr: afsadmsvr
460      echo ***** $@
461         $(DOCD) $(SRC)\WINNT\$@
462         $(CD) $(SRC)\WINNT\$@
463         $(NTMAKE)
464         $(CD) ..\..\..
465
466 afssvrmgr: afsusrmgr
467      echo ***** $@
468         $(DOCD) $(SRC)\WINNT\$@
469         $(CD) $(SRC)\WINNT\$@
470         $(NTMAKE)
471         $(CD) ..\..\..
472
473 afssvrcfg: afssvrmgr
474      echo ***** $@
475         $(DOCD) $(SRC)\WINNT\$@
476         $(CD) $(SRC)\WINNT\$@
477         $(NTMAKE)
478         $(CD) ..\..\..
479
480 afssvrcpa: afssvrcfg
481      echo ***** $@
482         $(DOCD) $(SRC)\WINNT\$@
483         $(CD) $(SRC)\WINNT\$@
484         $(NTMAKE)
485         $(CD) ..\..\..
486
487 client_talocale: afssvrcpa
488      echo ***** $@
489         $(DOCD) $(SRC)\WINNT\talocale
490         $(CD) $(SRC)\WINNT\talocale
491         $(NTMAKE)
492         $(CD) ..\..\..
493
494 client_osi: client_talocale
495      echo ***** $@
496         $(DOCD) $(SRC)\WINNT\$@
497         $(CD) $(SRC)\WINNT\$@
498         $(NTMAKE)
499         $(CD) ..\..\..
500
501 afsd: client_osi
502      echo ***** $@
503         $(DOCD) $(SRC)\WINNT\$@
504         $(CD) $(SRC)\WINNT\$@
505         $(NTMAKE)
506         $(CD) ..\..\..
507
508 client_cpa: afsd
509      echo ***** $@
510         $(DOCD) $(SRC)\WINNT\$@
511         $(CD) $(SRC)\WINNT\$@
512         $(NTMAKE)
513         $(CD) ..\..\..
514
515 client_config: client_cpa
516      echo ***** $@
517         $(DOCD) $(SRC)\WINNT\$@
518         $(CD) $(SRC)\WINNT\$@
519         $(NTMAKE)
520         $(CD) ..\..\..
521
522 client_exp: client_config
523      echo ***** $@
524         $(DOCD) $(SRC)\WINNT\$@
525         $(CD) $(SRC)\WINNT\$@
526         $(NTMAKE)
527         $(CD) ..\..\..
528
529 client_creds: client_exp
530      echo ***** $@
531         $(DOCD) $(SRC)\WINNT\$@
532         $(CD) $(SRC)\WINNT\$@
533         $(NTMAKE)
534         $(CD) ..\..\..
535
536 finale: client_creds
537      echo ***** $@
538         $(DOCD) $(SRC)\$@
539         $(CD) $(SRC)\$@
540         $(NTMAKE)
541         $(CD) ..\..     
542         echo Build Finished Successfully
543
544 install: finale
545
546 # InstallShield dependencies
547
548 InstallShield5:
549         echo ***** afs_setup_utils
550         $(DOCD) $(SRC)\WINNT\afs_setup_utils
551         $(CD) $(SRC)\WINNT\afs_setup_utils
552         $(NTMAKE)
553         $(CD) ..\..\..
554
555         $(DOCD) $(SRC)\WINNT\install\$@
556         $(CD) $(SRC)\WINNT\install\$@
557         $(NTMAKE)
558         $(CD) ..\..\..\..
559
560 media: InstallShield5
561
562 # Clean target for obj tree
563 clean:
564         nmake /nologo /f ntmakefile "NTMAKE = nmake /nologo /f ntmakefile clean" "NTMAKE_HEADERS = nmake /nologo /f ntmakefile clean" "NTMAKE_OBJS = nmake /nologo /f ntmakefile clean" install
565         nmake /nologo /f ntmakefile "NTMAKE = nmake /nologo /f ntmakefile clean" "NTMAKE_HEADERS = nmake /nologo /f ntmakefile clean" "NTMAKE_OBJS = nmake /nologo /f ntmakefile clean" media
566         $(CD) $(SRC)\config
567         nmake /nologo /f ntmakefile clean_version
568         $(CD) ..\..
569
570 # Language-only build target
571 lang:
572     nmake /nologo /f ntmakefile "NTMAKE = nmake /nologo /f ntmakefile lang" "NTMAKE_HEADERS = nmake /nologo /f ntmakefile lang" install
573
574 mkdir:
575         -xcopy /q /t /e $(SRC)\*.* $(AFS_OBJDIR)\checked\ 
576         -xcopy /q /t /e $(SRC)\*.* $(AFS_OBJDIR)\free\ 
577     -mkdir $(DESTDIR)\checked
578         -mkdir $(DESTDIR)\free
579     -mkdir $(DESTDIR)\checked\bin
580         -mkdir $(DESTDIR)\free\bin
581         -@copy $(SRC)\config\NTLANG.BAT .
582