SRCS := \ bit.c \ fixed.c \ frame.c \ huffman.c \ layer3.c \ layer12.c \ stream.c \ synth.c \ timer.c \ version.c BUILDDIR = .build TARGET := $(BUILDDIR)/libmad.a OBJS := $(addprefix $(BUILDDIR)/, $(patsubst %.c,%.o, $(SRCS))) CC = gcc AR = ar CFLAGS = --std=gnu99 -Wall -Os all: $(TARGET) $(TARGET): $(OBJS) $(AR) -cr $(TARGET) $(OBJS) $(BUILDDIR)/%.o: %.c %.h config.h $(CC) $(CFLAGS) -c $< -o $@ $(OBJS): | $(BUILDDIR) $(BUILDDIR): mkdir -p $(BUILDDIR) .PHONY: clean clean: -rm $(OBJS) -rm $(TARGET)