CFLAGS = -Wall -g -O -fPIC
CFLAGS += $(AUDIO_APLOOP_FLAG)

TARGET = libaudionpi.so

ifeq ($(AUDIO_PLATFORM),whale)
CFLAGS += -DAUDIO_WHALE
CFLAGS += -DAUDIO_PRINT
else
CFLAGS += $(AUDIO_PLATFORM_FLAG)
endif
LIBPATH =

LIBS = -lpthread -ldl -lm -lc -lutil -lstdc++ -ltinyalsa -laudioutil -ltinyxml
libdir=/usr/lib/npidevice

INCLUDE_DIRS = \
	-I . \
	-I ../../hardware/libhardware/include \
	-I ../../hardware/libhardware_legacy/include \
	-I ../../system/media/audio/include \
	-I ../../system/media/audio_utils/include \
	-I ../../system/media/alsa_utils/include \
	-I ../../system/core/libcutils/include \
	-I ../../system/core/libutils/include \
	-I ../../system/core/libsystem/include \
	-I ../../system/core/liblog/include \
	-I ../../system/core/libprocessgroup/include \
	-I ../../external/tinycompress/include \
	-I ../../external/tinyalsa/include \
	-I ../../external/tinyxml \
	-I ../../external/expat \
	-I ../../../audioutils \
	-I ../../dump/audio_dump \
	-I ../../whale \
	-I ../../whale/record_process \
	-I ../../whale/debug \
	-I ../../whale/record_nr \
	-I ../../whale/audio_param \
	-I ../../whale/tinycompress_util \
	-I ../../whale/preprocessing \
	-I ../../whale/audiotester \
	-I ../../whale/smartamp \
	-I ../../whale/audiotester \
	-I ../../whale/platform/whale/include

ifeq ($(AUDIO_PLATFORM),whale)
SRCS = audio_diag.c \
	audio_npi.c \
	audioplayer.c \
	audiorecord.c \
	ring_buffer.c \
	aploop.c \
	mixer.c \
	audiotester.c \
	audio_pcm_parse.cpp

OBJS = audio_diag.o \
	audio_npi.o \
	audioplayer.o \
	audiorecord.o \
	ring_buffer.o \
	aploop.o \
	mixer.o \
	audiotester.o \
	audio_pcm_parse.o

INCLUDE_DIRS += \
	-I whale/platform/whale/include

else
	SRCS = audio_diag.c \
	audio_npi.c \
	audioplayer.c \
	audiorecord.c \
	ring_buffer.c \
	aploop.c \
	mixer.c \
	audio_pcm_parse.cpp

OBJS = audio_diag.o \
	audio_npi.o \
	audioplayer.o \
	audiorecord.o \
	ring_buffer.o \
	aploop.o \
	mixer.o \
	audio_pcm_parse.o

endif

ifeq ($(AUDIO_PLATFORM),whale)
CFLAGS += \
	-DFLAG_VENDOR_ETC \
	-DAUDIOHAL_V4 \
	-DAUDIO_VBC_DEEPBUFFER_MIXER \
	-DSPRD_AUDIO_HIDL_CLIENT \
	-DSPRD_AUDIO_SMARTAMP \
	-DLOCAL_SOCKET_CLIENT \
	-DAUDIO_SERVER_64_BIT \
	-DAUDIO_DSP_PLATFORM
endif

all: $(OBJS)
	$(CC) -shared -fPIC -o $(TARGET) $(OBJS) $(LIBPATH) $(LIBS)

$(OBJS):$(SRCS)
	$(CC) $(CFLAGS) $(INCLUDE_DIRS) -c $^

install:
	mkdir -p $(INSTALL_MOD_PATH)/usr/lib/npidevice
	install -d $(DESTDIR)$(libdir)
	cp $(TARGET) $(INSTALL_MOD_PATH)/usr/lib/npidevice

clean:
	rm -f *.o
	rm -f $(TARGET)
