# /*****************************************************************************
#* Ȩ (C)2015, ͨѶɷ޹˾
#* 
#* ļ:     Makefile
#* ļʶ:     Makefile
#* ժҪ:     Makefile of ZTE librarys
#* ʹ÷:     void
#* 
#* ޸        汾      ޸ı        ޸          ޸
#* -----------------------------------------------------------------------------
#* 2018/01/15     V1.0        Create          chentianming        
#* 
# ******************************************************************************/

#*******************************************************************************
# include ZTE library makefile
#*******************************************************************************
include $(COMMON_MK)


#*******************************************************************************
# library
#*******************************************************************************
LIB_SHARED = libtinyalsa.so
LIB_STATIC = libtinyalsa.a

ifeq ($(_APP_AUDIO_TYPE_),watch_cap)
OBJS = mixer.o pcm.o mixer_ctrl_watch_cap.o
else
OBJS = mixer.o pcm.o audio_mixer_ctrl.o
endif
CFLAGS += -g
LDFLAGS += -lpthread

##############USER COMIZE END##################

CFLAGS += -I$(zte_lib_path)/libtinyalsa/include
CFLAGS += -I$(STAGEDIR)/include
CFLAGS += -I$(APP_DIR)/include
CFLAGS += -I$(LINUX_DIR)/include
CFLAGS += -fPIC

LDFLAGS_SHARED += -shared


#*******************************************************************************
# comp test app and 
#*******************************************************************************	
EXEC_tinyplay = tinyplay 
EXEC_tinycap = tinycap 
EXEC_tinymix = tinymix 
EXEC_tinypcminfo = tinyinfo 
EXEC_alsatest = alsatest	
EXEC_voltest = voltest	
	
#*******************************************************************************
# objects
#*******************************************************************************
tinyplay_OBJECTS += mixer.o pcm.o tinyplay.o
tinycap_OBJECTS += mixer.o pcm.o tinycap.o
tinymix_OBJECTS += mixer.o pcm.o tinymix.o
tinypcminfo_OBJECTS += mixer.o pcm.o tinypcminfo.o
alsatest_OBJECTS += mixer.o pcm.o alsatest.o
voltest_OBJECTS += vol_test.o 
#########################for linux######################################

ifeq ($(V3PHONE_TYPE), K318)
	CFLAGS += -D_USE_7520V3_PHONE_TYPE_K318
endif
ifeq ($(V3PHONE_TYPE), C31F)
	CFLAGS += -D_USE_7520V3_PHONE_TYPE_C31F
endif
ifeq ($(V3PHONE_TYPE), XRSD)
	CFLAGS += -D_USE_7520V3_PHONE_TYPE_XRSD
endif
ifeq ($(V3PHONE_TYPE), FWP)
	CFLAGS += -D_USE_7520V3_PHONE_TYPE_FWP
endif
ifeq ($(V3PHONE_TYPE), WTWD)
	CFLAGS += -D_USE_7520V3_PHONE_TYPE_WTWD
endif


CFLAGS	+= -I./include/
CFLAGS += -g -Werror=implicit-function-declaration
SHAREDFLAG := -shared -lc
LDLIBS += -L$(LIB_DIR)/libtinyalsa
LDLIBS += -ltinyalsa

all: $(LIB_STATIC) $(LIB_SHARED) $(EXEC_tinyplay) $(EXEC_tinycap) $(EXEC_tinymix) $(EXEC_tinypcminfo) 

$(LIB_STATIC) : $(OBJS)
	$(AR) rcs $(LIB_STATIC) $(OBJS)

$(LIB_SHARED): $(OBJS)
	$(CC) $(LDFLAGS) $(LDFLAGS_SHARED) -o $@ $^

	
$(EXEC_tinyplay): $(tinyplay_OBJECTS)
	$(CC) $(LDFLAGS) -o $@ $(tinyplay_OBJECTS) -Wl,--start-group $(LDLIBS) -Wl,--end-group
$(EXEC_tinycap): $(tinycap_OBJECTS)
	$(CC) $(LDFLAGS) -o $@ $(tinycap_OBJECTS) -Wl,--start-group $(LDLIBS) -Wl,--end-group
$(EXEC_tinymix): $(tinymix_OBJECTS)
	$(CC) $(LDFLAGS) -o $@ $(tinymix_OBJECTS) -Wl,--start-group $(LDLIBS) -Wl,--end-group
$(EXEC_tinypcminfo): $(tinypcminfo_OBJECTS)
	$(CC) $(LDFLAGS) -o $@ $(tinypcminfo_OBJECTS) -Wl,--start-group $(LDLIBS) -Wl,--end-group
#$(EXEC_alsatest): $(alsatest_OBJECTS)
#	$(CC) $(LDFLAGS) -o $@ $(alsatest_OBJECTS) -Wl,--start-group $(LDLIBS) -Wl,--end-group
#$(EXEC_voltest): $(voltest_OBJECTS)
#	$(CC) $(LDFLAGS) -o $@ $(voltest_OBJECTS) -Wl,--start-group $(LDLIBS) -lm -Wl,--end-group
	
clean:
	rm -f $(tinyplay_OBJECTS) $(tinycap_OBJECTS) $(tinymix_OBJECTS) $(tinypcminfo_OBJECTS) $(lib_OBJECTS) $(LIB_SHARED) $(LIB_STATIC) $(EXEC_tinyplay) $(EXEC_tinycap) $(EXEC_tinymix) $(EXEC_tinypcminfo) $(EXEC_alsatest) *.elf *.gdb *.o core

romfs:
	$(ROMFSINST) $(LIB_SHARED) /lib/$(LIB_SHARED)
	$(ROMFSINST) $(EXEC_tinyplay) /bin/$(EXEC_tinyplay)
	$(ROMFSINST) $(EXEC_tinycap)  	/bin/$(EXEC_tinycap)
	$(ROMFSINST) $(EXEC_tinymix)  	/bin/$(EXEC_tinymix)
	#$(ROMFSINST) $(EXEC_tinypcminfo) /bin/$(EXEC_tinypcminfo)
	#$(ROMFSINST) $(EXEC_voltest) /bin/$(EXEC_voltest)
	cp -v $(EXEC_tinyplay)    $(APP_DIR)/test_tools/
	cp -v $(EXEC_tinycap)     $(APP_DIR)/test_tools/
	cp -v $(EXEC_tinymix)     $(APP_DIR)/test_tools/
	cp -v $(EXEC_tinypcminfo) $(APP_DIR)/test_tools/
#	$(ROMFSINST) $(EXEC_alsatest)  		/bin/$(EXEC_alsatest)
	

#	cp $(EXEC_tinyplay)    $(EXEC_tinyplay).elf
#	cp $(EXEC_tinycap)     $(EXEC_tinycap).elf

#	cp $(EXEC_tinymix)     $(EXEC_tinymix).elf
#	cp $(EXEC_tinypcminfo) $(EXEC_tinypcminfo).elf
#	cp $(EXEC_alsatest)    $(EXEC_alsatest).elf
