48 lines
No EOL
1.1 KiB
Makefile
48 lines
No EOL
1.1 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_filter_param_eq.c \
|
|
audio_filter_resample.c \
|
|
audio_sink_file.c \
|
|
audio_sink_libao.c
|
|
|
|
INCLUDES := -Iinclude
|
|
|
|
BUILDDIR = .build
|
|
TARGET := $(BUILDDIR)/libaudio.a
|
|
OBJS := $(addprefix $(BUILDDIR)/, $(patsubst %.c,%.o, $(SRCS)))
|
|
|
|
CC = gcc
|
|
AR = ar
|
|
CFLAGS = --std=gnu99 -Wall
|
|
|
|
all: $(TARGET) $(BUILDDIR)/libmad/libmad.a $(BUILDDIR)/speexdsp/libspeexresampler.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)/%.o: %.c include/%.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)
|