54 lines
No EOL
1.3 KiB
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)
|