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)\stds.h \
21 $(INCFILEAFSDIR)\param.h \
22 $(INCFILEAFSDIR)\afs_sysnames.h \
23 $(INCFILEAFSDIR)\afs_args.h \
24 $(INCFILEAFSDIR)\icl.h
27 $(INCFILEAFSDIR)\param.h: param.$(SYS_NAME).h
30 $(INCFILEDIR)\afsconfig.h: afsconfig-windows.h
34 ! IF (!EXIST($(SRC)\WINNT\afsrdr\build))
35 $(MKDIR) $(SRC)\WINNT\afsrdr\build
37 ! IF (!EXIST($(SRC)\WINNT\afsrdr\build\$(CPU)))
38 $(MKDIR) $(SRC)\WINNT\afsrdr\build\$(CPU)
43 ! IF (!EXIST($(OJT)\afs))
46 ! IF (!EXIST($(OJT)\audit))
49 ! IF (!EXIST($(OJT)\auth))
52 ! IF (!EXIST($(OJT)\auth\test))
53 $(MKDIR) $(OJT)\auth\test
55 ! IF (!EXIST($(OJT)\bozo))
58 ! IF (!EXIST($(OJT)\bubasics))
59 $(MKDIR) $(OJT)\bubasics
61 ! IF (!EXIST($(OJT)\bucoord))
62 $(MKDIR) $(OJT)\bucoord
64 ! IF (!EXIST($(OJT)\budb))
67 ! IF (!EXIST($(OJT)\butc))
70 ! IF (!EXIST($(OJT)\butm))
73 ! IF (!EXIST($(OJT)\bu_utils))
74 $(MKDIR) $(OJT)\bu_utils
76 ! IF (!EXIST($(OJT)\cmd))
79 ! IF (!EXIST($(OJT)\cmd\test))
80 $(MKDIR) $(OJT)\cmd\test
82 ! IF (!EXIST($(OJT)\comerr))
83 $(MKDIR) $(OJT)\comerr
85 ! IF (!EXIST($(OJT)\comerr\test))
86 $(MKDIR) $(OJT)\comerr\test
88 ! IF (!EXIST($(OJT)\config))
89 $(MKDIR) $(OJT)\config
91 ! IF (!EXIST($(OJT)\crypto))
92 $(MKDIR) $(OJT)\crypto
94 ! IF (!EXIST($(OJT)\crypto\hcrypto))
95 $(MKDIR) $(OJT)\crypto\hcrypto
97 ! IF (!EXIST($(OJT)\dir))
100 ! IF (!EXIST($(OJT)\dir\test))
101 $(MKDIR) $(OJT)\dir\test
103 ! IF (!EXIST($(OJT)\finale))
104 $(MKDIR) $(OJT)\finale
106 ! IF (!EXIST($(OJT)\fsint))
107 $(MKDIR) $(OJT)\fsint
109 ! IF (!EXIST($(OJT)\kauth))
110 $(MKDIR) $(OJT)\kauth
112 ! IF (!EXIST($(OJT)\kauth\test))
113 $(MKDIR) $(OJT)\kauth\test
115 ! IF (!EXIST($(OJT)\libacl))
116 $(MKDIR) $(OJT)\libacl
118 ! IF (!EXIST($(OJT)\opr))
121 ! IF (!EXIST($(OJT)\roken))
122 $(MKDIR) $(OJT)\roken
124 ! IF (!EXIST($(OJT)\tests))
125 $(MKDIR) $(OJT)\tests
127 ! IF (!EXIST($(OJT)\tests\rpctestlib))
128 $(MKDIR) $(OJT)\tests\rpctestlib
130 ! IF (!EXIST($(OJT)\libadmin))
131 $(MKDIR) $(OJT)\libadmin
133 ! IF (!EXIST($(OJT)\libadmin\adminutil))
134 $(MKDIR) $(OJT)\libadmin\adminutil
136 ! IF (!EXIST($(OJT)\libadmin\bos))
137 $(MKDIR) $(OJT)\libadmin\bos
139 ! IF (!EXIST($(OJT)\libadmin\cfg))
140 $(MKDIR) $(OJT)\libadmin\cfg
142 ! IF (!EXIST($(OJT)\libadmin\cfg\test))
143 $(MKDIR) $(OJT)\libadmin\cfg\test
145 ! IF (!EXIST($(OJT)\libadmin\client))
146 $(MKDIR) $(OJT)\libadmin\client
148 ! IF (!EXIST($(OJT)\libadmin\kas))
149 $(MKDIR) $(OJT)\libadmin\kas
151 ! IF (!EXIST($(OJT)\libadmin\pts))
152 $(MKDIR) $(OJT)\libadmin\pts
154 ! IF (!EXIST($(OJT)\libadmin\test))
155 $(MKDIR) $(OJT)\libadmin\test
157 ! IF (!EXIST($(OJT)\libadmin\vos))
158 $(MKDIR) $(OJT)\libadmin\vos
160 ! IF (!EXIST($(OJT)\libafsauthent))
161 $(MKDIR) $(OJT)\libafsauthent
163 ! IF (!EXIST($(OJT)\libafsrpc))
164 $(MKDIR) $(OJT)\libafsrpc
166 ! IF (!EXIST($(OJT)\lwp))
169 ! IF (!EXIST($(OJT)\lwp\test))
170 $(MKDIR) $(OJT)\lwp\test
172 ! IF (!EXIST($(OJT)\procmgmt))
173 $(MKDIR) $(OJT)\procmgmt
175 ! IF (!EXIST($(OJT)\procmgmt\test))
176 $(MKDIR) $(OJT)\procmgmt\test
178 ! IF (!EXIST($(OJT)\ptserver))
179 $(MKDIR) $(OJT)\ptserver
181 ! IF (!EXIST($(OJT)\tptserver))
182 $(MKDIR) $(OJT)\tptserver
184 ! IF (!EXIST($(OJT)\rx))
187 ! IF (!EXIST($(OJT)\rx\test))
188 $(MKDIR) $(OJT)\rx\test
190 ! IF (!EXIST($(OJT)\rxdebug))
191 $(MKDIR) $(OJT)\rxdebug
193 ! IF (!EXIST($(OJT)\rxgen))
194 $(MKDIR) $(OJT)\rxgen
196 ! IF (!EXIST($(OJT)\rxkad))
197 $(MKDIR) $(OJT)\rxkad
199 ! IF (!EXIST($(OJT)\rxstat))
200 $(MKDIR) $(OJT)\rxstat
202 ! IF (!EXIST($(OJT)\shlibafsauthent))
203 $(MKDIR) $(OJT)\shlibafsauthent
205 ! IF (!EXIST($(OJT)\shlibafsrpc))
206 $(MKDIR) $(OJT)\shlibafsrpc
208 ! IF (!EXIST($(OJT)\sys))
211 ! IF (!EXIST($(OJT)\tbutc))
212 $(MKDIR) $(OJT)\tbutc
214 ! IF (!EXIST($(OJT)\tviced))
215 $(MKDIR) $(OJT)\tviced
217 ! IF (!EXIST($(OJT)\tvolser))
218 $(MKDIR) $(OJT)\tvolser
220 ! IF (!EXIST($(OJT)\dviced))
221 $(MKDIR) $(OJT)\dviced
223 ! IF (!EXIST($(OJT)\dvolser))
224 $(MKDIR) $(OJT)\dvolser
226 ! IF (!EXIST($(OJT)\ubik))
229 ! IF (!EXIST($(OJT)\tubik))
230 $(MKDIR) $(OJT)\tubik
232 ! IF (!EXIST($(OJT)\update))
233 $(MKDIR) $(OJT)\update
235 ! IF (!EXIST($(OJT)\usd))
238 ! IF (!EXIST($(OJT)\usd\test))
239 $(MKDIR) $(OJT)\usd\test
241 ! IF (!EXIST($(OJT)\util))
244 ! IF (!EXIST($(OJT)\util\test))
245 $(MKDIR) $(OJT)\util\test
247 ! IF (!EXIST($(OJT)\viced))
248 $(MKDIR) $(OJT)\viced
250 ! IF (!EXIST($(OJT)\vlserver))
251 $(MKDIR) $(OJT)\vlserver
253 ! IF (!EXIST($(OJT)\vol))
256 ! IF (!EXIST($(OJT)\vol\test))
257 $(MKDIR) $(OJT)\vol\test
259 ! IF (!EXIST($(OJT)\volser))
260 $(MKDIR) $(OJT)\volser
262 ! IF (!EXIST($(OJT)\xstat))
263 $(MKDIR) $(OJT)\xstat
265 ! IF (!EXIST($(OJT)\WINNT))
266 $(MKDIR) $(OJT)\WINNT
268 ! IF (!EXIST($(OJT)\WINNT\afsadmsvr))
269 $(MKDIR) $(OJT)\WINNT\afsadmsvr
271 ! IF (!EXIST($(OJT)\WINNT\afsapplib))
272 $(MKDIR) $(OJT)\WINNT\afsapplib
274 ! IF (!EXIST($(OJT)\WINNT\afsapplib\lang))
275 $(MKDIR) $(OJT)\WINNT\afsapplib\lang
277 ! IF (!EXIST($(OJT)\WINNT\afsapplib\test))
278 $(MKDIR) $(OJT)\WINNT\afsapplib\test
280 ! IF (!EXIST($(OJT)\WINNT\afsclass))
281 $(MKDIR) $(OJT)\WINNT\afsclass
283 ! IF (!EXIST($(OJT)\WINNT\afsd))
284 $(MKDIR) $(OJT)\WINNT\afsd
286 ! IF (!EXIST($(OJT)\WINNT\afslegal))
287 $(MKDIR) $(OJT)\WINNT\afslegal
289 ! IF (!EXIST($(OJT)\WINNT\afslegal\lang))
290 $(MKDIR) $(OJT)\WINNT\afslegal\lang
292 ! IF (!EXIST($(OJT)\WINNT\afsrdr))
293 $(MKDIR) $(OJT)\WINNT\afsrdr
295 ! IF (!EXIST($(OJT)\WINNT\afsrdr\tools))
296 $(MKDIR) $(OJT)\WINNT\afsrdr\tools
298 ! IF (!EXIST($(OJT)\WINNT\afsrdr\tools\authgroup))
299 $(MKDIR) $(OJT)\WINNT\afsrdr\tools\authgroup
301 ! IF (!EXIST($(OJT)\WINNT\afsrdr\tools\gettrace))
302 $(MKDIR) $(OJT)\WINNT\afsrdr\tools\gettrace
304 ! IF (!EXIST($(OJT)\WINNT\afsrdr\tools\settrace))
305 $(MKDIR) $(OJT)\WINNT\afsrdr\tools\settrace
307 ! IF (!EXIST($(OJT)\WINNT\afsrdr\tools\crash))
308 $(MKDIR) $(OJT)\WINNT\afsrdr\tools\crash
310 ! IF (!EXIST($(OJT)\WINNT\afsreg))
311 $(MKDIR) $(OJT)\WINNT\afsreg
313 ! IF (!EXIST($(OJT)\WINNT\afsreg\test))
314 $(MKDIR) $(OJT)\WINNT\afsreg\test
316 ! IF (!EXIST($(OJT)\WINNT\afssvrcfg))
317 $(MKDIR) $(OJT)\WINNT\afssvrcfg
319 ! IF (!EXIST($(OJT)\WINNT\afssvrcfg\lang))
320 $(MKDIR) $(OJT)\WINNT\afssvrcfg\lang
322 ! IF (!EXIST($(OJT)\WINNT\afssvrcpa))
323 $(MKDIR) $(OJT)\WINNT\afssvrcpa
325 ! IF (!EXIST($(OJT)\WINNT\afssvrcpa\lang))
326 $(MKDIR) $(OJT)\WINNT\afssvrcpa\lang
328 ! IF (!EXIST($(OJT)\WINNT\afssvrmgr))
329 $(MKDIR) $(OJT)\WINNT\afssvrmgr
331 ! IF (!EXIST($(OJT)\WINNT\afssvrmgr\lang))
332 $(MKDIR) $(OJT)\WINNT\afssvrmgr\lang
334 ! IF (!EXIST($(OJT)\WINNT\afsusrmgr))
335 $(MKDIR) $(OJT)\WINNT\afsusrmgr
337 ! IF (!EXIST($(OJT)\WINNT\afsusrmgr\lang))
338 $(MKDIR) $(OJT)\WINNT\afsusrmgr\lang
340 ! IF (!EXIST($(OJT)\WINNT\afs_setup_utils))
341 $(MKDIR) $(OJT)\WINNT\afs_setup_utils
343 ! IF (!EXIST($(OJT)\WINNT\afs_setup_utils\lang))
344 $(MKDIR) $(OJT)\WINNT\afs_setup_utils\lang
346 ! IF (!EXIST($(OJT)\WINNT\afs_setup_utils\_isuser))
347 $(MKDIR) $(OJT)\WINNT\afs_setup_utils\_isuser
349 ! IF (!EXIST($(OJT)\WINNT\afs_setup_utils\GetWebDll))
350 $(MKDIR) $(OJT)\WINNT\afs_setup_utils\GetWebDll
352 ! IF (!EXIST($(OJT)\WINNT\aklog))
353 $(MKDIR) $(OJT)\WINNT\aklog
355 ! IF (!EXIST($(OJT)\WINNT\afsrdr))
356 $(MKDIR) $(OJT)\WINNT\afsrdr
358 ! IF (!EXIST($(OJT)\WINNT\afsrdr\kernel))
359 $(MKDIR) $(OJT)\WINNT\afsrdr\kernel
361 ! IF (!EXIST($(OJT)\WINNT\afsrdr\npdll))
362 $(MKDIR) $(OJT)\WINNT\afsrdr\npdll
364 ! IF (!EXIST($(OJT)\WINNT\bosctlsvc))
365 $(MKDIR) $(OJT)\WINNT\bosctlsvc
367 ! IF (!EXIST($(OJT)\WINNT\client_config))
368 $(MKDIR) $(OJT)\WINNT\client_config
370 ! IF (!EXIST($(OJT)\WINNT\client_config\lang))
371 $(MKDIR) $(OJT)\WINNT\client_config\lang
373 ! IF (!EXIST($(OJT)\WINNT\client_cpa))
374 $(MKDIR) $(OJT)\WINNT\client_cpa
376 ! IF (!EXIST($(OJT)\WINNT\client_cpa\lang))
377 $(MKDIR) $(OJT)\WINNT\client_cpa\lang
379 ! IF (!EXIST($(OJT)\WINNT\client_creds))
380 $(MKDIR) $(OJT)\WINNT\client_creds
382 ! IF (!EXIST($(OJT)\WINNT\client_creds\lang))
383 $(MKDIR) $(OJT)\WINNT\client_creds\lang
385 ! IF (!EXIST($(OJT)\WINNT\client_exp))
386 $(MKDIR) $(OJT)\WINNT\client_exp
388 ! IF (!EXIST($(OJT)\WINNT\client_exp\lang))
389 $(MKDIR) $(OJT)\WINNT\client_exp\lang
391 ! IF (!EXIST($(OJT)\WINNT\client_osi))
392 $(MKDIR) $(OJT)\WINNT\client_osi
394 ! IF (!EXIST($(OJT)\WINNT\eventlog))
395 $(MKDIR) $(OJT)\WINNT\eventlog
397 ! IF (!EXIST($(OJT)\WINNT\eventlog\lang))
398 $(MKDIR) $(OJT)\WINNT\eventlog\lang
400 ! IF (!EXIST($(OJT)\WINNT\eventlog\test))
401 $(MKDIR) $(OJT)\WINNT\eventlog\test
403 ! IF (!EXIST($(OJT)\WINNT\install))
404 $(MKDIR) $(OJT)\WINNT\install
406 ! IF (!EXIST($(OJT)\WINNT\install\InstallShield5))
407 $(MKDIR) $(OJT)\WINNT\install\InstallShield5
409 ! IF (!EXIST($(OJT)\WINNT\install\loopback))
410 $(MKDIR) $(OJT)\WINNT\install\loopback
412 ! IF (!EXIST($(OJT)\WINNT\install\NSIS))
413 $(MKDIR) $(OJT)\WINNT\install\NSIS
415 ! IF (!EXIST($(OJT)\WINNT\install\wix))
416 $(MKDIR) $(OJT)\WINNT\install\wix
418 ! IF (!EXIST($(OJT)\WINNT\install\wix\custom))
419 $(MKDIR) $(OJT)\WINNT\install\wix\custom
421 ! IF (!EXIST($(OJT)\WINNT\install\wix\uninstall))
422 $(MKDIR) $(OJT)\WINNT\install\wix\uninstall
424 ! IF (!EXIST($(OJT)\WINNT\install\Win9x))
425 $(MKDIR) $(OJT)\WINNT\install\Win9x
427 ! IF (!EXIST($(OJT)\WINNT\license))
428 $(MKDIR) $(OJT)\WINNT\license
430 ! IF (!EXIST($(OJT)\WINNT\license\lang))
431 $(MKDIR) $(OJT)\WINNT\license\lang
433 ! IF (!EXIST($(OJT)\WINNT\netidmgr_plugin))
434 $(MKDIR) $(OJT)\WINNT\netidmgr_plugin
436 ! IF (!EXIST($(OJT)\WINNT\pthread))
437 $(MKDIR) $(OJT)\WINNT\pthread
439 ! IF (!EXIST($(OJT)\WINNT\pthread\test))
440 $(MKDIR) $(OJT)\WINNT\pthread\test
442 ! IF (!EXIST($(OJT)\WINNT\talocale))
443 $(MKDIR) $(OJT)\WINNT\talocale
445 ! IF (!EXIST($(OJT)\WINNT\talocale_unicode))
446 $(MKDIR) $(OJT)\WINNT\talocale_unicode
448 ! IF (!EXIST($(OJT)\WINNT\win9xpanel))
449 $(MKDIR) $(OJT)\WINNT\win9xpanel
451 ! IF (!EXIST($(DESTDIR)))
454 ! IF (!EXIST($(DESTDIR)\include))
455 $(MKDIR) $(DESTDIR)\include
457 ! IF (!EXIST($(DESTDIR)\include\afs))
458 $(MKDIR) $(DESTDIR)\include\afs
460 ! IF (!EXIST($(DESTDIR)\include\hcrypto))
461 $(MKDIR) $(DESTDIR)\include\hcrypto
463 ! IF (!EXIST($(DESTDIR)\include\opr))
464 $(MKDIR) $(DESTDIR)\include\opr
466 ! IF (!EXIST($(DESTDIR)\include\rx))
467 $(MKDIR) $(DESTDIR)\include\rx
469 ! IF (!EXIST($(DESTDIR)\include\WINNT))
470 $(MKDIR) $(DESTDIR)\include\WINNT
472 ! IF (!EXIST($(DESTDIR)\lib))
473 $(MKDIR) $(DESTDIR)\lib
475 ! IF (!EXIST($(DESTDIR)\lib\afs))
476 $(MKDIR) $(DESTDIR)\lib\afs
478 ! IF (!EXIST($(DESTDIR)\lib\win95))
479 $(MKDIR) $(DESTDIR)\lib\win95
481 ! IF (!EXIST($(DESTDIR)\bin))
482 $(MKDIR) $(DESTDIR)\bin
484 ! IF (!EXIST($(DESTDIR)\etc))
485 $(MKDIR) $(DESTDIR)\etc
487 ! IF (!EXIST($(DESTDIR)\WinInstall))
488 $(MKDIR) $(DESTDIR)\WinInstall
490 ! IF (!EXIST($(DESTDIR)\WinInstall\Config))
491 $(MKDIR) $(DESTDIR)\WinInstall\Config
493 ! IF (!EXIST($(DESTDIR)\WinInstall\Dll))
494 $(MKDIR) $(DESTDIR)\WinInstall\Dll
496 ! IF (!EXIST($(DESTDIR)\root.server))
497 $(MKDIR) $(DESTDIR)\root.server
499 ! IF (!EXIST($(DESTDIR)\root.server\usr))
500 $(MKDIR) $(DESTDIR)\root.server\usr
502 ! IF (!EXIST($(DESTDIR)\root.server\usr\afs))
503 $(MKDIR) $(DESTDIR)\root.server\usr\afs
505 ! IF (!EXIST($(DESTDIR)\root.server\usr\afs\bin))
506 $(MKDIR) $(DESTDIR)\root.server\usr\afs\bin
508 ! IF (!EXIST($(DESTDIR)\root.client))
509 $(MKDIR) $(DESTDIR)\root.client
511 ! IF (!EXIST($(DESTDIR)\root.client\usr))
512 $(MKDIR) $(DESTDIR)\root.client\usr
514 ! IF (!EXIST($(DESTDIR)\root.client\usr\vice))
515 $(MKDIR) $(DESTDIR)\root.client\usr\vice
517 ! IF (!EXIST($(DESTDIR)\root.client\usr\vice\etc))
518 $(MKDIR) $(DESTDIR)\root.client\usr\vice\etc
520 $(COPY) AFSCONFIG-WINDOWS.H $(DESTDIR)\include\afs\afsconfig.h
523 $(DESTDIR)\bin\NTBUILD.bat
525 $(DESTDIR)\bin\NTBUILD.bat:..\NTBUILD.bat
529 $(DESTDIR)\bin\NTLang.bat: NTLang.bat $(DESTDIR)\bin\util_cr.exe
530 $(COPY) NTLang.bat $(DESTDIR)\bin
531 $(UTIL_CR) + $(DESTDIR)\bin\NTLang.bat
533 $(DESTDIR)\NTDllmap.txt:NTDllmap.txt
536 # Create link to docs needed for media build; allow to fail in case
537 # symlink not available, e.g. if using a 3.4a client, since most builds
538 # aren't media builds.
540 ! IF (EXIST($(DESTDIR)\doc))
541 - symlink rm $(DESTDIR)\doc
543 - symlink make $(DESTDIR)\doc doc-pathname
546 version: $(DESTDIR)\bin\mkvers.exe NTMakefile.version
548 NTMakefile.version: NTMakefile.version-CML NTMakefile.version-NOCML
549 $(DEL) NTMakefile.version
550 ! IF (EXIST(..\..\src\CML\state) || EXIST(..\..\..\src\CML\state))
551 $(COPY) NTMakefile.version-CML NTMakefile.version
553 $(COPY) NTMakefile.version-NOCML NTMakefile.version
557 $(DESTDIR)\bin\mkvers.exe \
558 $(DESTDIR)\bin\util_cr.exe \
559 $(DESTDIR)\bin\touch.exe
561 $(INCTOOLS):$(OUT)\$$(@F)
562 $(COPY) $** $(DESTDIR)\bin\.
563 !IF ("$(AFSVER_CL)"=="1400")
564 $(COPY) $**.manifest $(DESTDIR)\bin\.
567 $(OUT)\mkvers.exe : $(OUT)\mkvers.obj
569 $(_VC_MANIFEST_EMBED_EXE)
573 $(OUT)\touch.exe : $(OUT)\touch.obj
575 $(_VC_MANIFEST_EMBED_EXE)
579 $(OUT)\util_cr.exe : $(OUT)\util_cr.obj
581 $(_VC_MANIFEST_EMBED_EXE)
585 langsetup: $(DESTDIR)\bin\NTLang.bat
587 install: idirs $(INCFILES) $(INCTOOLS) $(INCCOPY) version $(DESTDIR)\NTDllmap.txt langsetup
589 # This clean target must be named something different than the universal
590 # 'clean' so that the version and NTLang.bat files can be removed last.
592 -$(DEL) NTMakefile.version
593 -$(DEL) $(DESTDIR)\bin\NTLang.bat
597 -$(DEL) $(DESTDIR)\LIB\*.DLL
598 -$(DEL) $(DESTDIR)\bin\mkver.exe*
599 -$(DEL) $(DESTDIR)\bin\touch.exe*
600 -$(DEL) $(DESTDIR)\bin\util_cr.exe*
601 -$(DEL) $(OUT)\util_cr.exe*
602 -$(DEL) $(OUT)\mkver.exe*
603 -$(DEL) $(OUT)\touch.exe*