ShakeLooseVCaches needs to avoid CVInit vcaches
[openafs.git] / 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 SRC=$(AFSROOT)\src
21 DOC=$(AFSROOT)\doc
22 TESTS=$(AFSROOT)\tests
23
24 #If AFS_OBJDIR is not defined then use obj as relative obj folder
25 !IFNDEF AFS_OBJDIR
26 AFS_OBJDIR=$(AFSROOT)\obj\$(SYS_NAME)
27 !ENDIF
28
29 !IFNDEF DESTDIR
30 DESTDIR=$(AFSROOT)\dest\$(SYS_NAME)
31 !ENDIF
32
33 !IFNDEF NOCYGWIN
34 WIXCYGOPT=-dCygwinArchives
35 !ELSE
36 WIXCYGOPT=
37 !ENDIF
38
39 CD = cd
40 MKDIR = md
41
42 NTMAKE = nmake /nologo /f ntmakefile install
43 NTMAKELANG = nmake /nologo  /f ntmakefile en_US
44 NTMAKE_HEADERS = nmake /nologo  /f ntmakefile install_headers
45 NTMAKE_OBJS = nmake /nologo /f ntmakefile install_objs
46
47 #debug statement support jumping to last known error
48 DOCD=$(SRC)\DOLASTCMP.BAT
49
50 config:
51      @echo ***** $@
52         $(DOCD) $(SRC)\config
53         $(CD) $(SRC)\config
54         $(NTMAKE)
55         $(CD) ..\..
56
57 procmgmt_headers: config
58      @echo ***** $@
59         $(DOCD) $(SRC)\procmgmt
60         $(CD) $(SRC)\procmgmt
61         $(NTMAKE_HEADERS)
62         $(CD) ..\..
63
64 afsreg_headers:
65      @echo ***** $@
66         $(DOCD) $(SRC)\WINNT\afsreg
67         $(CD) $(SRC)\WINNT\afsreg
68         $(NTMAKE_HEADERS)
69         $(CD) ..\..\..
70
71 lwp_headers:
72      @echo ***** $@
73         $(DOCD) $(SRC)\lwp
74         $(CD) $(SRC)\lwp
75         $(NTMAKE_HEADERS)
76         $(CD) ..\..
77
78 rx_headers:
79      @echo ***** $@
80         $(DOCD) $(SRC)\rx
81         $(CD) $(SRC)\rx
82         $(NTMAKE_HEADERS)
83         $(CD) ..\..
84
85 util_headers:
86      @echo ***** $@
87         $(DOCD) $(SRC)\util
88         $(CD) $(SRC)\util
89         $(NTMAKE_HEADERS)
90         $(CD) ..\..
91
92 pthread: util_headers
93      @echo ***** $@
94         $(DOCD) $(SRC)\WINNT\$@
95         $(CD) $(SRC)\WINNT\$@
96         $(NTMAKE)
97         $(CD) ..\..\..
98
99 util: procmgmt_headers afsreg_headers lwp_headers rx_headers pthread
100      @echo ***** $@
101         $(DOCD) $(SRC)\$@
102         $(CD) $(SRC)\$@
103         $(NTMAKE)
104         $(CD) ..\..
105
106 comerr: util
107      @echo ***** $@
108         $(DOCD) $(SRC)\$@
109         $(CD) $(SRC)\$@
110         $(NTMAKE)
111         $(CD) ..\..
112
113 afs: comerr
114       @echo ***** $@
115       $(DOCD) $(SRC)\afs
116       $(CD) $(SRC)\afs
117       $(NTMAKE)
118       $(CD) ..\..
119
120 cmd: afs
121      @echo ***** $@
122         $(DOCD) $(SRC)\$@
123         $(CD) $(SRC)\$@
124         $(NTMAKE)
125         $(CD) ..\..
126
127 afsreg: cmd
128      @echo ***** $@
129         $(DOCD) $(SRC)\WINNT\$@
130         $(CD) $(SRC)\WINNT\$@
131         $(NTMAKE)
132         $(CD) ..\..\..
133
134 eventlog: afsreg
135      @echo ***** $@
136         $(DOCD) $(SRC)\WINNT\$@
137         $(CD) $(SRC)\WINNT\$@
138         $(NTMAKE)
139         $(CD) ..\..\..
140
141 lwp: eventlog
142      @echo ***** $@
143         $(DOCD) $(SRC)\$@
144         $(CD) $(SRC)\$@
145         $(NTMAKE)
146         $(CD) ..\..
147
148 rxgen: lwp
149      @echo ***** $@
150         $(DOCD) $(SRC)\$@
151         $(CD) $(SRC)\$@
152         $(NTMAKE)
153         $(CD) ..\..
154
155 des: rxgen
156      @echo ***** $@
157         $(DOCD) $(SRC)\des
158         $(CD) $(SRC)\des
159         $(NTMAKE)
160         $(CD) ..\..
161
162 rx: des
163      @echo ***** $@
164         $(DOCD) $(SRC)\$@
165         $(CD) $(SRC)\$@
166         $(NTMAKE)
167         $(CD) ..\..
168
169 rxdebug: rx
170      @echo ***** $@
171         $(DOCD) $(SRC)\$@
172         $(CD) $(SRC)\$@
173         $(NTMAKE)
174         $(CD) ..\..
175
176 ubik_headers: rxdebug
177      @echo ***** $@
178         $(DOCD) $(SRC)\ubik
179         $(CD) $(SRC)\ubik
180         $(NTMAKE_HEADERS)
181         $(CD) ..\..
182
183 rxstat: ubik_headers
184      @echo ***** $@
185         $(DOCD) $(SRC)\$@
186         $(CD) $(SRC)\$@
187         $(NTMAKE)
188         $(CD) ..\..
189
190 rxkad: rxstat
191      @echo ***** $@
192         $(DOCD) $(SRC)\$@
193         $(CD) $(SRC)\$@
194         $(NTMAKE)
195         $(CD) ..\..
196
197 procmgmt: rxkad
198      @echo ***** $@
199         $(DOCD) $(SRC)\$@
200         $(CD) $(SRC)\$@
201         $(NTMAKE)
202         $(CD) ..\..
203
204 fsint: procmgmt
205      @echo ***** $@
206         $(DOCD) $(SRC)\$@
207         $(CD) $(SRC)\$@
208         $(NTMAKE)
209         $(CD) ..\..
210
211 audit: fsint
212      @echo ***** $@
213         $(DOCD) $(SRC)\$@
214         $(CD) $(SRC)\$@
215         $(NTMAKE)
216         $(CD) ..\..
217
218 osi_headers: audit
219      @echo ***** $@
220         $(DOCD) $(SRC)\WINNT\client_osi
221         $(CD) $(SRC)\WINNT\client_osi
222         $(NTMAKE_HEADERS)
223         $(CD) ..\..\..
224
225 libacl_headers: osi_headers
226      @echo ***** $@
227         $(DOCD) $(SRC)\libacl
228         $(CD) $(SRC)\libacl
229         $(NTMAKE_HEADERS)
230         $(CD) ..\..
231
232 cm_headers: libacl_headers
233      @echo ***** $@
234         $(DOCD) $(SRC)\WINNT\afsd
235         $(CD) $(SRC)\WINNT\afsd
236         $(NTMAKE_HEADERS)
237         $(CD) ..\..\..
238
239 auth_headers: cm_headers
240      @echo ***** $@
241         $(DOCD) $(SRC)\auth
242         $(CD) $(SRC)\auth
243         $(NTMAKE_HEADERS)
244         $(CD) ..\..
245
246 vlserver_headers: auth_headers
247      @echo ***** $@
248         $(DOCD) $(SRC)\vlserver
249         $(CD) $(SRC)\vlserver
250         $(NTMAKE_HEADERS)
251         $(CD) ..\..
252
253 afsdobjs: vlserver_headers
254      @echo ***** $@
255         $(DOCD) $(SRC)\WINNT\afsd
256         $(CD) $(SRC)\WINNT\afsd
257         $(NTMAKE_OBJS)
258         $(CD) ..\..\..
259
260 sys: afsdobjs
261      @echo ***** $@
262         $(DOCD) $(SRC)\$@
263         $(CD) $(SRC)\$@
264         $(NTMAKE)
265         $(CD) ..\..
266
267 auth: sys
268      @echo ***** $@
269         $(DOCD) $(SRC)\$@
270         $(CD) $(SRC)\$@
271         $(NTMAKE)
272         $(CD) ..\..     
273
274 ubik: auth
275      @echo ***** $@
276         $(DOCD) $(SRC)\$@
277         $(CD) $(SRC)\$@
278         $(NTMAKE)
279         $(CD) ..\..     
280
281 ptserver: ubik
282      @echo ***** $@
283         $(DOCD) $(SRC)\$@
284         $(CD) $(SRC)\$@
285         $(NTMAKE)
286         $(CD) ..\..     
287
288 libacl: ptserver
289      @echo ***** $@
290         $(DOCD) $(SRC)\$@
291         $(CD) $(SRC)\$@
292         $(NTMAKE)
293         $(CD) ..\..
294
295 kauth: libacl
296      @echo ***** $@
297         $(DOCD) $(SRC)\$@
298         $(CD) $(SRC)\$@
299         $(NTMAKE)
300         $(CD) ..\..
301
302 vlserver: kauth
303      @echo ***** $@
304         $(DOCD) $(SRC)\$@
305         $(CD) $(SRC)\$@
306         $(NTMAKE)
307         $(CD) ..\..
308
309 usd: vlserver
310      @echo ***** $@
311         $(DOCD) $(SRC)\$@
312         $(CD) $(SRC)\$@
313         $(NTMAKE)
314         $(CD) ..\..
315
316 bubasics: usd
317      @echo ***** $@
318         $(DOCD) $(SRC)\$@
319         $(CD) $(SRC)\$@
320         $(NTMAKE)
321         $(CD) ..\..
322
323 budb:   bubasics
324      @echo ***** $@
325         $(DOCD) $(SRC)\$@
326         $(CD) $(SRC)\$@
327         $(NTMAKE)
328         $(CD) ..\..
329 butm:  budb
330      @echo ***** $@
331      $(DOCD) $(SRC)\$@
332      $(CD) $(SRC)\$@
333      $(NTMAKE)
334      $(CD) ..\..
335
336 dir: butm
337      @echo ***** $@
338         $(DOCD) $(SRC)\$@
339         $(CD) $(SRC)\$@
340         $(NTMAKE)
341         $(CD) ..\..
342
343 vol: dir
344      @echo ***** $@
345         $(DOCD) $(SRC)\$@
346         $(CD) $(SRC)\$@
347         $(NTMAKE)
348         $(CD) ..\..
349
350 volser: vol
351      @echo ***** $@
352         $(DOCD) $(SRC)\$@
353         $(CD) $(SRC)\$@
354         $(NTMAKE)
355         $(CD) ..\..
356
357 viced: volser
358      @echo ***** $@
359         $(DOCD) $(SRC)\$@
360         $(CD) $(SRC)\$@
361         $(NTMAKE)
362         $(CD) ..\..
363
364 update: viced
365      @echo ***** $@
366         $(DOCD) $(SRC)\$@
367         $(CD) $(SRC)\$@
368         $(NTMAKE)
369         $(CD) ..\..
370
371 bucoord: update
372      @echo ***** $@
373      $(DOCD) $(SRC)\$@
374      $(CD) $(SRC)\$@
375      $(NTMAKE)
376      $(CD) ..\..
377
378 butc:   bucoord
379      @echo ***** $@
380      $(DOCD) $(SRC)\$@
381      $(CD) $(SRC)\$@
382      $(NTMAKE)
383      $(CD) ..\..
384
385 bozo: butc
386      @echo ***** $@
387         $(DOCD) $(SRC)\$@
388         $(CD) $(SRC)\$@
389         $(NTMAKE)
390         $(CD) ..\..
391
392 bosctlsvc: bozo
393      @echo ***** $@
394         $(DOCD) $(SRC)\WINNT\$@
395         $(CD) $(SRC)\WINNT\$@
396         $(NTMAKE)
397         $(CD) ..\..\..
398
399 bu_utils: bosctlsvc
400      @echo ***** $@
401         $(DOCD) $(SRC)\$@
402         $(CD) $(SRC)\$@
403         $(NTMAKE)
404         $(CD) ..\..
405
406 libafsrpc: bu_utils
407      @echo ***** $@
408         $(DOCD) $(SRC)\$@
409         $(CD) $(SRC)\$@
410         $(NTMAKE)
411         $(CD) ..\..
412
413 libafsauthent: libafsrpc
414      @echo ***** $@
415         $(DOCD) $(SRC)\$@
416         $(CD) $(SRC)\$@
417         $(NTMAKE)
418         $(CD) ..\..
419
420 tviced: libafsauthent
421      @echo ***** $@
422         $(DOCD) $(SRC)\$@
423         $(CD) $(SRC)\$@
424         $(NTMAKE)
425         $(CD) ..\..
426
427 tvolser: tviced
428      @echo ***** $@
429         $(DOCD) $(SRC)\$@
430         $(CD) $(SRC)\$@
431         $(NTMAKE)
432         $(CD) ..\..
433
434 tbutc:  tvolser
435      @echo ***** $@
436      $(DOCD) $(SRC)\$@
437      $(CD) $(SRC)\$@
438      $(NTMAKE)
439      $(CD) ..\..
440
441 talocale: tbutc
442      @echo ***** $@
443         $(DOCD) $(SRC)\WINNT\$@
444         $(CD) $(SRC)\WINNT\$@
445         $(NTMAKE)
446         $(CD) ..\..\..
447
448 license: talocale
449      @echo ***** $@
450         $(DOCD) $(SRC)\WINNT\$@
451         $(CD) $(SRC)\WINNT\$@
452         $(NTMAKE)
453         $(CD) ..\..\..
454
455 client_osi: license
456      @echo ***** $@
457         $(DOCD) $(SRC)\WINNT\$@
458         $(CD) $(SRC)\WINNT\$@
459         $(NTMAKE)
460         $(CD) ..\..\..
461
462 afsd: client_osi
463      @echo ***** $@
464         $(DOCD) $(SRC)\WINNT\$@
465         $(CD) $(SRC)\WINNT\$@
466         $(NTMAKE)
467         $(CD) ..\..\..
468
469 libadmin: afsd
470      @echo ***** $@
471         $(DOCD) $(SRC)\$@
472         $(CD) $(SRC)\$@
473         $(NTMAKE)
474         $(CD) ..\..
475
476 adminutil: libadmin
477      @echo ***** $@
478         $(DOCD) $(SRC)\libadmin\$@
479         $(CD) $(SRC)\libadmin\$@
480         $(NTMAKE)
481         $(CD) ..\..\..
482
483 vos: adminutil
484      @echo ***** $@
485         $(DOCD) $(SRC)\libadmin\$@
486         $(CD) $(SRC)\libadmin\$@
487         $(NTMAKE)
488         $(CD) ..\..\..
489
490 client: vos
491      @echo ***** $@
492         $(DOCD) $(SRC)\libadmin\$@
493         $(CD) $(SRC)\libadmin\$@
494         $(NTMAKE)
495         $(CD) ..\..\..
496
497 kas: client
498      @echo ***** $@
499         $(DOCD) $(SRC)\libadmin\$@
500         $(CD) $(SRC)\libadmin\$@
501         $(NTMAKE)
502         $(CD) ..\..\..
503
504 pts: kas
505      @echo ***** $@
506         $(DOCD) $(SRC)\libadmin\$@
507         $(CD) $(SRC)\libadmin\$@
508         $(NTMAKE)
509         $(CD) ..\..\..
510
511 bos: pts
512      @echo ***** $@
513         $(DOCD) $(SRC)\libadmin\$@
514         $(CD) $(SRC)\libadmin\$@
515         $(NTMAKE)
516         $(CD) ..\..\..
517
518 cfg: bos
519      @echo ***** $@
520         $(DOCD) $(SRC)\libadmin\$@
521         $(CD) $(SRC)\libadmin\$@
522         $(NTMAKE)
523         $(CD) ..\..\..
524
525 admintest: cfg
526      @echo ***** $@
527         $(DOCD) $(SRC)\libadmin\test
528         $(CD) $(SRC)\libadmin\test
529         $(NTMAKE)
530         $(CD) ..\..\..
531
532 afsadmsvr: admintest
533      @echo ***** $@
534         $(DOCD) $(SRC)\WINNT\$@
535         $(CD) $(SRC)\WINNT\$@
536         $(NTMAKE)
537         $(CD) ..\..\..
538
539 afsusrmgr: afsadmsvr
540      @echo ***** $@
541         $(DOCD) $(SRC)\WINNT\$@
542         $(CD) $(SRC)\WINNT\$@
543         $(NTMAKE)
544         $(CD) ..\..\..
545
546 afssvrmgr: afsusrmgr
547      @echo ***** $@
548         $(DOCD) $(SRC)\WINNT\$@
549         $(CD) $(SRC)\WINNT\$@
550         $(NTMAKE)
551         $(CD) ..\..\..
552
553 afssvrcfg: afssvrmgr
554      @echo ***** $@
555         $(DOCD) $(SRC)\WINNT\$@
556         $(CD) $(SRC)\WINNT\$@
557         $(NTMAKE)
558         $(CD) ..\..\..
559
560 afssvrcpa: afssvrcfg
561      @echo ***** $@
562         $(DOCD) $(SRC)\WINNT\$@
563         $(CD) $(SRC)\WINNT\$@
564         $(NTMAKE)
565         $(CD) ..\..\..
566
567 client_talocale: afssvrcpa
568      @echo ***** $@
569         $(DOCD) $(SRC)\WINNT\talocale
570         $(CD) $(SRC)\WINNT\talocale
571         $(NTMAKE)
572         $(CD) ..\..\..
573
574 client_cpa: client_talocale
575      @echo ***** $@
576         $(DOCD) $(SRC)\WINNT\$@
577         $(CD) $(SRC)\WINNT\$@
578         $(NTMAKE)
579         $(CD) ..\..\..
580
581 client_config: client_cpa
582      @echo ***** $@
583         $(DOCD) $(SRC)\WINNT\$@
584         $(CD) $(SRC)\WINNT\$@
585         $(NTMAKE)
586         $(CD) ..\..\..
587
588 client_exp: client_config
589      @echo ***** $@
590         $(DOCD) $(SRC)\WINNT\$@
591         $(CD) $(SRC)\WINNT\$@
592         $(NTMAKE)
593         $(CD) ..\..\..
594
595 client_creds: client_exp
596      @echo ***** $@
597         $(DOCD) $(SRC)\WINNT\$@
598         $(CD) $(SRC)\WINNT\$@
599         $(NTMAKE)
600         $(CD) ..\..\..
601
602 aklog: client_creds
603      @echo ***** $@
604         $(DOCD) $(SRC)\WINNT\$@
605         $(CD) $(SRC)\WINNT\$@
606         $(NTMAKE)
607         $(CD) ..\..\..
608
609 xstat: aklog
610      @echo ***** $@
611         $(DOCD) $(SRC)\$@
612         $(CD) $(SRC)\$@
613         $(NTMAKE)
614         $(CD) ..\..
615
616 netidmgr_plugin: xstat
617      @echo ***** $@
618         $(DOCD) $(SRC)\WINNT\$@
619         $(CD) $(SRC)\WINNT\$@
620         $(NTMAKE)
621         $(CD) ..\..\..
622
623 rpctestlib: fsint libafsrpc
624      @echo ***** $@
625         $(DOCD) $(TESTS)\$@
626         $(CD) $(TESTS)\$@
627         $(NTMAKE)
628         $(CD) ..\..
629
630 extra: netidmgr_plugin rpctestlib
631 !       IF EXIST($(SRC)\WINNT\extra) && EXIST($(SRC)\WINNT\extra\NTMakefile)
632      @echo ***** $@
633     $(DOCD) $(SRC)\WINNT\$@
634         $(CD) $(SRC)\WINNT\$@
635         $(NTMAKE)
636         $(CD) ..\..\..
637 !       ELSE
638      @echo ***** Skipping $@ ***** Not found.
639 !       ENDIF
640                 
641 finale: extra
642      @echo ***** $@
643         $(DOCD) $(SRC)\$@
644         $(CD) $(SRC)\$@
645         $(NTMAKE)
646         $(CD) ..\..
647
648 install: finale
649         @echo Build Finished Successfully
650         
651
652 # Clean target for obj tree
653 clean:
654         $(CD) $(SRC)\config
655         nmake /nologo /f ntmakefile version
656         $(CD) ..\..
657         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
658         $(CD) $(SRC)\config
659         nmake /nologo /f ntmakefile clean_version
660         $(CD) ..\..
661
662 # Language-only build target
663 lang:
664     nmake /nologo /f ntmakefile "NTMAKE = nmake /nologo /f ntmakefile lang" "NTMAKE_HEADERS = nmake /nologo /f ntmakefile lang" install
665
666 mkdir:
667     -mkdir $(AFS_OBJDIR)
668     -mkdir $(DESTDIR)
669     -mkdir $(AFS_OBJDIR)\checked
670     -mkdir $(AFS_OBJDIR)\free
671         -xcopy /q /t /e $(SRC)\*.* $(AFS_OBJDIR)\checked\ 
672         -xcopy /q /t /e $(SRC)\*.* $(AFS_OBJDIR)\free\ 
673     -mkdir $(DESTDIR)\checked
674         -mkdir $(DESTDIR)\free
675     -mkdir $(DESTDIR)\checked\bin
676         -mkdir $(DESTDIR)\free\bin
677         -@copy $(SRC)\config\NTLANG.BAT .
678
679 loopback:
680    @echo ***** Making Loopback Adapter Utility DLL
681    $(DOCD) $(SRC)\WINNT\install\$@
682    $(CD) $(SRC)\WINNT\install\$@
683    $(NTMAKE)
684    $(CD) ..\..\..\..
685
686 man-pages: config
687    @echo ***** $@
688    $(DOCD) $(DOC)\man-pages
689    $(CD) $(DOC)\man-pages
690    $(NTMAKE)
691    $(CD) ..\..
692
693 documentation: config
694    @echo ***** $@
695    $(DOCD) $(DOC)\xml\ReleaseNotesWindows
696    $(CD) $(DOC)\xml\ReleaseNotesWindows
697    $(NTMAKE)
698    $(DOCD) ..\UserGuide
699    $(CD) ..\UserGuide
700    $(NTMAKE)
701    $(DOCD) ..\AdminGuide
702    $(CD) ..\AdminGuide
703    $(NTMAKE)
704    $(DOCD) ..\..\..
705    $(CD) ..\..\..
706
707 NSIS.i386: loopback man-pages documentation
708    @echo ***** Making NSIS Installer
709    $(DOCD) $(SRC)\WINNT\install\NSIS
710    $(CD) $(SRC)\WINNT\install\NSIS
711    $(NTMAKE)
712    $(CD) ..\..\..\..
713
714 NSIS.AMD64:
715    @echo Skipping NSIS Installer on non-x86 platforms; not implemented
716
717 NSIS: NSIS.$(CPU)
718
719 wix: loopback man-pages documentation
720    @echo ***** Making Wix MSI Installer
721    $(DOCD) $(SRC)\WINNT\install\$@
722    $(CD) $(SRC)\WINNT\install\$@
723    $(NTMAKE)
724    $(CD) ..\..\..\..
725
726 wix-lite: loopback man-pages documentation
727    @echo ***** Making Wix MSI Installer (Lite)
728    $(DOCD) $(SRC)\WINNT\install\wix
729    $(CD) $(SRC)\WINNT\install\wix
730    $(NTMAKE) LITECLIENT=1
731    $(CD) ..\..\..\..
732
733 media: install NSIS wix
734
735 install-nsis: install NSIS
736
737 install-wix: install wix
738
739 install-wix-lite: install wix-lite
740