Ticket #189: opensg_1.8_scons_doc_all.diff
| File opensg_1.8_scons_doc_all.diff, 20.9 kB (added by shaegler, 1 year ago) |
|---|
-
SConstruct
old new 43 43 Export('Glob') 44 44 45 45 PLATFORM = DefaultEnvironment().get('PLATFORM') 46 46 47 47 class unzip: 48 48 def __init__(self, verbose = False, percent = 10): 49 49 self.verbose = verbose 50 50 self.percent = percent 51 51 52 52 def extract(self, file, dir): 53 53 if not dir.endswith(':') and not os.path.exists(dir): 54 54 os.mkdir(dir) 55 55 56 56 zf = zipfile.ZipFile(file) 57 57 58 58 # create directory structure to house files 59 59 self._createstructure(file, dir) … … 235 235 if not os.path.isdir(path): 236 236 os.makedirs(path) 237 237 238 238 filename = os.path.join(path, 'unistd.h') 239 239 if not os.path.exists(filename): 240 240 unistd_h = open(filename, 'w') 241 241 unistd_h.close() 242 242 MyInstall(os.path.join(build_dir, 'installed', 'include', 'OpenSG', 'unistd.h'), filename) 243 243 244 244 if tc.get_name() == 'win32-icl': 245 245 filename = os.path.join(path, 'xtree') 246 246 if not os.path.exists(filename): 247 247 shutil.copy2(os.path.join(build_dir, '..', '..', 'VSBuild', 'VS6', 'xtree'), filename) 248 248 MyInstall(os.path.join(build_dir, 'installed', 'include', 'OpenSG', 'xtree'), filename) 249 249 250 250 def CreateConfiguredHeader(env): 251 251 … … 256 256 is_linux = 0 257 257 258 258 if sys.platform == 'win32': 259 259 is_win32 = 1 260 260 elif sys.platform == 'linux2': 261 261 is_linux = 1 262 262 263 263 filename = os.path.join(path, 'OSGConfigured.h') 264 264 265 265 if not os.path.exists(filename): 266 266 267 267 # Create directories if not existent. 268 268 if not os.path.isdir(path): 269 269 os.makedirs(path) 270 270 271 271 configured_h = open(filename, 'w') 272 272 273 273 configured_h.write(""" 274 274 /*---------------------------------------------------------------------------*\ 275 275 * OpenSG * 276 276 * * 277 277 * * 278 278 * Copyright 2000,2001 by OpenSG Forum * 279 279 * * 280 280 * contact: reiners@igd.fhg.de, gerrit.voss@vossg.org, jbehr@zgdv.de * … … 316 316 #define OSG_DEFAULT_LOG_LEVEL LOG_WARNING 317 317 #define OSG_DEFAULT_LOG_TYPE LOG_STDERR 318 318 319 319 #ifndef OSG_DEFAULT_LOG_LEVEL 320 320 # define OSG_DEFAULT_LOG_LEVEL LOG_WARNING 321 321 #endif 322 322 323 323 #ifndef OSG_DEFAULT_LOG_TYPE 324 # define OSG_DEFAULT_LOG_TYPE LOG_STDERR 324 # define OSG_DEFAULT_LOG_TYPE LOG_STDERR 325 325 #endif 326 326 327 327 /* #undef OSG_DISABLE_DEPRECATED */ 328 328 329 329 #if defined(OSG_DEBUG) 330 330 /* #undef OSG_DEBUG_FCPTR */ 331 331 /* #undef OSG_DEBUG_NO_FCPTR_ARITHM */ 332 332 #endif … … 412 412 413 413 def __call__(self, env): 414 414 if env.get('OSG_LIBDIR'): 415 415 libdir = env['PREFIX'].Dir('lib').Dir(env['OSG_LIBDIR']) 416 416 else: 417 417 libdir = env['PREFIX'].Dir('lib') 418 418 419 419 env.AppendUnique(LIBPATH = [Dir(libdir)]) 420 420 421 421 for lib in self.libraries: 422 422 # filter out OSGWindowX lib on win32 platform. 423 423 if lib != 'OSGWindowX' or env['PLATFORM'] != 'win32': 424 424 env.AppendUnique(LIBS = [lib + '$OSG_LIBSUF']) 425 425 426 426 427 427 Export('BuildProgram OpenSGLibrary') 428 428 … … 460 460 opts.Add(PackageOption('qt', 'Enable qt3 support', 'no')) 461 461 opts.Add(PackageOption('qt4', 'Enable qt4 support', 'no')) 462 462 463 463 opts.Add(PackageOption('cg', 'Enable cg support', 'no')) 464 464 465 465 opts.Add(BoolOption('gif', 'Enable gif support', 1)) 466 466 467 467 self.package_options = ['tif', 'jpg', 'png', 'jasper', 'exr', 'glut', 'zlib'] 468 468 469 469 if self.de.get('PLATFORM') == 'cygwin': 470 470 print "Not supported yet!" 471 471 elif self.de.get('PLATFORM') == 'win32': 472 472 opts.Add(EnumOption('compiler', 'Use compiler', 'icl', 473 473 allowed_values=('gcc', 'icl', 'msvc70', 'msvc71', 'msvc80', 'msvc80x64', 'mspsdkx64'))) 474 474 475 475 # try to find the supportlibs directory. 476 476 current_dir = Dir('.').abspath 477 477 supportlibs = 'no' 478 478 if os.path.exists(os.path.join(current_dir , '..', 'supportlibs', 'include', 'png.h')): 479 479 supportlibs = 'yes' 480 480 else: 481 481 # unzip supportlibs 482 482 print 'unzipping win32 supportlibs ...' … … 487 487 supportlibs = 'yes' 488 488 489 489 for option in self.package_options: 490 490 opts.Add(PackageOption(option, 'Enable ' + option + ' support', supportlibs)) 491 491 else: 492 492 if sys.platform == 'linux2': 493 493 opts.Add(EnumOption('compiler', 'Use compiler', 'gcc', 494 494 allowed_values=('gcc'))) 495 495 496 496 for option in self.package_options: 497 497 enable = 'yes' 498 498 # on linux as default we disable jasper and exr support. 499 499 if option == 'jasper' or option == 'exr': 500 500 enable = 'no' 501 501 opts.Add(PackageOption(option, 'Enable ' + option + ' support', enable)) 502 502 503 503 # add common options … … 518 518 519 519 opts.Add(PackageOption('contrib_performer_loader', 'Enable contrib performer loader', 'no')) 520 520 opts.Add(PackageOption('contrib_cal3d', 'enable Cal3D character animation library wrapper core', 'no')) 521 521 opts.Add(PackageOption('contrib_physics', 'enable ODE library wrapper', 'no')) 522 522 523 523 #tests 524 524 opts.Add(BoolOption('tests', 'compile test programs', 0)) 525 525 526 # documentation 527 opts.Add(BoolOption('userdocs', 'generate user documentation', 0)) 528 526 529 opts.Update(self.de) 527 530 528 531 def getOption(self, opt): 529 532 return self.de.get(opt) 530 533 531 534 def getPackageOptions(self): 532 535 return self.package_options 533 536 534 537 def buildDbgOpt(self): 535 538 return (self.getOption('type') == 'dbgopt') 536 539 537 540 def buildDbg(self): 538 541 return (self.getOption('type') == 'dbg' or self.getOption('type') == 'both') 539 542 540 543 def buildOpt(self): 541 544 return (self.getOption('type') == 'opt' or self.getOption('type') == 'both') 542 545 543 546 def getPlatform(self): 544 547 return self.de.get('PLATFORM') 545 548 546 549 def moveGVBetaFile(base, file): 547 550 src = os.path.join(base, file) … … 619 622 unmoveGVBetaFile(os.path.join(current_dir, 'Source', 'System', 'FileIO', 'WRL'), 620 623 'OSGVRMLSceneFileType.cpp') 621 624 622 625 623 626 class ToolChain: 624 627 def __init__(self, name, **kw): 625 628 self.name = name 626 629 self.env = apply(CreateEnvironment, [], kw) 627 630 628 631 # add all package include and lib paths 629 632 # ok need to move this in the SConscript files ... 630 633 # only OSGSystem need the image libs. 631 634 # only OSGWindowGLUT need the glut lib. 632 635 for option in _po.getPackageOptions(): 633 636 if isinstance(_po.getOption(option), str): 634 637 self.env.Append(CPPPATH = [os.path.join(_po.getOption(option), 'include')]) 635 638 # HACK but the OpenEXR headers are broken. … … 1080 1083 # add msvc80 platform sdk include and lib paths 1081 1084 import SCons.Tool.msvc 1082 1085 include_path, lib_path, exe_path = SCons.Tool.msvc._get_mspsdk_x64_default_paths("8.0") 1083 1086 1084 1087 # HACK 1085 1088 #include_path = ['C:/Program Files/Microsoft Platform SDK/Include', 1086 1089 # 'C:/Program Files/Microsoft Platform SDK/Include/crt', 1087 1090 # 'C:/Program Files/Microsoft Platform SDK/Include/crt/sys', 1088 # 'C:/Program Files/Microsoft Platform SDK/Include/mfc', 1091 # 'C:/Program Files/Microsoft Platform SDK/Include/mfc', 1089 1092 # 'C:/Program Files/Microsoft Platform SDK/Include/atl'] 1090 1093 #lib_path = ['C:/Program Files/Microsoft Platform SDK/Lib/AMD64', 1091 1094 # 'C:/Program Files/Microsoft Platform SDK/Lib/AMD64/atlmfc'] 1092 1095 #exe_path = ['C:/Program Files/Microsoft Platform SDK/Bin/Win64/x86/AMD64', 1093 1096 # 'C:/Program Files/Microsoft Platform SDK/Bin', 1094 1097 # 'C:/Program Files/Microsoft Platform SDK/Bin/WinNT', 1095 1098 # 'C:/WINDOWS/system32', 'C:/WINDOWS', 'C:/WINDOWS/System32/Wbem'] 1096 1099 … … 1127 1130 slibs.append('libpng') 1128 1131 slibs.append('libz') 1129 1132 if _po.getOption('jasper'): 1130 1133 slibs.append('jasper') 1131 1134 if _po.getOption('exr'): 1132 1135 slibs.append('IlmImf') 1133 1136 1134 1137 env = env.Copy() 1135 1138 1136 1139 env.Append(CXXFLAGS=['-ansi', '-use_readonly_const', 1137 1140 '-ftemplate-depth-100', '-fPIC'], 1138 1141 CPPDEFINES=['_GNU_SOURCE', '_OSG_HAVE_CONFIGURED_H_'], 1139 1142 LINKFLAGS = ['-Wl,-s']) 1140 1143 1141 1144 # get gcc version 1142 1145 #import commands 1143 1146 #dummy, gccversionstr = commands.getstatusoutput('gcc -dumpversion') … … 1223 1226 print "createOSGConfig" 1224 1227 print 'defines: ', env['CPPDEFINES'] 1225 1228 print 'cflags: ', env['CXXFLAGS'] 1226 1229 print 'lflags: ', env['LINKFLAGS'] 1227 1230 #print 'libs: ', env['LIBPATH'] 1228 1231 #print 'llibs: ', env['LIBS'] 1229 1232 #print 'base libs: ', env['OSG_BASE_LIBS'] 1230 1233 #print 'system libs: ', env['OSG_SYSTEM_LIBS'] 1231 1234 1232 1235 #print 'glut libs: ', env['OSG_WINDOW_GLUT_LIBS'] 1233 1236 #print 'windowx libs: ', env['OSG_WINDOW_X_LIBS'] 1234 1237 #print 'win32 libs: ', env['OSG_WINDOW_WIN32_LIBS'] 1235 1238 #print 'qt libs: ', env['OSG_WINDOW_QT_LIBS'] 1236 1239 #print 'qt4 libs: ', env['OSG_WINDOW_QT4_LIBS'] 1237 1240 #print 'contrib libs: ', env['OSG_CONTRIB_LIBS'] 1238 1241 1239 1242 # Process options. … … 1274 1277 1275 1278 #env.Command('osg-config', 'osg-config.in', createOSGConfig) 1276 1279 1277 1280 BuildDir(env['BUILD_DIR'], '.', duplicate=0) 1278 1281 1279 1282 Export('env') 1280 1283 SConscript(dirs=map( 1281 1284 lambda n: env['BUILD_DIR'].Dir(n), 1282 ['Source', 'Examples', 'Tools', 'Tutorials' ]))1285 ['Source', 'Examples', 'Tools', 'Tutorials', 'Doc'])) 1283 1286 -
/dev/null
old new 1 # 2 # patch for building documentation (for gentoo linux ebuild) 3 # 4 5 import os 6 import SCons.Node.FS 7 from os.path import basename, join 8 from SCons.Util import splitext 9 import subprocess 10 import pprint 11 12 Import('*') 13 14 pp = pprint.PrettyPrinter(indent=4) 15 pp.pprint(env) 16 17 18 if _po.getOption('userdocs'): 19 20 # set params for user docs 21 env['DOC_LEVEL'] = '1' 22 env['DOC_LEVEL_NAME'] = 'user' 23 env['DOC_LEVEL_PREDEF'] = '' 24 env['DOC_LEVEL_ENABLED'] = '' 25 env['OSG_USE_DOC_LEVEL'] = '' 26 env['DOC_LATEX'] = "NO" 27 env['DOC_DOT'] = "NO" 28 29 # get build env to select correct doxygen configuration file 30 BUILD_ENV = 'x86_64-unknown-linux-gnu' # TODO: create the correct filename 31 32 # setup doxygen environment variables 33 DOCBASEDIR = '.' 34 DOCCODEDIR = 'Code' 35 env['DOCDIR'] = os.path.join(DOCBASEDIR, DOCCODEDIR, env['DOC_LEVEL_NAME']) 36 37 env['DOC_PROJECT_NAME'] = 'OpenSG' 38 versionfile = open('../VERSION', 'r') 39 env['DOC_PROJECT_NUMBER'] = versionfile.readline().strip(); 40 versionfile.close() 41 42 DOCS_BASE = [ '../Source/Base/Base', 43 '../Source/Base/Field', 44 '../Source/Base/Functors', 45 '../Source/Base/Network/Base', 46 '../Source/Base/Network/Socket', 47 '../Source/Base/StringConversion' ] 48 49 DOCS_SYS = [ '../Source/System/Action', 50 '../Source/System/Action/DrawAction', 51 '../Source/System/Action/IntersectAction', 52 '../Source/System/Action/RenderAction', 53 '../Source/System/Cluster/Base', 54 '../Source/System/Cluster/Server', 55 '../Source/System/Cluster/Window', 56 '../Source/System/Cluster/Window/Base', 57 '../Source/System/Cluster/Window/MultiDisplay', 58 '../Source/System/Cluster/Window/SortFirst', 59 '../Source/System/FieldContainer', 60 '../Source/System/FieldContainer/Impl', 61 '../Source/System/FileIO', 62 '../Source/System/FileIO/Base', 63 '../Source/System/FileIO/BIN', 64 '../Source/System/FileIO/OBJ', 65 '../Source/System/FileIO/OFF', 66 '../Source/System/FileIO/OSG', 67 '../Source/System/FileIO/RAW', 68 '../Source/System/FileIO/WRL', 69 '../Source/System/FileIO/ScanParseSkel', 70 '../Source/System/GraphOp', 71 '../Source/System/Image', 72 '../Source/System/Material', 73 '../Source/System/NodeCores/Drawables/Base', 74 '../Source/System/NodeCores/Drawables/Geometry', 75 '../Source/System/NodeCores/Drawables/Misc', 76 '../Source/System/NodeCores/Drawables/Particles', 77 '../Source/System/NodeCores/Drawables/VolRen', 78 '../Source/System/NodeCores/Drawables/Nurbs', 79 '../Source/System/NodeCores/Groups/Base', 80 '../Source/System/NodeCores/Groups/Light', 81 '../Source/System/NodeCores/Groups/Misc', 82 '../Source/System/RenderingBackend', 83 '../Source/System/State', 84 '../Source/System/Statistics', 85 '../Source/System/Text', 86 '../Source/System/Window' ] 87 88 DOCS_EXP = [ '../Source/Experimental/NewAction', 89 '../Source/Experimental/SHL' ] 90 91 DOCS_X = ['../Source/WindowSystem/X'] 92 DOCS_W32 = ['../Source/WindowSystem/WIN32'] 93 DOCS_GLUT = ['../Source/WindowSystem/GLUT'] 94 DOCS_QT = ['../Source/WindowSystem/QT'] 95 96 # defines for starter guide generation 97 DOC_INTRO = [os.path.join('tutorial', 'main.dox')] 98 99 # The separate documentation pages 100 DOC_TUTORIAL_PAGES = [ 101 'tutorial/main.dox', 102 'tutorial/introduction.dox', 103 'tutorial/firstapp.dox', 104 'tutorial/basics.dox', 105 'tutorial/nodecores.dox', 106 'tutorial/geometry.dox', 107 'tutorial/light.dox', 108 'tutorial/windows.dox', 109 'tutorial/traversal.dox', 110 'tutorial/multithreading.dox', 111 'tutorial/clustering.dox', 112 'tutorial/modelling.dox', 113 'tutorial/newaction.dox', 114 'tutorial/text.dox', 115 'tutorial/solutions.dox', 116 'tutorial/qt.dox', 117 'tutorial/doxypages.dox', 118 'Code/acknowledgements.dox', 119 'Code/faq.dox' ] 120 121 DOC_OLD_PAGES = ['Code/mainpage.dox'] + DOC_INTRO + [ 122 'Code/scenegraph.dox', 123 '../Source/Base/Base/Base.dox', 124 '../Source/System/System.dox', 125 '../Source/Base/Field/Field.dox', 126 '../Source/Base/Functors/Functors.dox', 127 '../Source/Base/Network/Socket.dox', 128 '../Source/Base/Network/Connection.dox', 129 '../Source/Base/StringConversion/StringConversion.dox', 130 '../Source/System/FieldContainer/FieldContainer.dox', 131 '../Source/System/Image/Image.dox', 132 '../Source/System/NodeCores/NodeCores.dox', 133 '../Source/System/NodeCores/Groups/Groups.dox', 134 '../Source/System/NodeCores/Groups/Base/GroupsBase.dox', 135 '../Source/System/NodeCores/Groups/Light/GroupsLight.dox', 136 '../Source/System/NodeCores/Groups/Misc/GroupsMisc.dox', 137 '../Source/System/NodeCores/Drawables/Drawables.dox', 138 '../Source/System/NodeCores/Drawables/Base/DrawablesBase.dox', 139 '../Source/System/NodeCores/Drawables/Geometry/DrawablesGeometry.dox', 140 '../Source/System/NodeCores/Drawables/Misc/DrawablesMisc.dox', 141 '../Source/System/NodeCores/Drawables/Particles/DrawablesParticles.dox', 142 '../Source/System/State/State.dox', 143 '../Source/System/Material/Material.dox', 144 '../Source/System/Action/Action.dox', 145 '../Source/System/Window/Window.dox', 146 '../Source/System/Window/OGLExt.dox', 147 '../Source/WindowSystem/WindowSystem.dox', 148 '../Source/WindowSystem/GLUT/WindowGlut.dox', 149 '../Source/WindowSystem/QT/WindowQt.dox', 150 '../Source/WindowSystem/X/WindowX.dox', 151 '../Source/WindowSystem/WIN32/WindowWin32.dox', 152 '../Source/System/FileIO/FileIO.dox', 153 '../Source/System/System.dox', 154 '../Source/System/Cluster/Cluster.dox', 155 '../Source/System/RenderingBackend/RenderingBackend.dox', 156 '../Source/System/Statistics/Statistics.dox' ] 157 158 DOC_PAGES = ['../Common/dummyClasses.dox'] + DOC_TUTORIAL_PAGES + DOC_OLD_PAGES 159 160 DOC_LIBS = DOCS_BASE + DOCS_SYS + DOCS_EXP + DOCS_X + DOCS_W32 + DOCS_GLUT \ 161 + DOCS_QT + DOC_PAGES 162 163 env['DOC_IMAGE_PATHES'] = './Images' 164 165 # find all headers and create dummy classes 166 os.system('rm -f ../Common/dummyClasses.list') 167 os.system('rm -f ../Common/dummyClasses.dox') 168 os.system('touch ../Common/dummyClasses.list') 169 os.system('for i in ' + " ".join(DOC_LIBS) + ' ; do \ 170 find $i -name ''*.h'' -print >> ../Common/dummyClasses.list; \ 171 done') 172 os.system('cat ../Common/dummyClasses.list | xargs perl \ 173 ../Common/makeDummyClasses > ../Common/dummyClasses.dox') 174 os.system('rm -f ../Common/dummyClasses.list') 175 176 # All the files that are merged to generate the whole documentation 177 DOC_FILES = DOC_LIBS + DOC_PAGES 178 env['DOC_FILES'] = " ".join(DOC_FILES) 179 180 DOC_ENV = 'DOC_PROJECT_NAME="' + env['DOC_PROJECT_NAME'] \ 181 + '" DOCDIR="' + env['DOCDIR'] \ 182 + '" DOC_PROJECT_NUMBER=' + env['DOC_PROJECT_NUMBER'] \ 183 + ' DOC_FILES="' + env['DOC_FILES'] \ 184 + '" DOC_LATEX="' + env['DOC_LATEX'] \ 185 + '" DOC_DOT="' + env['DOC_DOT'] \ 186 + '" OSG_USE_DOC_LEVEL="' + env['DOC_LEVEL'] \ 187 + '" DOC_LEVEL_PREDEF="' + env['DOC_LEVEL_PREDEF'] \ 188 + '" DOC_LEVEL_ENABLED="' + env['DOC_LEVEL_ENABLED'] \ 189 + '" DOC_IMAGE_PATHES="' + env['DOC_IMAGE_PATHES'] + '"' 190 191 192 # find all used images and convert them (if necessary) 193 #DOC_IMAGE_TYPE = 'html' 194 #os.system('rm -f imagelist') 195 #os.system('for i in ' + " ".join(DOC_PAGES) + ' ; do \ 196 #fgrep "\image ' + DOC_IMAGE_TYPE + '" $i | cut -d'' '' -f3-3 | \ 197 #sed -e ''s|^|Images/|'' >> imagelist; \ 198 #done') 199 200 #for line in open('imagelist','r').readlines(): 201 #ext = line[-3:] # DOES NOT WORK FOR PS FILES... 202 #basename = line[:-4] 203 #if (ext == 'gif'): 204 #os.system('convert -compress none ' + line + ' PS:' + basename + '.eps') 205 #if (ext == 'tif'): 206 #os.system('convert -compress none ' + line + ' PS:' + basename + '.eps') 207 #if (ext == 'jpg'): 208 #os.system('convert -compress none ' + line + ' PS:' + basename + '.eps') 209 #if (ext == 'fig'): 210 #os.system('fig2dev -L eps ' + line + ' > ' + basename + '.eps') 211 #if (ext == 'gpl'): 212 #os.system('gnuplot ' + line) 213 #if (ext == 'ps'): 214 #os.system('convert -compress none ' + line + ' PS:' + basename + '.eps') 215 216 217 #$(MAKE) `cat imagelist` 218 219 220 #Images/%.eps: Images/%.gif 221 #convert -compress none $< PS:$@ 222 223 #Images/%.eps: Images/%.tif 224 #convert -compress none $< PS:$@ 225 226 #Images/%.eps: Images/%.jpg 227 #convert -compress none $< PS:$@ 228 ## jpeg2ps gives better results, but is not usually available 229 ## jpeg2ps -q $< > $@ 230 231 #Images/%.eps: Images/%.fig 232 #(cd Images && fig2dev -L eps $(notdir $<) $(notdir $@) ) 233 234 #Images/%.eps: Images/%.gpl 235 #gnuplot $< 236 237 #Images/%.eps: Images/%.ps 238 #cp $< $@ 239 #touch $@ 240 241 #Images/%.eps: Images/%.eps.gz 242 #gzip -dc $< > $@ 243 #touch $@ 244 245 #Images/%.eps: Images/%.png 246 #convert -compress none $< PS:$@ 247 248 #Images/%.png: Images/%.fig 249 #(cd Images && fig2dev -L png $(notdir $<) $(notdir $@) ) 250 251 252 #Images/%.png: Images/%.jpg 253 #convert $< $@ 254 255 #Images/%.png: Images/%.tif 256 #convert $< $@ 257 258 #Images/%.png: Images/%.eps.gz 259 #gzip -dc $< | convert - $@ 260 261 #env.Tool('doxygen', toolpath = '.') 262 #env.Doxygen('Code/user/code/tags', '../Common/Doxygen_x86_64-unknown-linux-gnu.cfg') 263 264 # do doxygen 265 cmd = DOC_ENV + ' doxygen ../Common/Doxygen_'+ BUILD_ENV + '.cfg -d' 266 print cmd 267 p = subprocess.Popen(cmd, shell=True) 268 sts = os.waitpid(p.pid, 0) 269 270 #os.system(cmd) 271 272 os.system('rm -f ../Common/dummyClasses.dox') 273
