VERSION:
========
GNU Make version 3.79, by Richard Stallman and Roland McGrath.
Built for Windows32

PROBLEM:
========
win32 build of make fails to recognize rmdir and rd as valid
commands in the WINNT cmd shell.

RESOLUTION:
===========
add "rmdir" and "rd" to the command list for WINDOWS32 sh_cmds_dos

FILE:  job.c
LINE:  2397-2402
ORIGINAL CODE:
  static char *sh_cmds_dos[] = { "break", "call", "cd", "chcp", "chdir", "cls",
                    "copy", "ctty", "date", "del", "dir", "echo",
                    "erase", "exit", "for", "goto", "if", "if", "md",
                    "mkdir", "path", "pause", "prompt", "rem", "ren",
                    "rename", "set", "shift", "time", "type",
                    "ver", "verify", "vol", ":", 0 };
CORRECTED CODE:
  static char *sh_cmds_dos[] = { "break", "call", "cd", "chcp", "chdir", "cls",
                    "copy", "ctty", "date", "del", "dir", "echo",
                    "erase", "exit", "for", "goto", "if", "if", "md",
                    "mkdir", "path", "pause", "prompt", "rem", "ren",
                    "rename", "set", "shift", "time", "type",
                    "ver", "verify", "vol", "rmdir", "rd", ":", 0 };

TEST MAKEFILE (test2.make):
===========================
THEDIR=bligga\von\bloogga\bleem
initialize:
     -mkdir $(THEDIR)

clean:
     -rmdir /S /Q $(THEDIR)

EXPECTED RESULTS:
=================
>make -f test2.make
mkdir bligga\von\bloogga\bleem

>make -f test2.make clean
rmdir /S /Q bligga\von\bloogga\bleem

ACTUAL RESULTS:
===============
>make -f test2.make
mkdir bligga\von\bloogga\bleem

>make -f test2.make clean
rmdir /S /Q bligga\von\bloogga\bleem
process_begin: CreateProcess((null), rmdir /S /Q bligga\von\bloogga\bleem, ...)
failed.
make (e=2): The system cannot find the file specified.
make: [clean] Error 2 (ignored)


Elod Horvath


Reply via email to