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