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