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)\tvolser))
215 $(MKDIR) $(OJT)\tvolser
217 ! IF (!EXIST($(OJT)\dviced))
218 $(MKDIR) $(OJT)\dviced
220 ! IF (!EXIST($(OJT)\dvolser))
221 $(MKDIR) $(OJT)\dvolser
223 ! IF (!EXIST($(OJT)\ubik))
226 ! IF (!EXIST($(OJT)\tubik))
227 $(MKDIR) $(OJT)\tubik
229 ! IF (!EXIST($(OJT)\update))
230 $(MKDIR) $(OJT)\update
232 ! IF (!EXIST($(OJT)\usd))
235 ! IF (!EXIST($(OJT)\usd\test))
236 $(MKDIR) $(OJT)\usd\test
238 ! IF (!EXIST($(OJT)\util))
241 ! IF (!EXIST($(OJT)\util\test))
242 $(MKDIR) $(OJT)\util\test
244 ! IF (!EXIST($(OJT)\viced))
245 $(MKDIR) $(OJT)\viced
247 ! IF (!EXIST($(OJT)\vlserver))
248 $(MKDIR) $(OJT)\vlserver
250 ! IF (!EXIST($(OJT)\vol))
253 ! IF (!EXIST($(OJT)\vol\test))
254 $(MKDIR) $(OJT)\vol\test
256 ! IF (!EXIST($(OJT)\volser))
257 $(MKDIR) $(OJT)\volser
259 ! IF (!EXIST($(OJT)\xstat))
260 $(MKDIR) $(OJT)\xstat
262 ! IF (!EXIST($(OJT)\WINNT))
263 $(MKDIR) $(OJT)\WINNT
265 ! IF (!EXIST($(OJT)\WINNT\afsadmsvr))
266 $(MKDIR) $(OJT)\WINNT\afsadmsvr
268 ! IF (!EXIST($(OJT)\WINNT\afsapplib))
269 $(MKDIR) $(OJT)\WINNT\afsapplib
271 ! IF (!EXIST($(OJT)\WINNT\afsapplib\lang))
272 $(MKDIR) $(OJT)\WINNT\afsapplib\lang
274 ! IF (!EXIST($(OJT)\WINNT\afsapplib\test))
275 $(MKDIR) $(OJT)\WINNT\afsapplib\test
277 ! IF (!EXIST($(OJT)\WINNT\afsclass))
278 $(MKDIR) $(OJT)\WINNT\afsclass
280 ! IF (!EXIST($(OJT)\WINNT\afsd))
281 $(MKDIR) $(OJT)\WINNT\afsd
283 ! IF (!EXIST($(OJT)\WINNT\afslegal))
284 $(MKDIR) $(OJT)\WINNT\afslegal
286 ! IF (!EXIST($(OJT)\WINNT\afslegal\lang))
287 $(MKDIR) $(OJT)\WINNT\afslegal\lang
289 ! IF (!EXIST($(OJT)\WINNT\afsrdr))
290 $(MKDIR) $(OJT)\WINNT\afsrdr
292 ! IF (!EXIST($(OJT)\WINNT\afsrdr\tools))
293 $(MKDIR) $(OJT)\WINNT\afsrdr\tools
295 ! IF (!EXIST($(OJT)\WINNT\afsrdr\tools\authgroup))
296 $(MKDIR) $(OJT)\WINNT\afsrdr\tools\authgroup
298 ! IF (!EXIST($(OJT)\WINNT\afsrdr\tools\gettrace))
299 $(MKDIR) $(OJT)\WINNT\afsrdr\tools\gettrace
301 ! IF (!EXIST($(OJT)\WINNT\afsrdr\tools\settrace))
302 $(MKDIR) $(OJT)\WINNT\afsrdr\tools\settrace
304 ! IF (!EXIST($(OJT)\WINNT\afsrdr\tools\crash))
305 $(MKDIR) $(OJT)\WINNT\afsrdr\tools\crash
307 ! IF (!EXIST($(OJT)\WINNT\afsreg))
308 $(MKDIR) $(OJT)\WINNT\afsreg
310 ! IF (!EXIST($(OJT)\WINNT\afsreg\test))
311 $(MKDIR) $(OJT)\WINNT\afsreg\test
313 ! IF (!EXIST($(OJT)\WINNT\afssvrcfg))
314 $(MKDIR) $(OJT)\WINNT\afssvrcfg
316 ! IF (!EXIST($(OJT)\WINNT\afssvrcfg\lang))
317 $(MKDIR) $(OJT)\WINNT\afssvrcfg\lang
319 ! IF (!EXIST($(OJT)\WINNT\afssvrcpa))
320 $(MKDIR) $(OJT)\WINNT\afssvrcpa
322 ! IF (!EXIST($(OJT)\WINNT\afssvrcpa\lang))
323 $(MKDIR) $(OJT)\WINNT\afssvrcpa\lang
325 ! IF (!EXIST($(OJT)\WINNT\afssvrmgr))
326 $(MKDIR) $(OJT)\WINNT\afssvrmgr
328 ! IF (!EXIST($(OJT)\WINNT\afssvrmgr\lang))
329 $(MKDIR) $(OJT)\WINNT\afssvrmgr\lang
331 ! IF (!EXIST($(OJT)\WINNT\afsusrmgr))
332 $(MKDIR) $(OJT)\WINNT\afsusrmgr
334 ! IF (!EXIST($(OJT)\WINNT\afsusrmgr\lang))
335 $(MKDIR) $(OJT)\WINNT\afsusrmgr\lang
337 ! IF (!EXIST($(OJT)\WINNT\afs_setup_utils))
338 $(MKDIR) $(OJT)\WINNT\afs_setup_utils
340 ! IF (!EXIST($(OJT)\WINNT\afs_setup_utils\lang))
341 $(MKDIR) $(OJT)\WINNT\afs_setup_utils\lang
343 ! IF (!EXIST($(OJT)\WINNT\afs_setup_utils\_isuser))
344 $(MKDIR) $(OJT)\WINNT\afs_setup_utils\_isuser
346 ! IF (!EXIST($(OJT)\WINNT\afs_setup_utils\GetWebDll))
347 $(MKDIR) $(OJT)\WINNT\afs_setup_utils\GetWebDll
349 ! IF (!EXIST($(OJT)\WINNT\aklog))
350 $(MKDIR) $(OJT)\WINNT\aklog
352 ! IF (!EXIST($(OJT)\WINNT\afsrdr))
353 $(MKDIR) $(OJT)\WINNT\afsrdr
355 ! IF (!EXIST($(OJT)\WINNT\afsrdr\kernel))
356 $(MKDIR) $(OJT)\WINNT\afsrdr\kernel
358 ! IF (!EXIST($(OJT)\WINNT\afsrdr\npdll))
359 $(MKDIR) $(OJT)\WINNT\afsrdr\npdll
361 ! IF (!EXIST($(OJT)\WINNT\bosctlsvc))
362 $(MKDIR) $(OJT)\WINNT\bosctlsvc
364 ! IF (!EXIST($(OJT)\WINNT\client_config))
365 $(MKDIR) $(OJT)\WINNT\client_config
367 ! IF (!EXIST($(OJT)\WINNT\client_config\lang))
368 $(MKDIR) $(OJT)\WINNT\client_config\lang
370 ! IF (!EXIST($(OJT)\WINNT\client_cpa))
371 $(MKDIR) $(OJT)\WINNT\client_cpa
373 ! IF (!EXIST($(OJT)\WINNT\client_cpa\lang))
374 $(MKDIR) $(OJT)\WINNT\client_cpa\lang
376 ! IF (!EXIST($(OJT)\WINNT\client_creds))
377 $(MKDIR) $(OJT)\WINNT\client_creds
379 ! IF (!EXIST($(OJT)\WINNT\client_creds\lang))
380 $(MKDIR) $(OJT)\WINNT\client_creds\lang
382 ! IF (!EXIST($(OJT)\WINNT\client_exp))
383 $(MKDIR) $(OJT)\WINNT\client_exp
385 ! IF (!EXIST($(OJT)\WINNT\client_exp\lang))
386 $(MKDIR) $(OJT)\WINNT\client_exp\lang
388 ! IF (!EXIST($(OJT)\WINNT\client_osi))
389 $(MKDIR) $(OJT)\WINNT\client_osi
391 ! IF (!EXIST($(OJT)\WINNT\eventlog))
392 $(MKDIR) $(OJT)\WINNT\eventlog
394 ! IF (!EXIST($(OJT)\WINNT\eventlog\lang))
395 $(MKDIR) $(OJT)\WINNT\eventlog\lang
397 ! IF (!EXIST($(OJT)\WINNT\eventlog\test))
398 $(MKDIR) $(OJT)\WINNT\eventlog\test
400 ! IF (!EXIST($(OJT)\WINNT\install))
401 $(MKDIR) $(OJT)\WINNT\install
403 ! IF (!EXIST($(OJT)\WINNT\install\InstallShield5))
404 $(MKDIR) $(OJT)\WINNT\install\InstallShield5
406 ! IF (!EXIST($(OJT)\WINNT\install\loopback))
407 $(MKDIR) $(OJT)\WINNT\install\loopback
409 ! IF (!EXIST($(OJT)\WINNT\install\NSIS))
410 $(MKDIR) $(OJT)\WINNT\install\NSIS
412 ! IF (!EXIST($(OJT)\WINNT\install\wix))
413 $(MKDIR) $(OJT)\WINNT\install\wix
415 ! IF (!EXIST($(OJT)\WINNT\install\wix\custom))
416 $(MKDIR) $(OJT)\WINNT\install\wix\custom
418 ! IF (!EXIST($(OJT)\WINNT\install\wix\uninstall))
419 $(MKDIR) $(OJT)\WINNT\install\wix\uninstall
421 ! IF (!EXIST($(OJT)\WINNT\install\Win9x))
422 $(MKDIR) $(OJT)\WINNT\install\Win9x
424 ! IF (!EXIST($(OJT)\WINNT\license))
425 $(MKDIR) $(OJT)\WINNT\license
427 ! IF (!EXIST($(OJT)\WINNT\license\lang))
428 $(MKDIR) $(OJT)\WINNT\license\lang
430 ! IF (!EXIST($(OJT)\WINNT\netidmgr_plugin))
431 $(MKDIR) $(OJT)\WINNT\netidmgr_plugin
433 ! IF (!EXIST($(OJT)\WINNT\pthread))
434 $(MKDIR) $(OJT)\WINNT\pthread
436 ! IF (!EXIST($(OJT)\WINNT\pthread\test))
437 $(MKDIR) $(OJT)\WINNT\pthread\test
439 ! IF (!EXIST($(OJT)\WINNT\talocale))
440 $(MKDIR) $(OJT)\WINNT\talocale
442 ! IF (!EXIST($(OJT)\WINNT\talocale_unicode))
443 $(MKDIR) $(OJT)\WINNT\talocale_unicode
445 ! IF (!EXIST($(OJT)\WINNT\win9xpanel))
446 $(MKDIR) $(OJT)\WINNT\win9xpanel
448 ! IF (!EXIST($(DESTDIR)))
451 ! IF (!EXIST($(DESTDIR)\include))
452 $(MKDIR) $(DESTDIR)\include
454 ! IF (!EXIST($(DESTDIR)\include\afs))
455 $(MKDIR) $(DESTDIR)\include\afs
457 ! IF (!EXIST($(DESTDIR)\include\hcrypto))
458 $(MKDIR) $(DESTDIR)\include\hcrypto
460 ! IF (!EXIST($(DESTDIR)\include\opr))
461 $(MKDIR) $(DESTDIR)\include\opr
463 ! IF (!EXIST($(DESTDIR)\include\rx))
464 $(MKDIR) $(DESTDIR)\include\rx
466 ! IF (!EXIST($(DESTDIR)\include\WINNT))
467 $(MKDIR) $(DESTDIR)\include\WINNT
469 ! IF (!EXIST($(DESTDIR)\lib))
470 $(MKDIR) $(DESTDIR)\lib
472 ! IF (!EXIST($(DESTDIR)\lib\afs))
473 $(MKDIR) $(DESTDIR)\lib\afs
475 ! IF (!EXIST($(DESTDIR)\lib\win95))
476 $(MKDIR) $(DESTDIR)\lib\win95
478 ! IF (!EXIST($(DESTDIR)\bin))
479 $(MKDIR) $(DESTDIR)\bin
481 ! IF (!EXIST($(DESTDIR)\etc))
482 $(MKDIR) $(DESTDIR)\etc
484 ! IF (!EXIST($(DESTDIR)\WinInstall))
485 $(MKDIR) $(DESTDIR)\WinInstall
487 ! IF (!EXIST($(DESTDIR)\WinInstall\Config))
488 $(MKDIR) $(DESTDIR)\WinInstall\Config
490 ! IF (!EXIST($(DESTDIR)\WinInstall\Dll))
491 $(MKDIR) $(DESTDIR)\WinInstall\Dll
493 ! IF (!EXIST($(DESTDIR)\root.server))
494 $(MKDIR) $(DESTDIR)\root.server
496 ! IF (!EXIST($(DESTDIR)\root.server\usr))
497 $(MKDIR) $(DESTDIR)\root.server\usr
499 ! IF (!EXIST($(DESTDIR)\root.server\usr\afs))
500 $(MKDIR) $(DESTDIR)\root.server\usr\afs
502 ! IF (!EXIST($(DESTDIR)\root.server\usr\afs\bin))
503 $(MKDIR) $(DESTDIR)\root.server\usr\afs\bin
505 ! IF (!EXIST($(DESTDIR)\root.client))
506 $(MKDIR) $(DESTDIR)\root.client
508 ! IF (!EXIST($(DESTDIR)\root.client\usr))
509 $(MKDIR) $(DESTDIR)\root.client\usr
511 ! IF (!EXIST($(DESTDIR)\root.client\usr\vice))
512 $(MKDIR) $(DESTDIR)\root.client\usr\vice
514 ! IF (!EXIST($(DESTDIR)\root.client\usr\vice\etc))
515 $(MKDIR) $(DESTDIR)\root.client\usr\vice\etc
517 $(COPY) AFSCONFIG-WINDOWS.H $(DESTDIR)\include\afs\afsconfig.h
520 $(DESTDIR)\bin\NTBUILD.bat
522 $(DESTDIR)\bin\NTBUILD.bat:..\NTBUILD.bat
526 $(DESTDIR)\bin\NTLang.bat: NTLang.bat $(DESTDIR)\bin\util_cr.exe
527 $(COPY) NTLang.bat $(DESTDIR)\bin
528 $(UTIL_CR) + $(DESTDIR)\bin\NTLang.bat
530 $(DESTDIR)\NTDllmap.txt:NTDllmap.txt
533 # Create link to docs needed for media build; allow to fail in case
534 # symlink not available, e.g. if using a 3.4a client, since most builds
535 # aren't media builds.
537 ! IF (EXIST($(DESTDIR)\doc))
538 - symlink rm $(DESTDIR)\doc
540 - symlink make $(DESTDIR)\doc doc-pathname
543 version: $(DESTDIR)\bin\mkvers.exe NTMakefile.version
545 NTMakefile.version: NTMakefile.version-CML NTMakefile.version-NOCML
546 $(DEL) NTMakefile.version
547 ! IF (EXIST(..\..\src\CML\state) || EXIST(..\..\..\src\CML\state))
548 $(COPY) NTMakefile.version-CML NTMakefile.version
550 $(COPY) NTMakefile.version-NOCML NTMakefile.version
554 $(DESTDIR)\bin\mkvers.exe \
555 $(DESTDIR)\bin\util_cr.exe \
556 $(DESTDIR)\bin\touch.exe
558 $(INCTOOLS):$(OUT)\$$(@F)
559 $(COPY) $** $(DESTDIR)\bin\.
560 !IF ("$(AFSVER_CL)"=="1400")
561 $(COPY) $**.manifest $(DESTDIR)\bin\.
564 $(OUT)\mkvers.exe : $(OUT)\mkvers.obj
566 $(_VC_MANIFEST_EMBED_EXE)
570 $(OUT)\touch.exe : $(OUT)\touch.obj
572 $(_VC_MANIFEST_EMBED_EXE)
576 $(OUT)\util_cr.exe : $(OUT)\util_cr.obj
578 $(_VC_MANIFEST_EMBED_EXE)
582 langsetup: $(DESTDIR)\bin\NTLang.bat
584 install: idirs $(INCFILES) $(INCTOOLS) $(INCCOPY) version $(DESTDIR)\NTDllmap.txt langsetup
586 # This clean target must be named something different than the universal
587 # 'clean' so that the version and NTLang.bat files can be removed last.
589 -$(DEL) NTMakefile.version
590 -$(DEL) $(DESTDIR)\bin\NTLang.bat
594 -$(DEL) $(DESTDIR)\LIB\*.DLL
595 -$(DEL) $(DESTDIR)\bin\mkver.exe*
596 -$(DEL) $(DESTDIR)\bin\touch.exe*
597 -$(DEL) $(DESTDIR)\bin\util_cr.exe*
598 -$(DEL) $(OUT)\util_cr.exe*
599 -$(DEL) $(OUT)\mkver.exe*
600 -$(DEL) $(OUT)\touch.exe*