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)\crypto\rfc3961))
98 $(MKDIR) $(OJT)\crypto\rfc3961
100 ! IF (!EXIST($(OJT)\dir))
103 ! IF (!EXIST($(OJT)\dir\test))
104 $(MKDIR) $(OJT)\dir\test
106 ! IF (!EXIST($(OJT)\finale))
107 $(MKDIR) $(OJT)\finale
109 ! IF (!EXIST($(OJT)\fsint))
110 $(MKDIR) $(OJT)\fsint
112 ! IF (!EXIST($(OJT)\kauth))
113 $(MKDIR) $(OJT)\kauth
115 ! IF (!EXIST($(OJT)\kauth\test))
116 $(MKDIR) $(OJT)\kauth\test
118 ! IF (!EXIST($(OJT)\libacl))
119 $(MKDIR) $(OJT)\libacl
121 ! IF (!EXIST($(OJT)\opr))
124 ! IF (!EXIST($(OJT)\roken))
125 $(MKDIR) $(OJT)\roken
127 ! IF (!EXIST($(OJT)\tests))
128 $(MKDIR) $(OJT)\tests
130 ! IF (!EXIST($(OJT)\tests\rpctestlib))
131 $(MKDIR) $(OJT)\tests\rpctestlib
133 ! IF (!EXIST($(OJT)\libadmin))
134 $(MKDIR) $(OJT)\libadmin
136 ! IF (!EXIST($(OJT)\libadmin\adminutil))
137 $(MKDIR) $(OJT)\libadmin\adminutil
139 ! IF (!EXIST($(OJT)\libadmin\bos))
140 $(MKDIR) $(OJT)\libadmin\bos
142 ! IF (!EXIST($(OJT)\libadmin\cfg))
143 $(MKDIR) $(OJT)\libadmin\cfg
145 ! IF (!EXIST($(OJT)\libadmin\cfg\test))
146 $(MKDIR) $(OJT)\libadmin\cfg\test
148 ! IF (!EXIST($(OJT)\libadmin\client))
149 $(MKDIR) $(OJT)\libadmin\client
151 ! IF (!EXIST($(OJT)\libadmin\kas))
152 $(MKDIR) $(OJT)\libadmin\kas
154 ! IF (!EXIST($(OJT)\libadmin\pts))
155 $(MKDIR) $(OJT)\libadmin\pts
157 ! IF (!EXIST($(OJT)\libadmin\test))
158 $(MKDIR) $(OJT)\libadmin\test
160 ! IF (!EXIST($(OJT)\libadmin\vos))
161 $(MKDIR) $(OJT)\libadmin\vos
163 ! IF (!EXIST($(OJT)\libafsauthent))
164 $(MKDIR) $(OJT)\libafsauthent
166 ! IF (!EXIST($(OJT)\libafscp))
167 $(MKDIR) $(OJT)\libafscp
169 ! IF (!EXIST($(OJT)\libafsrpc))
170 $(MKDIR) $(OJT)\libafsrpc
172 ! IF (!EXIST($(OJT)\lwp))
175 ! IF (!EXIST($(OJT)\lwp\test))
176 $(MKDIR) $(OJT)\lwp\test
178 ! IF (!EXIST($(OJT)\procmgmt))
179 $(MKDIR) $(OJT)\procmgmt
181 ! IF (!EXIST($(OJT)\procmgmt\test))
182 $(MKDIR) $(OJT)\procmgmt\test
184 ! IF (!EXIST($(OJT)\ptserver))
185 $(MKDIR) $(OJT)\ptserver
187 ! IF (!EXIST($(OJT)\tptserver))
188 $(MKDIR) $(OJT)\tptserver
190 ! IF (!EXIST($(OJT)\rx))
193 ! IF (!EXIST($(OJT)\rx\test))
194 $(MKDIR) $(OJT)\rx\test
196 ! IF (!EXIST($(OJT)\rxdebug))
197 $(MKDIR) $(OJT)\rxdebug
199 ! IF (!EXIST($(OJT)\rxgen))
200 $(MKDIR) $(OJT)\rxgen
202 ! IF (!EXIST($(OJT)\rxkad))
203 $(MKDIR) $(OJT)\rxkad
205 ! IF (!EXIST($(OJT)\rxstat))
206 $(MKDIR) $(OJT)\rxstat
208 ! IF (!EXIST($(OJT)\shlibafsauthent))
209 $(MKDIR) $(OJT)\shlibafsauthent
211 ! IF (!EXIST($(OJT)\shlibafsrpc))
212 $(MKDIR) $(OJT)\shlibafsrpc
214 ! IF (!EXIST($(OJT)\sys))
217 ! IF (!EXIST($(OJT)\tbutc))
218 $(MKDIR) $(OJT)\tbutc
220 ! IF (!EXIST($(OJT)\tvolser))
221 $(MKDIR) $(OJT)\tvolser
223 ! IF (!EXIST($(OJT)\tools))
224 $(MKDIR) $(OJT)\tools
226 ! IF (!EXIST($(OJT)\tools\rxperf))
227 $(MKDIR) $(OJT)\tools\rxperf
229 ! IF (!EXIST($(OJT)\dviced))
230 $(MKDIR) $(OJT)\dviced
232 ! IF (!EXIST($(OJT)\dvolser))
233 $(MKDIR) $(OJT)\dvolser
235 ! IF (!EXIST($(OJT)\ubik))
238 ! IF (!EXIST($(OJT)\tubik))
239 $(MKDIR) $(OJT)\tubik
241 ! IF (!EXIST($(OJT)\update))
242 $(MKDIR) $(OJT)\update
244 ! IF (!EXIST($(OJT)\usd))
247 ! IF (!EXIST($(OJT)\usd\test))
248 $(MKDIR) $(OJT)\usd\test
250 ! IF (!EXIST($(OJT)\util))
253 ! IF (!EXIST($(OJT)\util\test))
254 $(MKDIR) $(OJT)\util\test
256 ! IF (!EXIST($(OJT)\viced))
257 $(MKDIR) $(OJT)\viced
259 ! IF (!EXIST($(OJT)\vlserver))
260 $(MKDIR) $(OJT)\vlserver
262 ! IF (!EXIST($(OJT)\vol))
265 ! IF (!EXIST($(OJT)\vol\test))
266 $(MKDIR) $(OJT)\vol\test
268 ! IF (!EXIST($(OJT)\volser))
269 $(MKDIR) $(OJT)\volser
271 ! IF (!EXIST($(OJT)\xstat))
272 $(MKDIR) $(OJT)\xstat
274 ! IF (!EXIST($(OJT)\WINNT))
275 $(MKDIR) $(OJT)\WINNT
277 ! IF (!EXIST($(OJT)\WINNT\afsadmsvr))
278 $(MKDIR) $(OJT)\WINNT\afsadmsvr
280 ! IF (!EXIST($(OJT)\WINNT\afsapplib))
281 $(MKDIR) $(OJT)\WINNT\afsapplib
283 ! IF (!EXIST($(OJT)\WINNT\afsapplib\lang))
284 $(MKDIR) $(OJT)\WINNT\afsapplib\lang
286 ! IF (!EXIST($(OJT)\WINNT\afsapplib\test))
287 $(MKDIR) $(OJT)\WINNT\afsapplib\test
289 ! IF (!EXIST($(OJT)\WINNT\afsclass))
290 $(MKDIR) $(OJT)\WINNT\afsclass
292 ! IF (!EXIST($(OJT)\WINNT\afsd))
293 $(MKDIR) $(OJT)\WINNT\afsd
295 ! IF (!EXIST($(OJT)\WINNT\afslegal))
296 $(MKDIR) $(OJT)\WINNT\afslegal
298 ! IF (!EXIST($(OJT)\WINNT\afslegal\lang))
299 $(MKDIR) $(OJT)\WINNT\afslegal\lang
301 ! IF (!EXIST($(OJT)\WINNT\afsrdr))
302 $(MKDIR) $(OJT)\WINNT\afsrdr
304 ! IF (!EXIST($(OJT)\WINNT\afsrdr\tools))
305 $(MKDIR) $(OJT)\WINNT\afsrdr\tools
307 ! IF (!EXIST($(OJT)\WINNT\afsrdr\tools\authgroup))
308 $(MKDIR) $(OJT)\WINNT\afsrdr\tools\authgroup
310 ! IF (!EXIST($(OJT)\WINNT\afsrdr\tools\gettrace))
311 $(MKDIR) $(OJT)\WINNT\afsrdr\tools\gettrace
313 ! IF (!EXIST($(OJT)\WINNT\afsrdr\tools\settrace))
314 $(MKDIR) $(OJT)\WINNT\afsrdr\tools\settrace
316 ! IF (!EXIST($(OJT)\WINNT\afsrdr\tools\crash))
317 $(MKDIR) $(OJT)\WINNT\afsrdr\tools\crash
319 ! IF (!EXIST($(OJT)\WINNT\afsreg))
320 $(MKDIR) $(OJT)\WINNT\afsreg
322 ! IF (!EXIST($(OJT)\WINNT\afsreg\test))
323 $(MKDIR) $(OJT)\WINNT\afsreg\test
325 ! IF (!EXIST($(OJT)\WINNT\afssvrcfg))
326 $(MKDIR) $(OJT)\WINNT\afssvrcfg
328 ! IF (!EXIST($(OJT)\WINNT\afssvrcfg\lang))
329 $(MKDIR) $(OJT)\WINNT\afssvrcfg\lang
331 ! IF (!EXIST($(OJT)\WINNT\afssvrcpa))
332 $(MKDIR) $(OJT)\WINNT\afssvrcpa
334 ! IF (!EXIST($(OJT)\WINNT\afssvrcpa\lang))
335 $(MKDIR) $(OJT)\WINNT\afssvrcpa\lang
337 ! IF (!EXIST($(OJT)\WINNT\afssvrmgr))
338 $(MKDIR) $(OJT)\WINNT\afssvrmgr
340 ! IF (!EXIST($(OJT)\WINNT\afssvrmgr\lang))
341 $(MKDIR) $(OJT)\WINNT\afssvrmgr\lang
343 ! IF (!EXIST($(OJT)\WINNT\afsusrmgr))
344 $(MKDIR) $(OJT)\WINNT\afsusrmgr
346 ! IF (!EXIST($(OJT)\WINNT\afsusrmgr\lang))
347 $(MKDIR) $(OJT)\WINNT\afsusrmgr\lang
349 ! IF (!EXIST($(OJT)\WINNT\afs_setup_utils))
350 $(MKDIR) $(OJT)\WINNT\afs_setup_utils
352 ! IF (!EXIST($(OJT)\WINNT\afs_setup_utils\lang))
353 $(MKDIR) $(OJT)\WINNT\afs_setup_utils\lang
355 ! IF (!EXIST($(OJT)\WINNT\afs_setup_utils\_isuser))
356 $(MKDIR) $(OJT)\WINNT\afs_setup_utils\_isuser
358 ! IF (!EXIST($(OJT)\WINNT\afs_setup_utils\GetWebDll))
359 $(MKDIR) $(OJT)\WINNT\afs_setup_utils\GetWebDll
361 ! IF (!EXIST($(OJT)\WINNT\aklog))
362 $(MKDIR) $(OJT)\WINNT\aklog
364 ! IF (!EXIST($(OJT)\WINNT\afsrdr))
365 $(MKDIR) $(OJT)\WINNT\afsrdr
367 ! IF (!EXIST($(OJT)\WINNT\afsrdr\kernel))
368 $(MKDIR) $(OJT)\WINNT\afsrdr\kernel
370 ! IF (!EXIST($(OJT)\WINNT\afsrdr\npdll))
371 $(MKDIR) $(OJT)\WINNT\afsrdr\npdll
373 ! IF (!EXIST($(OJT)\WINNT\bosctlsvc))
374 $(MKDIR) $(OJT)\WINNT\bosctlsvc
376 ! IF (!EXIST($(OJT)\WINNT\client_config))
377 $(MKDIR) $(OJT)\WINNT\client_config
379 ! IF (!EXIST($(OJT)\WINNT\client_config\lang))
380 $(MKDIR) $(OJT)\WINNT\client_config\lang
382 ! IF (!EXIST($(OJT)\WINNT\client_cpa))
383 $(MKDIR) $(OJT)\WINNT\client_cpa
385 ! IF (!EXIST($(OJT)\WINNT\client_cpa\lang))
386 $(MKDIR) $(OJT)\WINNT\client_cpa\lang
388 ! IF (!EXIST($(OJT)\WINNT\client_creds))
389 $(MKDIR) $(OJT)\WINNT\client_creds
391 ! IF (!EXIST($(OJT)\WINNT\client_creds\lang))
392 $(MKDIR) $(OJT)\WINNT\client_creds\lang
394 ! IF (!EXIST($(OJT)\WINNT\client_exp))
395 $(MKDIR) $(OJT)\WINNT\client_exp
397 ! IF (!EXIST($(OJT)\WINNT\client_exp\lang))
398 $(MKDIR) $(OJT)\WINNT\client_exp\lang
400 ! IF (!EXIST($(OJT)\WINNT\client_osi))
401 $(MKDIR) $(OJT)\WINNT\client_osi
403 ! IF (!EXIST($(OJT)\WINNT\eventlog))
404 $(MKDIR) $(OJT)\WINNT\eventlog
406 ! IF (!EXIST($(OJT)\WINNT\eventlog\lang))
407 $(MKDIR) $(OJT)\WINNT\eventlog\lang
409 ! IF (!EXIST($(OJT)\WINNT\eventlog\test))
410 $(MKDIR) $(OJT)\WINNT\eventlog\test
412 ! IF (!EXIST($(OJT)\WINNT\install))
413 $(MKDIR) $(OJT)\WINNT\install
415 ! IF (!EXIST($(OJT)\WINNT\install\InstallShield5))
416 $(MKDIR) $(OJT)\WINNT\install\InstallShield5
418 ! IF (!EXIST($(OJT)\WINNT\install\loopback))
419 $(MKDIR) $(OJT)\WINNT\install\loopback
421 ! IF (!EXIST($(OJT)\WINNT\install\NSIS))
422 $(MKDIR) $(OJT)\WINNT\install\NSIS
424 ! IF (!EXIST($(OJT)\WINNT\install\wix))
425 $(MKDIR) $(OJT)\WINNT\install\wix
427 ! IF (!EXIST($(OJT)\WINNT\install\wix\custom))
428 $(MKDIR) $(OJT)\WINNT\install\wix\custom
430 ! IF (!EXIST($(OJT)\WINNT\install\wix\uninstall))
431 $(MKDIR) $(OJT)\WINNT\install\wix\uninstall
433 ! IF (!EXIST($(OJT)\WINNT\install\Win9x))
434 $(MKDIR) $(OJT)\WINNT\install\Win9x
436 ! IF (!EXIST($(OJT)\WINNT\license))
437 $(MKDIR) $(OJT)\WINNT\license
439 ! IF (!EXIST($(OJT)\WINNT\license\lang))
440 $(MKDIR) $(OJT)\WINNT\license\lang
442 ! IF (!EXIST($(OJT)\WINNT\netidmgr_plugin))
443 $(MKDIR) $(OJT)\WINNT\netidmgr_plugin
445 ! IF (!EXIST($(OJT)\WINNT\pthread))
446 $(MKDIR) $(OJT)\WINNT\pthread
448 ! IF (!EXIST($(OJT)\WINNT\pthread\test))
449 $(MKDIR) $(OJT)\WINNT\pthread\test
451 ! IF (!EXIST($(OJT)\WINNT\talocale))
452 $(MKDIR) $(OJT)\WINNT\talocale
454 ! IF (!EXIST($(OJT)\WINNT\talocale_unicode))
455 $(MKDIR) $(OJT)\WINNT\talocale_unicode
457 ! IF (!EXIST($(OJT)\WINNT\win9xpanel))
458 $(MKDIR) $(OJT)\WINNT\win9xpanel
460 ! IF (!EXIST($(DESTDIR)))
463 ! IF (!EXIST($(DESTDIR)\include))
464 $(MKDIR) $(DESTDIR)\include
466 ! IF (!EXIST($(DESTDIR)\include\afs))
467 $(MKDIR) $(DESTDIR)\include\afs
469 ! IF (!EXIST($(DESTDIR)\include\hcrypto))
470 $(MKDIR) $(DESTDIR)\include\hcrypto
472 ! IF (!EXIST($(DESTDIR)\include\opr))
473 $(MKDIR) $(DESTDIR)\include\opr
475 ! IF (!EXIST($(DESTDIR)\include\rx))
476 $(MKDIR) $(DESTDIR)\include\rx
478 ! IF (!EXIST($(DESTDIR)\include\WINNT))
479 $(MKDIR) $(DESTDIR)\include\WINNT
481 ! IF (!EXIST($(DESTDIR)\lib))
482 $(MKDIR) $(DESTDIR)\lib
484 ! IF (!EXIST($(DESTDIR)\lib\afs))
485 $(MKDIR) $(DESTDIR)\lib\afs
487 ! IF (!EXIST($(DESTDIR)\lib\win95))
488 $(MKDIR) $(DESTDIR)\lib\win95
490 ! IF (!EXIST($(DESTDIR)\bin))
491 $(MKDIR) $(DESTDIR)\bin
493 ! IF (!EXIST($(DESTDIR)\etc))
494 $(MKDIR) $(DESTDIR)\etc
496 ! IF (!EXIST($(DESTDIR)\WinInstall))
497 $(MKDIR) $(DESTDIR)\WinInstall
499 ! IF (!EXIST($(DESTDIR)\WinInstall\Config))
500 $(MKDIR) $(DESTDIR)\WinInstall\Config
502 ! IF (!EXIST($(DESTDIR)\WinInstall\Dll))
503 $(MKDIR) $(DESTDIR)\WinInstall\Dll
505 ! IF (!EXIST($(DESTDIR)\root.server))
506 $(MKDIR) $(DESTDIR)\root.server
508 ! IF (!EXIST($(DESTDIR)\root.server\usr))
509 $(MKDIR) $(DESTDIR)\root.server\usr
511 ! IF (!EXIST($(DESTDIR)\root.server\usr\afs))
512 $(MKDIR) $(DESTDIR)\root.server\usr\afs
514 ! IF (!EXIST($(DESTDIR)\root.server\usr\afs\bin))
515 $(MKDIR) $(DESTDIR)\root.server\usr\afs\bin
517 ! IF (!EXIST($(DESTDIR)\root.client))
518 $(MKDIR) $(DESTDIR)\root.client
520 ! IF (!EXIST($(DESTDIR)\root.client\usr))
521 $(MKDIR) $(DESTDIR)\root.client\usr
523 ! IF (!EXIST($(DESTDIR)\root.client\usr\vice))
524 $(MKDIR) $(DESTDIR)\root.client\usr\vice
526 ! IF (!EXIST($(DESTDIR)\root.client\usr\vice\etc))
527 $(MKDIR) $(DESTDIR)\root.client\usr\vice\etc
529 $(COPY) AFSCONFIG-WINDOWS.H $(DESTDIR)\include\afs\afsconfig.h
532 $(DESTDIR)\bin\NTBUILD.bat
534 $(DESTDIR)\bin\NTBUILD.bat:..\NTBUILD.bat
538 $(DESTDIR)\bin\NTLang.bat: NTLang.bat $(DESTDIR)\bin\util_cr.exe
539 $(COPY) NTLang.bat $(DESTDIR)\bin
540 $(UTIL_CR) + $(DESTDIR)\bin\NTLang.bat
542 $(DESTDIR)\NTDllmap.txt:NTDllmap.txt
545 # Create link to docs needed for media build; allow to fail in case
546 # symlink not available, e.g. if using a 3.4a client, since most builds
547 # aren't media builds.
549 ! IF (EXIST($(DESTDIR)\doc))
550 - symlink rm $(DESTDIR)\doc
552 - symlink make $(DESTDIR)\doc doc-pathname
555 version: $(DESTDIR)\bin\mkvers.exe NTMakefile.version
557 NTMakefile.version: NTMakefile.version-CML NTMakefile.version-NOCML
558 $(DEL) NTMakefile.version
559 ! IF (EXIST(..\..\src\CML\state) || EXIST(..\..\..\src\CML\state))
560 $(COPY) NTMakefile.version-CML NTMakefile.version
562 $(COPY) NTMakefile.version-NOCML NTMakefile.version
566 $(DESTDIR)\bin\mkvers.exe \
567 $(DESTDIR)\bin\util_cr.exe \
568 $(DESTDIR)\bin\touch.exe
570 $(INCTOOLS):$(OUT)\$$(@F)
571 $(COPY) $** $(DESTDIR)\bin\.
572 !IF ("$(AFSVER_CL)"=="1400")
573 $(COPY) $**.manifest $(DESTDIR)\bin\.
576 $(OUT)\mkvers.exe : $(OUT)\mkvers.obj
578 $(_VC_MANIFEST_EMBED_EXE)
582 $(OUT)\touch.exe : $(OUT)\touch.obj
584 $(_VC_MANIFEST_EMBED_EXE)
588 $(OUT)\util_cr.exe : $(OUT)\util_cr.obj
590 $(_VC_MANIFEST_EMBED_EXE)
594 langsetup: $(DESTDIR)\bin\NTLang.bat
596 install: idirs $(INCFILES) $(INCTOOLS) $(INCCOPY) version $(DESTDIR)\NTDllmap.txt langsetup
598 # This clean target must be named something different than the universal
599 # 'clean' so that the version and NTLang.bat files can be removed last.
601 -$(DEL) NTMakefile.version
602 -$(DEL) $(DESTDIR)\bin\NTLang.bat
606 -$(DEL) $(DESTDIR)\LIB\*.DLL
607 -$(DEL) $(DESTDIR)\bin\mkver.exe*
608 -$(DEL) $(DESTDIR)\bin\touch.exe*
609 -$(DEL) $(DESTDIR)\bin\util_cr.exe*
610 -$(DEL) $(OUT)\util_cr.exe*
611 -$(DEL) $(OUT)\mkver.exe*
612 -$(DEL) $(OUT)\touch.exe*