diff --git a/Makefile b/Makefile index 4e03ab6..5709cb5 100644 --- a/Makefile +++ b/Makefile @@ -21,11 +21,11 @@ all: $(EXEC) $(OBJ_DIR): @mkdir -v $@ -$(OBJ_DIR)/%.$(OBJ_EXT): $(SRC_DIR)/%.cpp $(SRC_DIR)/%.hpp | $(OBJ_DIR) +$(OBJ_DIR)/%.$(OBJ_EXT): $(SRC_DIR)/%.cpp $(SRC_DIR)/%.hpp | $(OBJ_DIR) check-cc-works @echo Compiling $< @$(CC) $(CFLAGS) -c $< -o $@ -$(EXEC): $(OBJ) +$(EXEC): $(OBJ) | check-cc-works @echo Linking objects files to $@ @$(CC) $(CFLAGS) $^ -o $@ @@ -36,7 +36,7 @@ profile: start | check-gprof-works check-gprof2dot-works @gprof $(EXEC) gmon.out | gprof2dot | dot -Tpng -o output.png debug: $(EXEC) | check-gdb-works - @gdb -q -tui $(EXEC) -x copies + @gdb -q -tui $(EXEC) check: $(EXEC) | check-valgrind-works @valgrind -q -s --leak-check=full --show-leak-kinds=all $(EXEC) @@ -53,6 +53,10 @@ mrproper: clean .PHONY: check-env check-env: check-gprof2dot-works check-gprof-works check-gdb-works check-valgrind-works check-r2-works +.PHONY: check-cc-works +check-cc-works: + @${CC} --help >/dev/null 2>&1 || (echo 'Please install a valid CC compiler.' && exit 1) + .PHONY: check-gprof2dot-works check-gprof2dot-works: @gprof2dot --help >/dev/null 2>&1 || (echo 'Please install gprof2dot.' && exit 1)