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