NPPEXEC C/C++ Compiler script

NPPEXEC C/C++ Compiler script


IF $(EXT_PART)=.cpp GOTO COMPILE
IF $(EXT_PART)=.c GOTO COMPILE
GOTO EXIT

:COMPILE
cd "$(CURRENT_DIRECTORY)"
NPP_SAVE
NPE_CONSOLE v+
cmd /c if exist "$(NAME_PART).exe"  (if exist "$(NAME_PART).old.exe" (del "$(NAME_PART).old.exe") && move "$(NAME_PART).exe" "$(NAME_PART).old.exe")
"$(NPP_DIRECTORY)\MinGW\bin\mingw32-gcc.exe" -Wall -g -fexec-charset=BIG5 -o "$(NAME_PART).o" -c "$(FILE_NAME)"
IF $(EXITCODE)!=0 GOTO EXIT
"$(NPP_DIRECTORY)\MinGW\bin\mingw32-g++.exe" -o "$(NAME_PART).exe" "$(NAME_PART).o"
cmd /c if exist "$(NAME_PART).o" del "$(NAME_PART).o"

cmd /c if exist "$(NAME_PART).exe" echo y
if $(OUTPUT)=y GOTO RUN
GOTO EXIT

:RUN
cmd /c if exist "$(NAME_PART).in" echo y
if $(OUTPUT)=y GOTO RUNREDIRECT
"$(NAME_PART).exe"
NPP_SENDMSG WM_COMMAND IDM_FILE_NEW
NPP_SENDMSG WM_COMMAND IDM_VIEW_GOTO_ANOTHER_VIEW
IF $(OUTPUT)= GOTO EXIT
SEL_SETTEXT $(OUTPUT)
GOTO EXIT

:RUNREDIRECT
cmd /c "$(NAME_PART).exe" < $(NAME_PART).in > $(NAME_PART).out
NPP_CLOSE "$(NAME_PART).in"
NPP_CLOSE "$(NAME_PART).out"
NPP_OPEN "$(NAME_PART).in"
NPP_SENDMSG WM_COMMAND IDM_VIEW_GOTO_ANOTHER_VIEW
NPP_SENDMSG WM_COMMAND IDM_FILE_RELOAD
NPP_OPEN "$(NAME_PART).out"
NPP_SENDMSG WM_COMMAND IDM_FILE_RELOAD
GOTO EXIT

:EXIT
NPE_CONSOLE v-


Learn More :