Makefile无法在Windows上正常运行

时间:2014-09-25 01:10:58

标签: windows makefile

我正在尝试运行我的makefile但由于某种原因, make 甚至无法运行简单的“cls”,我得到的只是:

make all_w

process_begin:CreateProcess(NULL,cls,...)失败。 make(e = 2):El sistema no puede encontrar el archivo especificado。 make: * [all_w]错误2

这是我的makefile:

all_l:
    make clean_all_l
    make lexer
    make lexerpiece_l

all_w:  
    cls
    # make clean_all_w
    # make parser
    # make lexer
    # make parserpiece_w

lexerpiece_l:
    gcc lex.yy.c -o lexerpiece_l -lfl -lm
    @echo Done

lexerpiece_w:
    gcc lex.yy.c -o lexerpiece_w -lfl -lm
    @echo Done

parserpiece_w:
    gcc lua_parser.tab.c lex.yy.c -lfl -lm -o parserpiece_w
    @echo Done

clean:  
    $(info Limpiando el Proyecto)
    -del lexerpiece.exe
    -del parserpiece.exe
    @echo Done

clean_all_w:
    $(info Realizando limpieza profunda)
    #cls
    -del lex.yy.c
    #-del lua_parser.tab.c
    #-del lua_parser.tab.h
    #-del lexerpiece_w.exe
    #-del parserpiece_w.exe
    #cls

clean_all_l:
    $(info Realizando limpieza profunda)
    -rm lex.yy.c
    -rm lexerpiece
    clear

#Esto corre FLEX y crea el nuevo lexer
lexer: 
    flex lua_lexer.l
    @echo Lexer creado

#Esto corre BISON y crea el nuevo parser
parser:
    bison -d lua_parser.y
    @echo Parser creado

#Esto correra FLEX sobre un archivo de testing
lexer_test:
    flex test.l
    @echo Lexer de prueba creado

当然,我已经更新了$ PATH变量。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我在尝试使用msys2时遇到了同样的问题。我已修复将这行代码添加到makefile:

SHELL=CMD

GNU make manual

中有关此变量的其他信息