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