Я рекомендую использовать make
вместо написания собственного скрипта сборки.Простой повторно используемый Makefile написать не так сложно:
CXX = g++.exe
CPPFLAGS ?= -O2 -Wall
# get all files whose extension begins with c and is at least 2 characters long,
# i.e. foo.cc, foo.cpp, foo.cxx, ...
# NOTE: this also includes files like foo.class, etc.
SRC = $(wildcard *.c?*)
# pick the first file from the above list and change the extension to .exe
APP = $(basename $(word 1, $(SRC))).exe
$(APP): $(SRC)
$(CXX) $(CPPFLAGS) -o $@ $<
.PHONY: run
run: $(APP)
@./$(APP)
.PHONY: debug
debug: $(APP)
@gdb $(APP)
.PHONY: clean
clean:
$(RM) $(APP)
make
собирает программу (если требуется).make run
выполняет программу после ее сборки.make debug
запускает программу в gdb
.make clean
удаляет программу.
Вы можете переопределить CPPFLAGS по умолчанию, определив переменную среды:
$env:CPPFLAGS = '-g'
make