############################################################################
# libs/libc/audio/libsrc/Make.defs
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.  The
# ASF licenses this file to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance with the
# License.  You may obtain a copy of the License at
#
#  http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
# License for the specific language governing permissions and limitations
# under the License.
#
############################################################################

ifeq ($(CONFIG_AUDIO_SRC),y)

PACKAGE = libsamplerate
VERSION = 0.2.2

SRCPATH = audio/libsrc

# Download and unpack tarball if no git repo found
$(SRCPATH)/libsamplerate:
ifeq ($(wildcard $(SRCPATH)/libsamplerate/.git),)
	$(call DOWNLOAD,https://codeload.github.com/libsndfile/libsamplerate/zip,master,$(SRCPATH)/libsamplerate.zip)
	$(Q) unzip -o $(SRCPATH)/libsamplerate.zip -d $(SRCPATH)
	$(Q) mv $(SRCPATH)/libsamplerate-master $(SRCPATH)/libsamplerate
endif

$(TOPDIR)/include/nuttx/audio/samplerate.h : $(SRCPATH)/libsamplerate
	$(Q) cp -rf $(SRCPATH)/libsamplerate/include/samplerate.h $(TOPDIR)$(DELIM)include$(DELIM)nuttx$(DELIM)audio$(DELIM)

context:: $(TOPDIR)/include/nuttx/audio/samplerate.h

CSRCS += samplerate.c
CSRCS += src_sinc.c
CSRCS += src_linear.c
CSRCS += src_zoh.c

CFLAGS += -DPACKAGE=\"$(PACKAGE)\" -DVERSION=\"$(VERSION)\"

CFLAGS += ${INCDIR_PREFIX}$(TOPDIR)$(DELIM)include$(DELIM)nuttx$(DELIM)audio

CFLAGS += -DCPU_CLIPS_NEGATIVE=0 -DCPU_CLIPS_POSITIVE=0

ifeq ($(CONFIG_SINC_FAST_CONVERTER),y)
CFLAGS += -DENABLE_SINC_FAST_CONVERTER
endif

ifeq ($(CONFIG_SINC_MEDIUM_CONVERTER),y)
CFLAGS += -DENABLE_SINC_MEDIUM_CONVERTER
endif

ifeq ($(CONFIG_SINC_BEST_CONVERTER),y)
CFLAGS += -DENABLE_SINC_BEST_CONVERTER
endif

VPATH += $(SRCPATH)/libsamplerate/src
SUBDIRS += $(SRCPATH)/libsamplerate/src
DEPPATH += --dep-path $(SRCPATH)/libsamplerate/src

distclean::
	$(call DELDIR, $(TOPDIR)$(DELIM)include$(DELIM)nuttx$(DELIM)audio$(DELIM)samplerate.h)
ifeq ($(wildcard $(SRCPATH)/libsamplerate/.git),)
	$(call DELDIR, $(SRCPATH)/libsamplerate)
	$(call DELFILE, $(SRCPATH)/libsamplerate.zip)
endif

endif
