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