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