45 lines
748 B
Makefile
45 lines
748 B
Makefile
MAKEFLAGS += -j
|
|
|
|
CXX := c++
|
|
LD := $(CXX)
|
|
CXXFLAGS := -g -O0 -Wall -Wextra -Werror -std=c++98 -MMD
|
|
|
|
OBJ := $(patsubst src/%.cpp,build/%.o,$(wildcard src/*.cpp))
|
|
DEP := $(patsubst %.o,%.d,$(OBJ))
|
|
NAME := ircserv
|
|
|
|
all: $(NAME)
|
|
|
|
$(NAME): $(OBJ)
|
|
@printf 'LD %s\n' "$@"
|
|
@$(LD) -o $(NAME) $(OBJ)
|
|
|
|
build/%.o: src/%.cpp
|
|
@printf 'CXX %s\n' "$@"
|
|
@mkdir -p $(@D)
|
|
@$(CXX) $(CXXFLAGS) -c -o $@ $<
|
|
|
|
clean:
|
|
@printf 'RM build\n'
|
|
@rm -rf build/
|
|
|
|
fclean:
|
|
@printf 'RM build %s\n' "$(NAME)"
|
|
@rm -rf build/ $(NAME)
|
|
|
|
re:
|
|
@make --no-print-directory fclean
|
|
@make --no-print-directory all
|
|
|
|
run: $(NAME)
|
|
clear
|
|
@./$(NAME) 6969 michel
|
|
|
|
gdb: $(NAME)
|
|
clear
|
|
@gdb --args ./$(NAME) 6969 michel
|
|
|
|
.PHONY: all clean fclean re run gdb
|
|
|
|
-include $(DEP)
|