diff -r 000000000000 -r e4f2d6d0e869 Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Makefile Wed Oct 30 02:44:44 2024 +0100 @@ -0,0 +1,28 @@ +CXX ?= g++ +CXXFLAGS ?= -O2 -g3 -ggdb -Wall -Wno-sign-compare +CXXFLAGS += --std=c++20 +CXXFLAGS += -fsanitize=undefined -fsanitize=address +LDFLAGS ?= + +SRC = $(shell find -maxdepth 1 -name '*.cpp') +BIN = $(shell find -maxdepth 1 -name '*.cpp' | xargs basename -s .cpp) + +all: $(BIN) + +.PHONY: all run clean + +clean: + $(RM) $(BIN) + +run: $(BIN) + @echo "\e[1;32mHappy path without exceptions:\e[0m" + @for bin in $(BIN); do ./$$bin ; done + @echo; echo + @echo "\e[1;32mInterrupted by exceptions:\e[0m" + @for bin in $(BIN); do ./$$bin fail; done + +$(BIN): $(SRC) + $(CXX) $(CXXFLAGS) -o $(@) $(@).cpp $(LDFLAGS) + +# Blok finally při odchytávání výjimek: C++ vs. Java +# https://blog.frantovo.cz/c/395/