MCPcopy Create free account
hub / github.com/boostorg/build / mkdir

Function mkdir

v2/tools/common.py:551–586  ·  view source on GitHub ↗
(engine, target)

Source from the content-addressed store, hash-verified

549__re_windows_drive = re.compile(r'^.*:\$')
550
551def mkdir(engine, target):
552 # If dir exists, do not update it. Do this even for $(DOT).
553 bjam.call('NOUPDATE', target)
554
555 global __mkdir_set
556
557 # FIXME: Where is DOT defined?
558 #if $(<) != $(DOT) && ! $($(<)-mkdir):
559 if target != '.' and target not in __mkdir_set:
560 # Cheesy gate to prevent multiple invocations on same dir.
561 __mkdir_set.add(target)
562
563 # Schedule the mkdir build action.
564 if os_name() == 'NT':
565 engine.set_update_action("common.MkDir1-quick-fix-for-windows", target, [])
566 else:
567 engine.set_update_action("common.MkDir1-quick-fix-for-unix", target, [])
568
569 # Prepare a Jam 'dirs' target that can be used to make the build only
570 # construct all the target directories.
571 engine.add_dependency('dirs', target)
572
573 # Recursively create parent directories. $(<:P) = $(<)'s parent & we
574 # recurse until root.
575
576 s = os.path.dirname(target)
577 if os_name() == 'NT':
578 if(__re_windows_drive.match(s)):
579 s = ''
580
581 if s:
582 if s != target:
583 engine.add_dependency(target, s)
584 mkdir(engine, s)
585 else:
586 bjam.call('NOTFILE', s)
587
588__re_version = re.compile(r'^([^.]+)[.]([^.]+)[.]?([^.]*)')
589

Callers 1

file_mkdirFunction · 0.85

Calls 2

os_nameFunction · 0.85
matchMethod · 0.80

Tested by

no test coverage detected