#!/usr/bin/perl
use strict;
die "usage: $0 directory ...\n" unless @ARGV;
foreach my $dir (@ARGV)
{
my (@subdirs) = split /[\/\\]/, $dir;
my $dir_to_create = '';
foreach my $subdir (@subdirs)
{
if ($dir_to_create eq '')
{
$dir_to_create = '/' if $subdir eq '';
}
else
{
$dir_to_create .= '/' if $dir_to_create !~ /\/$/;
}
$dir_to_create .= $subdir;
next if -d $dir_to_create;
#print "making directory: $dir_to_create\n";
# Don't die on file exists, in case make -j was used and another parallel
# invocation created the directory before we could get to it.
unless (mkdir $dir_to_create)
{
die "Could not create directory $dir_to_create: $!\n"
if $! ne 'File exists';
}
}
}