windows-afsdb-and-freelance-afs-root-support-20011005
[openafs.git] / src / NTMake9x
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 install9x
22 NTMAKELANG = nmake /nologo /f ntmakefile en_install
23 NTMAKE_HEADERS = nmake /nologo /f ntmakefile install_headers
24 NTMAKE_LIBUTILS = nmake /nologo /f ntmakefile install_libutils
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_LIBUTILS)
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_LIBUTILS)
222         $(CD) ..\..
223
224 usd: vlserver
225      echo ***** $@
226         $(CD) $(OBJ)\$@
227         $(NTMAKE)
228         $(CD) ..\..
229
230 libafsrpc: usd
231      echo ***** $@
232         $(CD) $(OBJ)\$@
233         $(NTMAKE)
234         $(CD) ..\..
235
236 libafsauthent: libafsrpc
237      echo ***** $@
238         $(CD) $(OBJ)\$@
239         $(NTMAKE)
240         $(CD) ..\..
241
242 libadmin: libafsauthent
243      echo ***** $@
244         $(CD) $(OBJ)\$@
245         $(NTMAKE)
246         $(CD) ..\..
247
248 client_talocale: libadmin
249      echo ***** $@
250         $(CD) $(OBJ)\WINNT\talocale
251         $(NTMAKE)
252         $(CD) ..\..\..
253
254 client_osi: client_talocale
255      echo ***** $@
256         $(CD) $(OBJ)\WINNT\$@
257         $(NTMAKE)
258         $(CD) ..\..\..
259
260 afsd: client_osi
261      echo ***** $@
262         $(CD) $(OBJ)\WINNT\$@
263         $(NTMAKE_LIBUTILS)
264         $(CD) ..\..\..
265
266 client_cpa: afsd
267      echo ***** $@
268         $(CD) $(OBJ)\WINNT\$@
269         $(NTMAKE)
270         $(CD) ..\..\..
271
272 client_config: client_cpa
273      echo ***** $@
274         $(CD) $(OBJ)\WINNT\$@
275         $(NTMAKE)
276         $(CD) ..\..\..
277
278 client_exp: client_config
279      echo ***** $@
280         $(CD) $(OBJ)\WINNT\$@
281         $(NTMAKE)
282         $(CD) ..\..\..
283
284
285 #Leave last echo in - it helps the build reconize the last $(CD)
286 win9xpanel :
287         echo ***** $@
288         $(CD) $(OBJ)\WINNT\$@
289         $(NTMAKE)
290         $(CD) ..\..\..
291         echo ***** End of Build 
292
293 install: start client_exp win9xpanel
294
295 install9x: install
296
297 # InstallShield dependencies
298
299 #Leave last echo in - it helps the build reconize the last $(CD)
300 Win9x::
301         echo ***** afs_setup_utils
302         $(CD) $(OBJ)\WINNT\afs_setup_utils 
303         nmake -f ntmakefile      install
304         $(CD) ..\..\..
305         echo ***** Win9x
306         $(CD) $(OBJ)\WINNT\install\Win9x
307         nmake /nologo /f NTMakefile  isinstall
308         $(CD) ..\..\..\..
309         eho **** End of Install Scripts
310
311 media: Win9x
312
313 # Clean target for obj tree
314 # Fake the version copy so clean will go through the complete cycle with undefines
315 clean: start
316         if not exist .\src\config\NTMakefile.version copy .\src\config\NTMakefile.version-NOCML .\src\config\NTMakefile.version
317     nmake /nologo /f ntmake9x "NTMAKE = nmake /nologo /f ntmakefile clean" "NTMAKE_HEADERS = nmake /nologo /f ntmakefile clean" "NTMAKE_LIBUTILS = nmake /nologo /f ntmakefile clean" install
318         $(CD) $(OBJ)\WINNT\install\Win9x
319         nmake /nologo /f NTMakefile clean
320         $(CD) ..\..\..\..
321         $(DESTDIR)\BIN\rmbat $(DESTDIR)\include\*.* $(DESTDIR)\include\afs\*.* $(DESTDIR)\include\WINNT\*.* $(DESTDIR)\include\rx\*.*
322         $(DESTDIR)\BIN\rmbat $(DESTDIR)\LIB\*.LIB $(DESTDIR)\LIB\*.DLL $(DESTDIR)\LIB\AFS\*.LIB
323         $(DESTDIR)\BIN\rmbat $(DESTDIR)\root.client\usr\vice\etc\*.*
324         $(CD) $(OBJ)\config
325         nmake /nologo /f ntmakefile clean_version
326         $(CD) ..\..
327         echo **** End of Clean
328
329 # Language-only build target
330 lang:
331         nmake /nologo /f ntmakefile "NTMAKE = nmake /nologo /f ntmakefile lang" "NTMAKE_HEADERS = nmake /nologo /f ntmakefile lang" install