CC = gcc CFLAGS = -Wall -Wextra -std=c11 -g -fwrapv -I$(TERMIO)/include LDFLAGS = -L$(TERMIO)/lib -ltermio TERMIO = $(HOME)/prefix TARGETS = client .PHONY: all clean remake # Clear all implicit suffix rules .SUFFIXES: # Don't delete intermediate files .SECONDARY: all: $(TARGETS) clean: rm -f $(TARGETS) *.o remake: clean $(MAKE) all $(TARGETS): $(patsubst %.c,%.o,$(wildcard *.c)) $(CC) -o $@ $^ $(LDFLAGS) %.o: %.c $(wildcard *.h) $(CC) $(CFLAGS) -c -o $@ $<