audiolib/audio/Makefile

54 lines
No EOL
1.3 KiB
Makefile

SRCS := \
audio.c \
audio_internal.c \
audio_source_file.c \
audio_source_testtone.c \
audio_demuxer_mp3.c \
audio_decoder_mp3.c \
audio_demuxer_adts.c \
audio_decoder_aac.c \
audio_filter_param_eq.c \
audio_filter_resample.c \
audio_sink_file.c \
audio_sink_libao.c
INCLUDES := -Iinclude `pkg-config --cflags ao`
BUILDDIR = .build
TARGET := $(BUILDDIR)/libaudio.a
OBJS := $(addprefix $(BUILDDIR)/, $(patsubst %.c,%.o, $(SRCS)))
CC = gcc
AR = ar
CFLAGS = --std=gnu99 -Wall -Os
all: $(TARGET) $(BUILDDIR)/libmad/libmad.a $(BUILDDIR)/speexdsp/libspeexresampler.a $(BUILDDIR)/libfaad2/libfaad2.a
$(TARGET): $(OBJS)
$(AR) -cr $(TARGET) $(OBJS)
$(BUILDDIR)/libmad/libmad.a:
(cd deps/mp3; make BUILDDIR=$(abspath $(BUILDDIR)/libmad))
$(BUILDDIR)/speexdsp/libspeexresampler.a:
(cd deps/resampler; make BUILDDIR=$(abspath $(BUILDDIR)/speexdsp))
$(BUILDDIR)/libfaad2/libfaad2.a:
(cd deps/aac; make BUILDDIR=$(abspath $(BUILDDIR)/libfaad2))
$(BUILDDIR)/%.o: %.c %.h
$(CC) $(INCLUDES) $(CFLAGS) -c $< -o $@
$(OBJS): | $(BUILDDIR)
$(BUILDDIR):
mkdir -p $(BUILDDIR)
.PHONY: clean
clean:
-rm $(OBJS)
-rm $(TARGET)
(cd deps/mp3; make BUILDDIR=$(abspath $(BUILDDIR)/libmad) clean)
(cd deps/resampler; make BUILDDIR=$(abspath $(BUILDDIR)/speexdsp) clean)
(cd deps/aac; make BUILDDIR=$(abspath $(BUILDDIR)/libfaad2) clean)