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