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