Home | History | Annotate | Download | only in build_hikey
      1 #
      2 # Copyright (C) 2018 Cadence Design Systems, Inc.
      3 # 
      4 # Permission is hereby granted, free of charge, to any person obtaining
      5 # a copy of this software and associated documentation files (the
      6 # "Software"), to use this Software with Cadence processor cores only and 
      7 # not with any other processors and platforms, subject to
      8 # the following conditions:
      9 # 
     10 # The above copyright notice and this permission notice shall be included
     11 # in all copies or substantial portions of the Software.
     12 # 
     13 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
     14 # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     15 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
     16 # IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
     17 # CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
     18 # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
     19 # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
     20 #
     21 
     22 
     23 .PHONY: all install clean HIKEY960
     24 
     25 NOSTRIP = 1
     26 XF_TRACE = 1
     27 
     28 ROOTDIR = ..
     29 CODEC_NAME = hikey
     30 
     31 PLUGINO2OBJS =
     32 PLUGINLIBS =
     33 PLUGININCLUDES =
     34 
     35 XA_MP3_DECODER ?= 0
     36 XA_VORBIS_DECODER ?= 1
     37 XA_MIXER 	   ?= 1
     38 XA_PCM 	   ?= 1
     39 
     40 
     41 vpath %.c $(ROOTDIR)/ipc/xt-shmem/hikey
     42 vpath %.c $(ROOTDIR)/ipc/xt-shmem
     43 vpath %.c $(ROOTDIR)/core/util
     44 vpath %.c $(ROOTDIR)/core/util/gdbstub
     45 vpath %.c $(ROOTDIR)/core
     46 vpath %.c $(ROOTDIR)/app
     47 vpath %.c $(ROOTDIR)/audio
     48 
     49 vpath %.S $(ROOTDIR)/ipc/xt-shmem/hikey
     50 vpath %.S $(ROOTDIR)/core/util/gdbstub
     51 
     52 vpath %.c $(ROOTDIR)/plugins/cadence/mixer
     53 
     54 LIBXAFASMOBJS = \
     55 			reset.o \
     56 			int_vector.o \
     57 			arch_hifi330.o \
     58 			gdbstub-entry.o
     59 
     60 LIBXAFO2OBJS = \
     61             cpu_c.o \
     62 			dsp_debug.o \
     63 			dsp_comm.o \
     64 			mutex.o \
     65 			rbtree.o \
     66 			xf-core.o \
     67 			xf-io.o \
     68 			xf-mem.o \
     69 			xf-msg.o \
     70 			xf-sched.o \
     71 			xa-factory.o \
     72 			xf-shmem.o \
     73 			tinyvprintf.o \
     74 			xf-isr.o \
     75 			gdbstub.o \
     76 			xa-class-base.o \
     77 			xa-class-audio-codec.o \
     78 			xa-class-mixer.o \
     79 			xf-main.o 
     80 
     81 ifeq ($(XF_TRACE),1)
     82   CFLAGS         += -DXF_TRACE=1
     83   CFLAGS         += -DXAF_PROFILE_DSP=1
     84 endif
     85 
     86 ifeq ($(XA_MP3_DECODER),1)
     87   vpath %.c $(ROOTDIR)/plugins/cadence/mp3_dec
     88   CFLAGS         += -DXA_MP3_DECODER=1
     89   PLUGINO2OBJS   += xa-mp3-decoder.o
     90   PLUGINLIBS     += $(ROOTDIR)/plugins/cadence/mp3_dec/lib/hifi2/xa_mp3_dec.a 
     91   PLUGININCLUDES += -I$(ROOTDIR)/plugins/cadence/mp3_dec
     92 endif
     93 
     94 ifeq ($(XA_PCM),1)
     95   vpath %.c $(ROOTDIR)/plugins/cadence/pcm_proc
     96   CFLAGS         += -DXA_PCM=1
     97   PLUGINO2OBJS   += xa-pcm.o
     98   PLUGINLIBS     += 
     99   PLUGININCLUDES += -I$(ROOTDIR)/plugins/cadence/pcm_proc
    100 endif  
    101 
    102 ifeq ($(XA_VORBIS_DECODER),1)
    103   vpath %.c $(ROOTDIR)/plugins/cadence/vorbis_dec
    104   CFLAGS         += -DXA_VORBIS_DECODER=1
    105   PLUGINO2OBJS   += xa-vorbis-decoder.o
    106   PLUGINLIBS     += $(ROOTDIR)/plugins/cadence/vorbis_dec/lib/hifi3/xa_vorbis_dec.a
    107   PLUGININCLUDES += -I$(ROOTDIR)/plugins/cadence/vorbis_dec
    108 endif
    109 
    110 ifeq ($(XA_MIXER),1)
    111   vpath %.c $(ROOTDIR)/plugins/cadence/mixer
    112   CFLAGS         += -DXA_MIXER=1
    113   PLUGINO2OBJS   += xa-mixer.o
    114   PLUGINLIBS     += 
    115   PLUGININCLUDES += -I$(ROOTDIR)/plugins/cadence/mixer
    116 endif
    117 
    118 LIBO2OBJS = $(LIBXAFO2OBJS) $(LIBMP3DECO2OBJS) $(LIBMIXERO2OBJS) $(PLUGINO2OBJS)
    119 LIBASMOBJS = $(LIBXAFASMOBJS)
    120  
    121 INCLUDES += \
    122     -I$(ROOTDIR)/include \
    123     -I$(ROOTDIR)/include/audio \
    124     -I$(ROOTDIR)/include/sys/xt-shmem \
    125 	-I$(ROOTDIR)/include/sys/xt-shmem/board-hikey \
    126     -I$(ROOTDIR)/plugins/cadence/mp3_dec 
    127     
    128 INCLUDES += $(PLUGININCLUDES)
    129 
    130 LDFLAGS += -nostdlib -lhal -lhandlers-board -lc -lgcc 
    131 LDFLAGS += -mlsp="./hifi_hikey_lsp"
    132 
    133 HIKEY960: $(CODEC_NAME) 
    134 
    135 include $(ROOTDIR)/build_hikey/common.mk
    136