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