1-- $LastChangedDate: 2010-05-25 21:26:05 -0400 (Tue, 25 May 2010) $
2-- LEGAL: COPYRIGHT (C) 2010 JIM E. BROOKS WWW.PALOMINO3D.ORG
3-- Does "make realclean".
4-- THIS IS NOT PERFECT.
5-- DOS shell provides no delete-with-wildcard
6-- so some *.dir subdirs will remain.
7
8if ( (not os.getenv("windir")) and (not os.getenv("ProgramFiles")) ) then
9    print( "clean.lua is for Windows and imperfect.  Use clean.sh on UNIX." )
10    os.exit(1)
11end
12
13function DelFile( file )
14    os.execute( "del /q " .. file )
15end
16
17function DelDir( dir )
18    os.execute( "rmdir /s /q " .. dir )
19end
20
21function CleanDir( dir, dir2 )
22    local slash = "\\"
23    if not dir2 then
24        dir2 = ""
25        slash = ""
26    end
27    DelFile( dir .. slash .. dir2 .. "\\*Cache*" )
28    DelFile( dir .. slash .. dir2 .. "\\CMakeFiles" )
29    DelFile( dir .. slash .. dir2 .. "\\*vcproj*" )
30    DelFile( dir .. slash .. dir2 .. "\\*.sln" )
31    DelFile( dir .. slash .. dir2 .. "\\cmake_install.cmake" )
32    DelFile( dir .. slash .. dir2 .. "\\*.ncb" )
33    DelFile( dir .. slash .. dir2 .. "\\Makefile" )
34    DelDir(  dir .. slash .. dir2 .. "\\CMakeFiles" )
35    DelDir(  dir .. slash .. dir2 .. "\\bin" )
36    DelDir(  dir .. slash .. dir2 .. "\\lib" )
37    DelDir(  dir .. slash .. dir2 .. "\\ALL_BUILD.DIR" )
38    DelDir(  dir .. slash .. dir2 .. "\\DIR ZERO_CHECK.DIR" )
39    -- Delete base/base.dir
40    -- However some *.dir directories will remain.
41    if dir2 ~= "" then
42        DelDir(  dir .. slash .. dir2 .. slash .. dir2 .. ".dir" )
43    end
44end
45
46-- Update clean.sh also.
47
48CleanDir( "." )
49CleanDir( "build", "base" )
50CleanDir( "build", "collision" )
51CleanDir( "build", "control" )
52CleanDir( "build", "fx" )
53CleanDir( "build", "game" )
54CleanDir( "build", "gfx" )
55CleanDir( "build", "glue" )
56CleanDir( "build", "graph" )
57CleanDir( "build", "gui" )
58CleanDir( "build", "hud" )
59CleanDir( "build", "init" )
60CleanDir( "build", "input" )
61CleanDir( "build", "lua_bind" )
62CleanDir( "build", "lua_lang" )
63CleanDir( "build", "math" )
64CleanDir( "build", "object" )
65CleanDir( "build", "physics" )
66CleanDir( "build", "program" )
67CleanDir( "build", "shader" )
68CleanDir( "build", "sky" )
69CleanDir( "build", "sound" )
70CleanDir( "build", "threads" )
71CleanDir( "build", "view" )
72CleanDir( "build", "world" )
73
74-- Update clean.sh also.
75