CC := gcc LD := $(CC) SRC := $(wildcard *.c) OBJ := $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SRC))) NAME := golem CFLAGS := -g -O0 -Wall -Wextra -std=c99 -pedantic LDFLAGS := -lxxhash all: $(NAME) $(NAME): $(OBJ) @printf '[ld] %-10s -> %s\n' '*.o' "$(NAME)" @$(LD) -o $(NAME) $(OBJ) $(LDFLAGS) %.o: %.c @printf '[cc] %-10s -> %s\n' "$<" "$@" @$(CC) $(CFLAGS) -c -o $@ $< clean: @printf '[rm]\n' @rm -rf $(NAME) $(OBJ) run: $(NAME) @printf '[run]\n' @./$(NAME) baby.golem re: @printf '[re]\n' @make --no-print-directory clean @make --no-print-directory .PHONY: all clean run re