1 # Copyright 2000, International Business Machines Corporation and others.
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
9 !INCLUDE NTMakefile.$(SYS_NAME)
11 # Relative path to src directory depends on how we got to current directory.
13 INCFILEDIR = $(DESTDIR)\include
15 INCFILEAFSDIR = $(INCFILEDIR)\afs
19 $(INCFILEDIR)\afsconfig.h \
20 $(INCFILEAFSDIR)\debug.h \
21 $(INCFILEAFSDIR)\stds.h \
22 $(INCFILEAFSDIR)\param.h \
23 $(INCFILEAFSDIR)\afs_sysnames.h \
24 $(INCFILEAFSDIR)\afs_args.h \
25 $(INCFILEAFSDIR)\icl.h
28 $(INCFILEAFSDIR)\param.h: param.$(SYS_NAME).h
31 $(INCFILEDIR)\afsconfig.h: afsconfig-windows.h
38 ! IF (!EXIST($(OJT)\afs))
41 ! IF (!EXIST($(OJT)\audit))
44 ! IF (!EXIST($(OJT)\auth))
47 ! IF (!EXIST($(OJT)\auth\test))
48 $(MKDIR) $(OJT)\auth\test
50 ! IF (!EXIST($(OJT)\bozo))
53 ! IF (!EXIST($(OJT)\bubasics))
54 $(MKDIR) $(OJT)\bubasics
56 ! IF (!EXIST($(OJT)\bucoord))
57 $(MKDIR) $(OJT)\bucoord
59 ! IF (!EXIST($(OJT)\budb))
62 ! IF (!EXIST($(OJT)\butc))
65 ! IF (!EXIST($(OJT)\butm))
68 ! IF (!EXIST($(OJT)\bu_utils))
69 $(MKDIR) $(OJT)\bu_utils
71 ! IF (!EXIST($(OJT)\cmd))
74 ! IF (!EXIST($(OJT)\cmd\test))
75 $(MKDIR) $(OJT)\cmd\test
77 ! IF (!EXIST($(OJT)\comerr))
78 $(MKDIR) $(OJT)\comerr
80 ! IF (!EXIST($(OJT)\comerr\test))
81 $(MKDIR) $(OJT)\comerr\test
83 ! IF (!EXIST($(OJT)\config))
84 $(MKDIR) $(OJT)\config
86 ! IF (!EXIST($(OJT)\des))
89 ! IF (!EXIST($(OJT)\des\test))
90 $(MKDIR) $(OJT)\des\test
92 ! IF (!EXIST($(OJT)\dir))
95 ! IF (!EXIST($(OJT)\dir\test))
96 $(MKDIR) $(OJT)\dir\test
98 ! IF (!EXIST($(OJT)\finale))
99 $(MKDIR) $(OJT)\finale
101 ! IF (!EXIST($(OJT)\fsint))
102 $(MKDIR) $(OJT)\fsint
104 ! IF (!EXIST($(OJT)\kauth))
105 $(MKDIR) $(OJT)\kauth
107 ! IF (!EXIST($(OJT)\kauth\test))
108 $(MKDIR) $(OJT)\kauth\test
110 ! IF (!EXIST($(OJT)\libacl))
111 $(MKDIR) $(OJT)\libacl
113 ! IF (!EXIST($(OJT)\tests))
114 $(MKDIR) $(OJT)\tests
116 ! IF (!EXIST($(OJT)\tests\rpctestlib))
117 $(MKDIR) $(OJT)\tests\rpctestlib
119 ! IF (!EXIST($(OJT)\libadmin))
120 $(MKDIR) $(OJT)\libadmin
122 ! IF (!EXIST($(OJT)\libadmin\adminutil))
123 $(MKDIR) $(OJT)\libadmin\adminutil
125 ! IF (!EXIST($(OJT)\libadmin\bos))
126 $(MKDIR) $(OJT)\libadmin\bos
128 ! IF (!EXIST($(OJT)\libadmin\cfg))
129 $(MKDIR) $(OJT)\libadmin\cfg
131 ! IF (!EXIST($(OJT)\libadmin\cfg\test))
132 $(MKDIR) $(OJT)\libadmin\cfg\test
134 ! IF (!EXIST($(OJT)\libadmin\client))
135 $(MKDIR) $(OJT)\libadmin\client
137 ! IF (!EXIST($(OJT)\libadmin\kas))
138 $(MKDIR) $(OJT)\libadmin\kas
140 ! IF (!EXIST($(OJT)\libadmin\pts))
141 $(MKDIR) $(OJT)\libadmin\pts
143 ! IF (!EXIST($(OJT)\libadmin\test))
144 $(MKDIR) $(OJT)\libadmin\test
146 ! IF (!EXIST($(OJT)\libadmin\vos))
147 $(MKDIR) $(OJT)\libadmin\vos
149 ! IF (!EXIST($(OJT)\libafsauthent))
150 $(MKDIR) $(OJT)\libafsauthent
152 ! IF (!EXIST($(OJT)\libafsrpc))
153 $(MKDIR) $(OJT)\libafsrpc
155 ! IF (!EXIST($(OJT)\lwp))
158 ! IF (!EXIST($(OJT)\lwp\test))
159 $(MKDIR) $(OJT)\lwp\test
161 ! IF (!EXIST($(OJT)\procmgmt))
162 $(MKDIR) $(OJT)\procmgmt
164 ! IF (!EXIST($(OJT)\procmgmt\test))
165 $(MKDIR) $(OJT)\procmgmt\test
167 ! IF (!EXIST($(OJT)\ptserver))
168 $(MKDIR) $(OJT)\ptserver
170 ! IF (!EXIST($(OJT)\tptserver))
171 $(MKDIR) $(OJT)\ptserver
173 ! IF (!EXIST($(OJT)\rx))
176 ! IF (!EXIST($(OJT)\rx\test))
177 $(MKDIR) $(OJT)\rx\test
179 ! IF (!EXIST($(OJT)\rxdebug))
180 $(MKDIR) $(OJT)\rxdebug
182 ! IF (!EXIST($(OJT)\rxgen))
183 $(MKDIR) $(OJT)\rxgen
185 ! IF (!EXIST($(OJT)\rxkad))
186 $(MKDIR) $(OJT)\rxkad
188 ! IF (!EXIST($(OJT)\rxstat))
189 $(MKDIR) $(OJT)\rxstat
191 ! IF (!EXIST($(OJT)\shlibafsauthent))
192 $(MKDIR) $(OJT)\shlibafsauthent
194 ! IF (!EXIST($(OJT)\shlibafsrpc))
195 $(MKDIR) $(OJT)\shlibafsrpc
197 ! IF (!EXIST($(OJT)\sys))
200 ! IF (!EXIST($(OJT)\tbutc))
201 $(MKDIR) $(OJT)\tbutc
203 ! IF (!EXIST($(OJT)\tviced))
204 $(MKDIR) $(OJT)\tviced
206 ! IF (!EXIST($(OJT)\tvolser))
207 $(MKDIR) $(OJT)\tvolser
209 ! IF (!EXIST($(OJT)\dviced))
210 $(MKDIR) $(OJT)\dviced
212 ! IF (!EXIST($(OJT)\dvolser))
213 $(MKDIR) $(OJT)\dvolser
215 ! IF (!EXIST($(OJT)\ubik))
218 ! IF (!EXIST($(OJT)\tubik))
219 $(MKDIR) $(OJT)\tubik
221 ! IF (!EXIST($(OJT)\update))
222 $(MKDIR) $(OJT)\update
224 ! IF (!EXIST($(OJT)\usd))
227 ! IF (!EXIST($(OJT)\usd\test))
228 $(MKDIR) $(OJT)\usd\test
230 ! IF (!EXIST($(OJT)\util))
233 ! IF (!EXIST($(OJT)\util\test))
234 $(MKDIR) $(OJT)\util\test
236 ! IF (!EXIST($(OJT)\viced))
237 $(MKDIR) $(OJT)\viced
239 ! IF (!EXIST($(OJT)\vlserver))
240 $(MKDIR) $(OJT)\vlserver
242 ! IF (!EXIST($(OJT)\vol))
245 ! IF (!EXIST($(OJT)\vol\test))
246 $(MKDIR) $(OJT)\vol\test
248 ! IF (!EXIST($(OJT)\volser))
249 $(MKDIR) $(OJT)\volser
251 ! IF (!EXIST($(OJT)\xstat))
252 $(MKDIR) $(OJT)\xstat
254 ! IF (!EXIST($(OJT)\WINNT))
255 $(MKDIR) $(OJT)\WINNT
257 ! IF (!EXIST($(OJT)\WINNT\afsadmsvr))
258 $(MKDIR) $(OJT)\WINNT\afsadmsvr
260 ! IF (!EXIST($(OJT)\WINNT\afsapplib))
261 $(MKDIR) $(OJT)\WINNT\afsapplib
263 ! IF (!EXIST($(OJT)\WINNT\afsapplib\lang))
264 $(MKDIR) $(OJT)\WINNT\afsapplib\lang
266 ! IF (!EXIST($(OJT)\WINNT\afsapplib\test))
267 $(MKDIR) $(OJT)\WINNT\afsapplib\test
269 ! IF (!EXIST($(OJT)\WINNT\afsclass))
270 $(MKDIR) $(OJT)\WINNT\afsclass
272 ! IF (!EXIST($(OJT)\WINNT\afsd))
273 $(MKDIR) $(OJT)\WINNT\afsd
275 ! IF (!EXIST($(OJT)\WINNT\afslegal))
276 $(MKDIR) $(OJT)\WINNT\afslegal
278 ! IF (!EXIST($(OJT)\WINNT\afslegal\lang))
279 $(MKDIR) $(OJT)\WINNT\afslegal\lang
281 ! IF (!EXIST($(OJT)\WINNT\afsreg))
282 $(MKDIR) $(OJT)\WINNT\afsreg
284 ! IF (!EXIST($(OJT)\WINNT\afsreg\test))
285 $(MKDIR) $(OJT)\WINNT\afsreg\test
287 ! IF (!EXIST($(OJT)\WINNT\afssvrcfg))
288 $(MKDIR) $(OJT)\WINNT\afssvrcfg
290 ! IF (!EXIST($(OJT)\WINNT\afssvrcfg\lang))
291 $(MKDIR) $(OJT)\WINNT\afssvrcfg\lang
293 ! IF (!EXIST($(OJT)\WINNT\afssvrcpa))
294 $(MKDIR) $(OJT)\WINNT\afssvrcpa
296 ! IF (!EXIST($(OJT)\WINNT\afssvrcpa\lang))
297 $(MKDIR) $(OJT)\WINNT\afssvrcpa\lang
299 ! IF (!EXIST($(OJT)\WINNT\afssvrmgr))
300 $(MKDIR) $(OJT)\WINNT\afssvrmgr
302 ! IF (!EXIST($(OJT)\WINNT\afssvrmgr\lang))
303 $(MKDIR) $(OJT)\WINNT\afssvrmgr\lang
305 ! IF (!EXIST($(OJT)\WINNT\afsusrmgr))
306 $(MKDIR) $(OJT)\WINNT\afsusrmgr
308 ! IF (!EXIST($(OJT)\WINNT\afsusrmgr\lang))
309 $(MKDIR) $(OJT)\WINNT\afsusrmgr\lang
311 ! IF (!EXIST($(OJT)\WINNT\afs_setup_utils))
312 $(MKDIR) $(OJT)\WINNT\afs_setup_utils
314 ! IF (!EXIST($(OJT)\WINNT\afs_setup_utils\lang))
315 $(MKDIR) $(OJT)\WINNT\afs_setup_utils\lang
317 ! IF (!EXIST($(OJT)\WINNT\afs_setup_utils\_isuser))
318 $(MKDIR) $(OJT)\WINNT\afs_setup_utils\_isuser
320 ! IF (!EXIST($(OJT)\WINNT\afs_setup_utils\GetWebDll))
321 $(MKDIR) $(OJT)\WINNT\afs_setup_utils\GetWebDll
323 ! IF (!EXIST($(OJT)\WINNT\aklog))
324 $(MKDIR) $(OJT)\WINNT\aklog
326 ! IF (!EXIST($(OJT)\WINNT\bosctlsvc))
327 $(MKDIR) $(OJT)\WINNT\bosctlsvc
329 ! IF (!EXIST($(OJT)\WINNT\client_config))
330 $(MKDIR) $(OJT)\WINNT\client_config
332 ! IF (!EXIST($(OJT)\WINNT\client_config\lang))
333 $(MKDIR) $(OJT)\WINNT\client_config\lang
335 ! IF (!EXIST($(OJT)\WINNT\client_cpa))
336 $(MKDIR) $(OJT)\WINNT\client_cpa
338 ! IF (!EXIST($(OJT)\WINNT\client_cpa\lang))
339 $(MKDIR) $(OJT)\WINNT\client_cpa\lang
341 ! IF (!EXIST($(OJT)\WINNT\client_creds))
342 $(MKDIR) $(OJT)\WINNT\client_creds
344 ! IF (!EXIST($(OJT)\WINNT\client_creds\lang))
345 $(MKDIR) $(OJT)\WINNT\client_creds\lang
347 ! IF (!EXIST($(OJT)\WINNT\client_exp))
348 $(MKDIR) $(OJT)\WINNT\client_exp
350 ! IF (!EXIST($(OJT)\WINNT\client_exp\lang))
351 $(MKDIR) $(OJT)\WINNT\client_exp\lang
353 ! IF (!EXIST($(OJT)\WINNT\client_osi))
354 $(MKDIR) $(OJT)\WINNT\client_osi
356 ! IF (!EXIST($(OJT)\WINNT\eventlog))
357 $(MKDIR) $(OJT)\WINNT\eventlog
359 ! IF (!EXIST($(OJT)\WINNT\eventlog\lang))
360 $(MKDIR) $(OJT)\WINNT\eventlog\lang
362 ! IF (!EXIST($(OJT)\WINNT\eventlog\test))
363 $(MKDIR) $(OJT)\WINNT\eventlog\test
365 ! IF (!EXIST($(OJT)\WINNT\install))
366 $(MKDIR) $(OJT)\WINNT\install
368 ! IF (!EXIST($(OJT)\WINNT\install\InstallShield5))
369 $(MKDIR) $(OJT)\WINNT\install\InstallShield5
371 ! IF (!EXIST($(OJT)\WINNT\install\loopback))
372 $(MKDIR) $(OJT)\WINNT\install\loopback
374 ! IF (!EXIST($(OJT)\WINNT\install\NSIS))
375 $(MKDIR) $(OJT)\WINNT\install\NSIS
377 ! IF (!EXIST($(OJT)\WINNT\install\wix))
378 $(MKDIR) $(OJT)\WINNT\install\wix
380 ! IF (!EXIST($(OJT)\WINNT\install\wix\custom))
381 $(MKDIR) $(OJT)\WINNT\install\wix\custom
383 ! IF (!EXIST($(OJT)\WINNT\install\wix\uninstall))
384 $(MKDIR) $(OJT)\WINNT\install\wix\uninstall
386 ! IF (!EXIST($(OJT)\WINNT\install\Win9x))
387 $(MKDIR) $(OJT)\WINNT\install\Win9x
389 ! IF (!EXIST($(OJT)\WINNT\license))
390 $(MKDIR) $(OJT)\WINNT\license
392 ! IF (!EXIST($(OJT)\WINNT\license\lang))
393 $(MKDIR) $(OJT)\WINNT\license\lang
395 ! IF (!EXIST($(OJT)\WINNT\netidmgr_plugin))
396 $(MKDIR) $(OJT)\WINNT\netidmgr_plugin
398 ! IF (!EXIST($(OJT)\WINNT\pthread))
399 $(MKDIR) $(OJT)\WINNT\pthread
401 ! IF (!EXIST($(OJT)\WINNT\pthread\test))
402 $(MKDIR) $(OJT)\WINNT\pthread\test
404 ! IF (!EXIST($(OJT)\WINNT\talocale))
405 $(MKDIR) $(OJT)\WINNT\talocale
407 ! IF (!EXIST($(OJT)\WINNT\win9xpanel))
408 $(MKDIR) $(OJT)\WINNT\win9xpanel
410 ! IF (!EXIST($(DESTDIR)))
413 ! IF (!EXIST($(DESTDIR)\include))
414 $(MKDIR) $(DESTDIR)\include
416 ! IF (!EXIST($(DESTDIR)\include\afs))
417 $(MKDIR) $(DESTDIR)\include\afs
419 ! IF (!EXIST($(DESTDIR)\include\des))
420 $(MKDIR) $(DESTDIR)\include\des
422 ! IF (!EXIST($(DESTDIR)\include\rx))
423 $(MKDIR) $(DESTDIR)\include\rx
425 ! IF (!EXIST($(DESTDIR)\include\WINNT))
426 $(MKDIR) $(DESTDIR)\include\WINNT
428 ! IF (!EXIST($(DESTDIR)\lib))
429 $(MKDIR) $(DESTDIR)\lib
431 ! IF (!EXIST($(DESTDIR)\lib\afs))
432 $(MKDIR) $(DESTDIR)\lib\afs
434 ! IF (!EXIST($(DESTDIR)\lib\win95))
435 $(MKDIR) $(DESTDIR)\lib\win95
437 ! IF (!EXIST($(DESTDIR)\bin))
438 $(MKDIR) $(DESTDIR)\bin
440 ! IF (!EXIST($(DESTDIR)\etc))
441 $(MKDIR) $(DESTDIR)\etc
443 ! IF (!EXIST($(DESTDIR)\WinInstall))
444 $(MKDIR) $(DESTDIR)\WinInstall
446 ! IF (!EXIST($(DESTDIR)\WinInstall\Config))
447 $(MKDIR) $(DESTDIR)\WinInstall\Config
449 ! IF (!EXIST($(DESTDIR)\WinInstall\Dll))
450 $(MKDIR) $(DESTDIR)\WinInstall\Dll
452 ! IF (!EXIST($(DESTDIR)\root.server))
453 $(MKDIR) $(DESTDIR)\root.server
455 ! IF (!EXIST($(DESTDIR)\root.server\usr))
456 $(MKDIR) $(DESTDIR)\root.server\usr
458 ! IF (!EXIST($(DESTDIR)\root.server\usr\afs))
459 $(MKDIR) $(DESTDIR)\root.server\usr\afs
461 ! IF (!EXIST($(DESTDIR)\root.server\usr\afs\bin))
462 $(MKDIR) $(DESTDIR)\root.server\usr\afs\bin
464 ! IF (!EXIST($(DESTDIR)\root.client))
465 $(MKDIR) $(DESTDIR)\root.client
467 ! IF (!EXIST($(DESTDIR)\root.client\usr))
468 $(MKDIR) $(DESTDIR)\root.client\usr
470 ! IF (!EXIST($(DESTDIR)\root.client\usr\vice))
471 $(MKDIR) $(DESTDIR)\root.client\usr\vice
473 ! IF (!EXIST($(DESTDIR)\root.client\usr\vice\etc))
474 $(MKDIR) $(DESTDIR)\root.client\usr\vice\etc
476 $(COPY) AFSCONFIG-WINDOWS.H $(DESTDIR)\include\afs\afsconfig.h
479 $(DESTDIR)\bin\NTBUILD.bat
481 $(DESTDIR)\bin\NTBUILD.bat:..\NTBUILD.bat
485 $(DESTDIR)\bin\NTLang.bat: NTLang.bat $(DESTDIR)\bin\util_cr.exe
486 $(COPY) NTLang.bat $(DESTDIR)\bin
487 $(UTIL_CR) + $(DESTDIR)\bin\NTLang.bat
489 $(DESTDIR)\NTDllmap.txt:NTDllmap.txt
492 # Create link to docs needed for media build; allow to fail in case
493 # symlink not available, e.g. if using a 3.4a client, since most builds
494 # aren't media builds.
496 ! IF (EXIST($(DESTDIR)\doc))
497 - symlink rm $(DESTDIR)\doc
499 - symlink make $(DESTDIR)\doc doc-pathname
502 version: $(DESTDIR)\bin\mkvers.exe NTMakefile.version
504 NTMakefile.version: NTMakefile.version-CML NTMakefile.version-NOCML
505 -$(DEL) NTMakefile.version
506 ! IF (EXIST(..\..\src\CML\state) || EXIST(..\..\..\src\CML\state))
507 $(COPY) NTMakefile.version-CML NTMakefile.version
509 $(COPY) NTMakefile.version-NOCML NTMakefile.version
513 $(DESTDIR)\bin\mkvers.exe \
514 $(DESTDIR)\bin\util_cr.exe \
515 $(DESTDIR)\bin\touch.exe
517 $(INCTOOLS):$(OUT)\$$(@F)
518 $(COPY) $** $(DESTDIR)\bin\.
519 !IF ("$(AFSVER_CL)"=="1400")
520 $(COPY) $**.manifest $(DESTDIR)\bin\.
523 $(OUT)\mkvers.exe : $(OUT)\mkvers.obj
525 $(_VC_MANIFEST_EMBED_EXE)
529 $(OUT)\touch.exe : $(OUT)\touch.obj
531 $(_VC_MANIFEST_EMBED_EXE)
535 $(OUT)\util_cr.exe : $(OUT)\util_cr.obj
537 $(_VC_MANIFEST_EMBED_EXE)
541 langsetup: $(DESTDIR)\bin\NTLang.bat
543 install: idirs $(INCFILES) $(INCTOOLS) $(INCCOPY) version $(DESTDIR)\NTDllmap.txt langsetup
547 # This clean target must be named something different than the universal
548 # 'clean' so that the version file can be removed last.
550 -$(DEL) NTMakefile.version
554 -$(DEL) $(DESTDIR)\LIB\*.DLL
555 -$(DEL) $(DESTDIR)\bin\mkver.exe*
556 -$(DEL) $(DESTDIR)\bin\touch.exe*
557 -$(DEL) $(DESTDIR)\bin\util_cr.exe*
558 -$(DEL) $(OUT)\util_cr.exe*
559 -$(DEL) $(OUT)\mkver.exe*
560 -$(DEL) $(OUT)\touch.exe*