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