CC ?= gcc CFLAGS := -Wall -O2 -std=c99 LDFLAGS := LDLIBS := -lm SRCDIR := src BINDIR := bin OBJDIR := obj DIRS := $(SRCDIR) $(BINDIR) $(OBJDIR) SRC := $(shell find $(SRCDIR) -type f -printf "%f ") DEPS := $(OBJ:.o=.d) OBJ := $(SRC:%.c=$(OBJDIR)/%.o) TARGET := $(BINDIR)/cgit_auth # Rules .PHONY: all clean all: $(TARGET) $(OBJDIR)/%.o: $(SRCDIR)/%.c | $(OBJDIR) $(CC) $(CFLAGS) -o $@ -c $< $(DIRS): @mkdir -p $@ -include $(DEPS) $(TARGET): $(OBJ) | $(BINDIR) $(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) $(LDLIBS) clean: rm -rf $(BINDIR) $(OBJDIR)