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