TARGET = mgos_i2c CC = gcc CFLAGS = -g -O -Wall -I include/ LINKER = gcc LFLAGS = -O -Wall -I. -lm .PHONY: default all clean default: $(TARGET) all: default SRCDIR = src INCDIR = include OBJDIR = build BINDIR = . SOURCES := $(wildcard $(SRCDIR)/*.c) INCLUDES := $(wildcard $(SRCDIR)/*.h) OBJECTS := $(SOURCES:$(SRCDIR)/%.c=$(OBJDIR)/%.o) RM = rm -f $(BINDIR)/$(TARGET): $(OBJECTS) $(LINKER) $(OBJECTS) $(LFLAGS) -o $@ $(OBJECTS): $(OBJDIR)/%.o : $(SRCDIR)/%.c $(CC) $(CFLAGS) -c $< -o $@ .PHONY: clean clean: $(RM) $(OBJECTS) $(RM) $(BINDIR)/$(TARGET)