0
我試圖運行我的makefile正常運行,但由於某些原因,使甚至不能夠運行一個簡單的「CLS」,我得到的是:Makefile文件無法在Windows
使all_w
process_begin:CreateProcess(NULL,cls,...)失敗。 (e = 2):El sistema no puede encontrar el archivo especificado。 化妝:* [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變量。
有什麼想法?
'cls'是一個內置的命令,而不是可執行文件。 'cmd/c cls'可能工作。 – 2014-09-25 01:23:51
如果您不使用Cygwin,則此鏈接可能會對您有所幫助: http://stackoverflow.com/questions/2463037/calling-windows-commands-eg-del-from-a-gnu-makefile – pez 2014-09-25 01:23:54
在Windows上使用make可以是一個真正的痛苦。由於你似乎沒有使用某些特定的Windows東西,我建議切換,並使用一些「嚴重」(玩笑)操作系統。事情會突然變得更容易。如果不能,請將一些發行版安裝到虛擬機中。 – kebs 2014-09-25 16:10:39