DEVEL15-windows-build-20080815
[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 !       IF (EXIST($(SRC)\des\NTMakefile))
130                 $(DOCD) $(SRC)\des
131                 $(CD) $(SRC)\des
132                 $(NTMAKE)
133                 $(CD) ..\..
134 !       ELSE
135                 $(DOCD) $(SRC)\des_stub
136                 $(CD) $(SRC)\des_stub
137                 $(NTMAKE)
138                 $(CD) ..\..
139 !       ENDIF
140
141 rx: des
142      echo ***** $@
143         $(DOCD) $(SRC)\$@
144         $(CD) $(SRC)\$@
145         $(NTMAKE)
146         $(CD) ..\..
147
148 rxdebug: rx
149      echo ***** $@
150         $(DOCD) $(SRC)\$@
151         $(CD) $(SRC)\$@
152         $(NTMAKE)
153         $(CD) ..\..
154
155 ubik_headers: rxdebug
156      echo ***** $@
157         $(DOCD) $(SRC)\ubik
158         $(CD) $(SRC)\ubik
159         $(NTMAKE_HEADERS)
160         $(CD) ..\..
161
162 rxstat: ubik_headers
163      echo ***** $@
164         $(DOCD) $(SRC)\$@
165         $(CD) $(SRC)\$@
166         $(NTMAKE)
167         $(CD) ..\..
168
169 rxkad: rxstat
170      echo ***** $@
171         $(DOCD) $(SRC)\$@
172         $(CD) $(SRC)\$@
173         $(NTMAKE)
174         $(CD) ..\..
175
176 pthread: rxkad
177      echo ***** $@
178         $(DOCD) $(SRC)\WINNT\$@
179         $(CD) $(SRC)\WINNT\$@
180         $(NTMAKE)
181         $(CD) ..\..\..
182
183 procmgmt: pthread
184      echo ***** $@
185         $(DOCD) $(SRC)\$@
186         $(CD) $(SRC)\$@
187         $(NTMAKE)
188         $(CD) ..\..
189
190 fsint: procmgmt
191      echo ***** $@
192         $(DOCD) $(SRC)\$@
193         $(CD) $(SRC)\$@
194         $(NTMAKE)
195         $(CD) ..\..
196
197 audit: fsint
198      echo ***** $@
199         $(DOCD) $(SRC)\$@
200         $(CD) $(SRC)\$@
201         $(NTMAKE)
202         $(CD) ..\..
203
204 osi_headers: audit
205      echo ***** $@
206         $(DOCD) $(SRC)\WINNT\client_osi
207         $(CD) $(SRC)\WINNT\client_osi
208         $(NTMAKE_HEADERS)
209         $(CD) ..\..\..
210
211 libacl_headers: osi_headers
212      echo ***** $@
213         $(DOCD) $(SRC)\libacl
214         $(CD) $(SRC)\libacl
215         $(NTMAKE_HEADERS)
216         $(CD) ..\..
217
218 cm_headers: libacl_headers
219      echo ***** $@
220         $(DOCD) $(SRC)\WINNT\afsd
221         $(CD) $(SRC)\WINNT\afsd
222         $(NTMAKE_HEADERS)
223         $(CD) ..\..\..
224
225 auth_headers: cm_headers
226      echo ***** $@
227         $(DOCD) $(SRC)\auth
228         $(CD) $(SRC)\auth
229         $(NTMAKE_HEADERS)
230         $(CD) ..\..
231
232 vlserver_headers: auth_headers
233      echo ***** $@
234         $(DOCD) $(SRC)\vlserver
235         $(CD) $(SRC)\vlserver
236         $(NTMAKE_HEADERS)
237         $(CD) ..\..
238
239 afsdobjs: vlserver_headers
240      echo ***** $@
241         $(DOCD) $(SRC)\WINNT\afsd
242         $(CD) $(SRC)\WINNT\afsd
243         $(NTMAKE_OBJS)
244         $(CD) ..\..\..
245
246 sys: afsdobjs
247      echo ***** $@
248         $(DOCD) $(SRC)\$@
249         $(CD) $(SRC)\$@
250         $(NTMAKE)
251         $(CD) ..\..
252
253 auth: sys
254      echo ***** $@
255         $(DOCD) $(SRC)\$@
256         $(CD) $(SRC)\$@
257         $(NTMAKE)
258         $(CD) ..\..     
259
260 ubik: auth
261      echo ***** $@
262         $(DOCD) $(SRC)\$@
263         $(CD) $(SRC)\$@
264         $(NTMAKE)
265         $(CD) ..\..     
266
267 ptserver: ubik
268      echo ***** $@
269         $(DOCD) $(SRC)\$@
270         $(CD) $(SRC)\$@
271         $(NTMAKE)
272         $(CD) ..\..     
273
274 libacl: ptserver
275      echo ***** $@
276         $(DOCD) $(SRC)\$@
277         $(CD) $(SRC)\$@
278         $(NTMAKE)
279         $(CD) ..\..
280
281 kauth: libacl
282      echo ***** $@
283         $(DOCD) $(SRC)\$@
284         $(CD) $(SRC)\$@
285         $(NTMAKE)
286         $(CD) ..\..
287
288 vlserver: kauth
289      echo ***** $@
290         $(DOCD) $(SRC)\$@
291         $(CD) $(SRC)\$@
292         $(NTMAKE)
293         $(CD) ..\..
294
295 usd: vlserver
296      echo ***** $@
297         $(DOCD) $(SRC)\$@
298         $(CD) $(SRC)\$@
299         $(NTMAKE)
300         $(CD) ..\..
301
302 bubasics: usd
303      echo ***** $@
304         $(DOCD) $(SRC)\$@
305         $(CD) $(SRC)\$@
306         $(NTMAKE)
307         $(CD) ..\..
308
309 budb:   bubasics
310      echo ***** $@
311         $(DOCD) $(SRC)\$@
312         $(CD) $(SRC)\$@
313         $(NTMAKE)
314         $(CD) ..\..
315 butm:  budb
316      echo ***** $@
317      $(DOCD) $(SRC)\$@
318      $(CD) $(SRC)\$@
319      $(NTMAKE)
320      $(CD) ..\..
321
322 dir: butm
323      echo ***** $@
324         $(DOCD) $(SRC)\$@
325         $(CD) $(SRC)\$@
326         $(NTMAKE)
327         $(CD) ..\..
328
329 vol: dir
330      echo ***** $@
331         $(DOCD) $(SRC)\$@
332         $(CD) $(SRC)\$@
333         $(NTMAKE)
334         $(CD) ..\..
335
336 volser: vol
337      echo ***** $@
338         $(DOCD) $(SRC)\$@
339         $(CD) $(SRC)\$@
340         $(NTMAKE)
341         $(CD) ..\..
342
343 viced: volser
344      echo ***** $@
345         $(DOCD) $(SRC)\$@
346         $(CD) $(SRC)\$@
347         $(NTMAKE)
348         $(CD) ..\..
349
350 update: viced
351      echo ***** $@
352         $(DOCD) $(SRC)\$@
353         $(CD) $(SRC)\$@
354         $(NTMAKE)
355         $(CD) ..\..
356
357 bucoord: update
358      echo ***** $@
359      $(DOCD) $(SRC)\$@
360      $(CD) $(SRC)\$@
361      $(NTMAKE)
362      $(CD) ..\..
363
364 butc:   bucoord
365      echo ***** $@
366      $(DOCD) $(SRC)\$@
367      $(CD) $(SRC)\$@
368      $(NTMAKE)
369      $(CD) ..\..
370
371 bozo: butc
372      echo ***** $@
373         $(DOCD) $(SRC)\$@
374         $(CD) $(SRC)\$@
375         $(NTMAKE)
376         $(CD) ..\..
377
378 bosctlsvc: bozo
379      echo ***** $@
380         $(DOCD) $(SRC)\WINNT\$@
381         $(CD) $(SRC)\WINNT\$@
382         $(NTMAKE)
383         $(CD) ..\..\..
384
385 bu_utils: bosctlsvc
386      echo ***** $@
387         $(DOCD) $(SRC)\$@
388         $(CD) $(SRC)\$@
389         $(NTMAKE)
390         $(CD) ..\..
391
392 libafsrpc: bu_utils
393      echo ***** $@
394         $(DOCD) $(SRC)\$@
395         $(CD) $(SRC)\$@
396         $(NTMAKE)
397         $(CD) ..\..
398
399 libafsauthent: libafsrpc
400      echo ***** $@
401         $(DOCD) $(SRC)\$@
402         $(CD) $(SRC)\$@
403         $(NTMAKE)
404         $(CD) ..\..
405
406 tviced: libafsauthent
407      echo ***** $@
408         $(DOCD) $(SRC)\$@
409         $(CD) $(SRC)\$@
410         $(NTMAKE)
411         $(CD) ..\..
412
413 tbutc:  tviced
414      echo ***** $@
415      $(DOCD) $(SRC)\$@
416      $(CD) $(SRC)\$@
417      $(NTMAKE)
418      $(CD) ..\..
419
420 talocale: tbutc
421      echo ***** $@
422         $(DOCD) $(SRC)\WINNT\$@
423         $(CD) $(SRC)\WINNT\$@
424         $(NTMAKE)
425         $(CD) ..\..\..
426
427 license: talocale
428      echo ***** $@
429         $(DOCD) $(SRC)\WINNT\$@
430         $(CD) $(SRC)\WINNT\$@
431         $(NTMAKE)
432         $(CD) ..\..\..
433
434 client_osi: license
435      echo ***** $@
436         $(DOCD) $(SRC)\WINNT\$@
437         $(CD) $(SRC)\WINNT\$@
438         $(NTMAKE)
439         $(CD) ..\..\..
440
441 afsd: client_osi
442      echo ***** $@
443         $(DOCD) $(SRC)\WINNT\$@
444         $(CD) $(SRC)\WINNT\$@
445         $(NTMAKE)
446         $(CD) ..\..\..
447
448 libadmin: afsd
449      echo ***** $@
450         $(DOCD) $(SRC)\$@
451         $(CD) $(SRC)\$@
452         $(NTMAKE)
453         $(CD) ..\..
454
455 adminutil: libadmin
456      echo ***** $@
457         $(DOCD) $(SRC)\libadmin\$@
458         $(CD) $(SRC)\libadmin\$@
459         $(NTMAKE)
460         $(CD) ..\..\..
461
462 vos: adminutil
463      echo ***** $@
464         $(DOCD) $(SRC)\libadmin\$@
465         $(CD) $(SRC)\libadmin\$@
466         $(NTMAKE)
467         $(CD) ..\..\..
468
469 client: vos
470      echo ***** $@
471         $(DOCD) $(SRC)\libadmin\$@
472         $(CD) $(SRC)\libadmin\$@
473         $(NTMAKE)
474         $(CD) ..\..\..
475
476 kas: client
477      echo ***** $@
478         $(DOCD) $(SRC)\libadmin\$@
479         $(CD) $(SRC)\libadmin\$@
480         $(NTMAKE)
481         $(CD) ..\..\..
482
483 pts: kas
484      echo ***** $@
485         $(DOCD) $(SRC)\libadmin\$@
486         $(CD) $(SRC)\libadmin\$@
487         $(NTMAKE)
488         $(CD) ..\..\..
489
490 bos: pts
491      echo ***** $@
492         $(DOCD) $(SRC)\libadmin\$@
493         $(CD) $(SRC)\libadmin\$@
494         $(NTMAKE)
495         $(CD) ..\..\..
496
497 cfg: bos
498      echo ***** $@
499         $(DOCD) $(SRC)\libadmin\$@
500         $(CD) $(SRC)\libadmin\$@
501         $(NTMAKE)
502         $(CD) ..\..\..
503
504 admintest: cfg
505      echo ***** $@
506         $(DOCD) $(SRC)\libadmin\test
507         $(CD) $(SRC)\libadmin\test
508         $(NTMAKE)
509         $(CD) ..\..\..
510
511 afsadmsvr: admintest
512      echo ***** $@
513         $(DOCD) $(SRC)\WINNT\$@
514         $(CD) $(SRC)\WINNT\$@
515         $(NTMAKE)
516         $(CD) ..\..\..
517
518 afsusrmgr: afsadmsvr
519      echo ***** $@
520         $(DOCD) $(SRC)\WINNT\$@
521         $(CD) $(SRC)\WINNT\$@
522         $(NTMAKE)
523         $(CD) ..\..\..
524
525 afssvrmgr: afsusrmgr
526      echo ***** $@
527         $(DOCD) $(SRC)\WINNT\$@
528         $(CD) $(SRC)\WINNT\$@
529         $(NTMAKE)
530         $(CD) ..\..\..
531
532 afssvrcfg: afssvrmgr
533      echo ***** $@
534         $(DOCD) $(SRC)\WINNT\$@
535         $(CD) $(SRC)\WINNT\$@
536         $(NTMAKE)
537         $(CD) ..\..\..
538
539 afssvrcpa: afssvrcfg
540      echo ***** $@
541         $(DOCD) $(SRC)\WINNT\$@
542         $(CD) $(SRC)\WINNT\$@
543         $(NTMAKE)
544         $(CD) ..\..\..
545
546 client_talocale: afssvrcpa
547      echo ***** $@
548         $(DOCD) $(SRC)\WINNT\talocale
549         $(CD) $(SRC)\WINNT\talocale
550         $(NTMAKE)
551         $(CD) ..\..\..
552
553 client_cpa: client_talocale
554      echo ***** $@
555         $(DOCD) $(SRC)\WINNT\$@
556         $(CD) $(SRC)\WINNT\$@
557         $(NTMAKE)
558         $(CD) ..\..\..
559
560 client_config: client_cpa
561      echo ***** $@
562         $(DOCD) $(SRC)\WINNT\$@
563         $(CD) $(SRC)\WINNT\$@
564         $(NTMAKE)
565         $(CD) ..\..\..
566
567 client_exp: client_config
568      echo ***** $@
569         $(DOCD) $(SRC)\WINNT\$@
570         $(CD) $(SRC)\WINNT\$@
571         $(NTMAKE)
572         $(CD) ..\..\..
573
574 client_creds: client_exp
575      echo ***** $@
576         $(DOCD) $(SRC)\WINNT\$@
577         $(CD) $(SRC)\WINNT\$@
578         $(NTMAKE)
579         $(CD) ..\..\..
580
581 aklog: client_creds
582      echo ***** $@
583         $(DOCD) $(SRC)\WINNT\$@
584         $(CD) $(SRC)\WINNT\$@
585         $(NTMAKE)
586         $(CD) ..\..\..
587
588 xstat: aklog
589      echo ***** $@
590         $(DOCD) $(SRC)\$@
591         $(CD) $(SRC)\$@
592         $(NTMAKE)
593         $(CD) ..\..
594
595 netidmgr_plugin: xstat
596      echo ***** $@
597         $(DOCD) $(SRC)\WINNT\$@
598         $(CD) $(SRC)\WINNT\$@
599         $(NTMAKE)
600         $(CD) ..\..\..
601
602 extra: netidmgr_plugin
603 !       IF EXIST($(SRC)\WINNT\extra) && EXIST($(SRC)\WINNT\extra\NTMakefile)
604      echo ***** $@
605     $(DOCD) $(SRC)\WINNT\$@
606         $(CD) $(SRC)\WINNT\$@
607         $(NTMAKE)
608         $(CD) ..\..\..
609 !       ELSE
610      echo ***** Skipping $@ ***** Not found.
611 !       ENDIF
612                 
613 finale: extra
614      echo ***** $@
615         $(DOCD) $(SRC)\$@
616         $(CD) $(SRC)\$@
617         $(NTMAKE)
618         $(CD) ..\..
619
620 install: finale
621         echo Build Finished Successfully
622         
623
624 # Clean target for obj tree
625 clean:
626         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
627         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
628         $(CD) $(SRC)\config
629         nmake /nologo /f ntmakefile clean_version
630         $(CD) ..\..
631
632 # Language-only build target
633 lang:
634     nmake /nologo /f ntmakefile "NTMAKE = nmake /nologo /f ntmakefile lang" "NTMAKE_HEADERS = nmake /nologo /f ntmakefile lang" install
635
636 mkdir:
637     -mkdir $(AFS_OBJDIR)
638     -mkdir $(DESTDIR)
639     -mkdir $(AFS_OBJDIR)\checked
640     -mkdir $(AFS_OBJDIR)\free
641         -xcopy /q /t /e $(SRC)\*.* $(AFS_OBJDIR)\checked\ 
642         -xcopy /q /t /e $(SRC)\*.* $(AFS_OBJDIR)\free\ 
643     -mkdir $(DESTDIR)\checked
644         -mkdir $(DESTDIR)\free
645     -mkdir $(DESTDIR)\checked\bin
646         -mkdir $(DESTDIR)\free\bin
647         -@copy $(SRC)\config\NTLANG.BAT .
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