Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: binary MIME-Version: 1.0 X-Mailer: MIME-tools 5.420 (Entity 5.420) RT-Send-CC: X-RT-Original-Encoding: iso-8859-1 Content-Length: 355 This code fixes the problem: mkdirs:: !if !exist($(OBJ)) echo > a.tmp # xcopy will build any missing directory structure: echo F | xcopy a.tmp $(OBJ)\a.tmp del a.tmp del $(OBJ)\a.tmp !endif But all the uses of mkdirs pass arguments that are ignored. Should mkdirs process its input arguments or should they be removed from the callers?