# **************************************************************************** # # # # .--. _ # # Makefile :+: :+: # # |:_/ || |_ _ ___ __ # # By: djonker // \ \ __| | | \ \/ / # # (| | )|_| |_| |> < # # Created: 2021/08/19 15:20:20 by djonker /'\_ _/`\__|\__,_/_/\_\ # # Updated: 2023/10/26 18:01:29 by houtworm ######## odam.nl # # # # **************************************************************************** # NAME =minitalk CC =gcc CFLAGS =-Wall -Werror -Wextra# -fsanitize=address RM =rm -f SSRC =src/server/server.c SOBJ =$(SSRC:src/%.c=obj/%.o) CSRC =src/client/client.c COBJ =$(CSRC:src/%.c=obj/%.o) all: $(NAME) clean: @$(RM) -r obj @printf "\e[1;35mCleaned Object Files\n\e[0;00m" fclean: clean @$(RM) server client @printf "\e[1;31mCleaned Executables\n\e[0;00m" re: fclean all $(NAME): server client $(SOBJ): $(SSRC) minitalk.h Makefile @mkdir -p $(dir $@) @printf "\e[1;34mBuilding $@\n\e[0;00m" @$(CC) $(CFLAGS) -c $(@:obj/%.o=src/%.c) -o $@ server: $(SOBJ) @printf "\e[1;36mCompiling $@\n\e[0;00m" @$(CC) $(CFLAGS) $^ -o $@ @printf "\e[1;32mDone\e[0;00m\n" $(COBJ): $(CSRC) @mkdir -p $(dir $@) @printf "\e[1;34mBuilding $@\n\e[0;00m" @$(CC) $(CFLAGS) -c $(@:obj/%.o=src/%.c) -o $@ client: $(COBJ) @printf "\e[1;36mCompiling $@\n\e[0;00m" @$(CC) $(CFLAGS) $^ -o $@ @printf "\e[1;32mDone\e[0;00m\n" .PHONY: all clean fclean re $(NAME)