466 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Makefile
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			466 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Makefile
		
	
	
		
			Executable File
		
	
	
	
	
include $(NVT_PRJCFG_MODEL_CFG)
 | 
						|
include ./MakeConfig.mk
 | 
						|
 | 
						|
#######################################################################################
 | 
						|
#--------- INCs FOR C_CFLAGS ---------------------------------------------------------#
 | 
						|
#######################################################################################
 | 
						|
# DIRs
 | 
						|
SYSROOT_DIR     = $(shell $(CC) $(PLATFORM_CFLAGS) -print-sysroot)
 | 
						|
GCC_LIB_DIR     = $(dir $(shell $(CC) $(PLATFORM_CFLAGS) -print-libgcc-file-name))
 | 
						|
SYSROOT_LIB_DIR = $(SYSROOT_DIR)/usr/lib
 | 
						|
STDC_LIB_DIR    = $(dir $(shell $(CC) $(PLATFORM_CFLAGS) -print-file-name=libstdc++.a))
 | 
						|
LIBC_LIB_DIR    = $(dir $(shell $(CC) $(PLATFORM_CFLAGS) -print-file-name=libc.a))
 | 
						|
HDAL_SAMPLE_DIR = $(NVT_HDAL_DIR)/samples
 | 
						|
NVT_TOOLS_DIR = $(BUILD_DIR)/nvt-tools
 | 
						|
VOS_DRIVER_DIR = $(NVT_VOS_DIR)/drivers
 | 
						|
KDRV_DIR = $(NVT_HDAL_DIR)/drivers/k_driver
 | 
						|
EXT_DIR = $(NVT_HDAL_DIR)/ext_devices
 | 
						|
KFLOW_DIR = $(NVT_HDAL_DIR)/drivers/k_flow
 | 
						|
OUTPUT_DIR = ./output
 | 
						|
INSTALL_DIR = ../../output
 | 
						|
SIFAR_OPEN_SOURCE = yes
 | 
						|
 | 
						|
AI_LIB_DIR      = $(NVT_HDAL_DIR)/vendor/ai2/source
 | 
						|
 | 
						|
uclibc=$(shell echo $(CROSS_COMPILE)|grep uclib)
 | 
						|
ifeq ($(uclibc),)
 | 
						|
	AI_PREBUILD_LIB=$(NVT_HDAL_DIR)/vendor/ai/source/prebuilt/lib/glibc
 | 
						|
else
 | 
						|
	AI_PREBUILD_LIB=$(NVT_HDAL_DIR)/vendor/ai/source/prebuilt/lib/uclibc
 | 
						|
endif
 | 
						|
 | 
						|
SIFAR_DIR = $(LIBRARY_DIR)/source/sifar/code
 | 
						|
SIFAR_APP_DIR = $(APP_DIR)/source/sf_app/code/include
 | 
						|
SIFAR_APP_LPA_DIR = $(APP_DIR)/source/sf_app/code/source/sf_lpa/LPA_SDK/include
 | 
						|
 | 
						|
LD_LIBRARY_PATH=$(LIBRARY_DIR)/output/
 | 
						|
 | 
						|
 | 
						|
#LIB DIRs for C_LDFLAGS
 | 
						|
EXTRA_LIB_DIR += \
 | 
						|
	-L$(LIBC_LIB_DIR) \
 | 
						|
	-L$(GCC_LIB_DIR) \
 | 
						|
	-L$(STDC_LIB_DIR) \
 | 
						|
	-L$(SYSROOT_LIB_DIR) \
 | 
						|
	-L$(NVT_HDAL_DIR)/output \
 | 
						|
	-L$(NVT_HDAL_DIR)/vendor/output \
 | 
						|
	-L$(NVT_HDAL_DIR)/vendor/media/drivers/output/ \
 | 
						|
	-L$(NVT_HDAL_DIR)/vendor/isp/drivers/output/ \
 | 
						|
	-L$(KDRV_DIR)/output \
 | 
						|
	-L$(EXT_DIR)/panel/output \
 | 
						|
	-L$(EXT_DIR)/sensor/output \
 | 
						|
	-L$(EXT_DIR)/audio/output \
 | 
						|
	-L$(KFLOW_DIR)/output \
 | 
						|
	-L$(HDAL_SAMPLE_DIR)/output \
 | 
						|
	-L$(LIBRARY_DIR)/output \
 | 
						|
	-L$(VOS_DRIVER_DIR)/output \
 | 
						|
	-L$(NVT_VOS_DIR)/output \
 | 
						|
	-L$(NVT_DRIVER_DIR)/output \
 | 
						|
	-L$(APP_DIR)/sifarsdk/out/libs \
 | 
						|
	-L$(APP_DIR)/source/sf_app/tools/blue/lib \
 | 
						|
 | 
						|
# public includes
 | 
						|
EXTRA_INCLUDE += \
 | 
						|
	-I$(NVT_VOS_DIR)/include \
 | 
						|
	-I$(NVT_HDAL_DIR)/include \
 | 
						|
	-I$(NVT_HDAL_DIR)/vendor/isp/include \
 | 
						|
	-I$(NVT_HDAL_DIR)/vendor/isp/drivers/include \
 | 
						|
	-I$(LIBRARY_DIR)/include \
 | 
						|
	-I$(KDRV_DIR)/include/plat \
 | 
						|
	-I$(KDRV_DIR)/include/comm \
 | 
						|
	-I$(KDRV_DIR)/include \
 | 
						|
	-I$(EXT_DIR)/panel/display_panel/include \
 | 
						|
	-I$(EXT_DIR)/sensor/sen_common \
 | 
						|
	-I$(EXT_DIR)/audio/aud_common/include \
 | 
						|
	-I$(KFLOW_DIR)/include \
 | 
						|
	-I$(NVT_DRIVER_DIR)/include \
 | 
						|
	-I$(LIBRARY_DIR)/include/libnl3 \
 | 
						|
	-I$(APP_DIR)/include \
 | 
						|
	-I$(KDRV_DIR)/source/kdrv_gfx2d/kdrv_affine/include \
 | 
						|
	-I$(NVT_HDAL_DIR)/vendor/media/include \
 | 
						|
	-I$(NVT_HDAL_DIR)/vendor/common/include \
 | 
						|
	-I$(SIFAR_APP_DIR) \
 | 
						|
	-I$(SIFAR_APP_LPA_DIR) \
 | 
						|
	-I$(APP_DIR)/sifarsdk/out/libs/include \
 | 
						|
	-I$(APP_DIR)/source/sf_app/code/source/sf_blue \
 | 
						|
	-I$(APP_DIR)/source/sf_app/code/source/sf_blue/src \
 | 
						|
	-I$(APP_DIR)/source/sf_app/code/source/sf_blue/inc/bluetooth \
 | 
						|
	-I$(APP_DIR)/source/sf_app/code/source/sf_blue/inc/dbus \
 | 
						|
	-I$(APP_DIR)/source/sf_app/code/source/sf_blue/inc/glib \
 | 
						|
	-I$(APP_DIR)/source/sf_app/tools/blue/include \
 | 
						|
	-I$(APP_DIR)/source/sf_app/tools/blue/include/dbus-1.0 \
 | 
						|
		
 | 
						|
# application local includes
 | 
						|
EXTRA_INCLUDE += \
 | 
						|
	-I$(APP_DIR)/source/cardv/SrcCode \
 | 
						|
	-I$(APP_DIR)/source/cardv/SrcCode/Startup \
 | 
						|
	-I$(APP_DIR)/source/cardv/SrcCode/System \
 | 
						|
	-I$(APP_DIR)/source/cardv/SrcCode/Dx/include \
 | 
						|
	-I$(APP_DIR)/source/cardv/SrcCode/Gx/include \
 | 
						|
	-I$(APP_DIR)/source/cardv/SrcCode/Compatible \
 | 
						|
	-I$(APP_DIR)/source/cardv/SrcCode/Dx/$(MODEL)
 | 
						|
	
 | 
						|
ifeq "$(UI_STYLE)" "UI_STYLE_LVGL"
 | 
						|
 | 
						|
EXTRA_INCLUDE += \
 | 
						|
	-I$(APP_DIR)/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM \
 | 
						|
 | 
						|
endif
 | 
						|
 | 
						|
EXTRA_INCLUDE += \
 | 
						|
	-I$(NVT_HDAL_DIR)/vendor/ai2/include \
 | 
						|
	-I$(NVT_HDAL_DIR)/vendor/ai2/source_pub/include \
 | 
						|
	-I$(NVT_HDAL_DIR)/vendor/ai2/source_pub/vendor_ai_cpu \
 | 
						|
	-I$(NVT_HDAL_DIR)/vendor/ai2/source_pub/vendor_ai_dsp \
 | 
						|
	-I$(NVT_HDAL_DIR)/vendor/ai/drivers/k_driver/include \
 | 
						|
	-I$(NVT_HDAL_DIR)/vendor/ai2/drivers/k_flow/include \
 | 
						|
	-I$(NVT_HDAL_DIR)/vendor/ai2/drivers/k_flow/source/kflow_ai_net \
 | 
						|
	-I$(APP_DIR)/source/cardv/SrcCode/UIApp/Alg \
 | 
						|
 | 
						|
#--------- END OF INCs FOR C_CFLAGS ---------------------------------------------------
 | 
						|
 | 
						|
# kernel, vos, libc, others necessary
 | 
						|
EXTRA_LIB = \
 | 
						|
	-lgcc \
 | 
						|
	-lgcc_s \
 | 
						|
	-lc -lgcc \
 | 
						|
	-lgcc_s \
 | 
						|
	-lrt \
 | 
						|
	-lm \
 | 
						|
	-lstdc++ \
 | 
						|
	-lpthread \
 | 
						|
	-lgettextlib -Wl,-rpath-link=$(LD_LIBRARY_PATH) \
 | 
						|
	-lgettextpo \
 | 
						|
	-lintl \
 | 
						|
	-lncurses \
 | 
						|
	-lbluetooth \
 | 
						|
	-ldbus-1 \
 | 
						|
	-lglib-2.0 \
 | 
						|
	
 | 
						|
#	-rpath $(LIBRARY_DIR)/output \
 | 
						|
 | 
						|
# vos
 | 
						|
EXTRA_LIB += \
 | 
						|
	-l:libvos.a \
 | 
						|
 | 
						|
# hdal, vendor
 | 
						|
EXTRA_LIB += \
 | 
						|
	-l:libhdal.a \
 | 
						|
	-l:libvendor_media.a \
 | 
						|
	-l:libvendor_isp.a \
 | 
						|
	-l:libprebuilt_isp.a \
 | 
						|
 | 
						|
# code/lib
 | 
						|
EXTRA_LIB += \
 | 
						|
	-l:libSxTimer.a \
 | 
						|
	-l:libgxgfx.a \
 | 
						|
	-l:libnvtuser.a \
 | 
						|
	-l:libuicontrol.a \
 | 
						|
	-l:libvcontrol.a \
 | 
						|
	-l:libappcontrol.a \
 | 
						|
	-l:libvf_gfx.a \
 | 
						|
	-l:libutility.a \
 | 
						|
	-l:libfdt.a \
 | 
						|
	-l:libWiFiIpc.a \
 | 
						|
	-l:libfiledb.a \
 | 
						|
	-l:libDCF.a \
 | 
						|
	-l:libFileSys.a \
 | 
						|
	-l:libNameRule.a \
 | 
						|
	-l:libFsLinux.a \
 | 
						|
	-l:libio.a \
 | 
						|
	-l:libstrg.a \
 | 
						|
	-l:libfileout.a \
 | 
						|
	-l:libavfile.a \
 | 
						|
	-l:libbsmux.a \
 | 
						|
	-l:libnvtlive555.a \
 | 
						|
	-l:libLviewNvt.a \
 | 
						|
	-l:libgximagefile.a \
 | 
						|
	-l:libexif.a \
 | 
						|
	-l:libsizeconvert.a \
 | 
						|
	-l:libimageapp_common.a \
 | 
						|
	-l:libimageapp_moviemulti.a \
 | 
						|
	-l:libimageapp_usbmovie.a \
 | 
						|
	-l:libimageapp_voice.a \
 | 
						|
	-l:libFontConv.a \
 | 
						|
  	-l:libimageapp_photo.a \
 | 
						|
	-l:libmsdcnvt.a \
 | 
						|
	-l:libumsd.a \
 | 
						|
	-l:libusb2dev.a \
 | 
						|
	-l:libimageapp_play.a \
 | 
						|
	-l:libplayback.a \
 | 
						|
	-l:libpbxfilelist_filedb.a \
 | 
						|
	-l:libpbxfilelist_dcf.a \
 | 
						|
	-l:libGxVideoFile.a \
 | 
						|
	-l:libpbxfile.a \
 | 
						|
	-l:libfilein.a \
 | 
						|
	-l:libbsdemux.a \
 | 
						|
	-l:libimageapp_movieplay.a \
 | 
						|
	-l:libusockipc.a \
 | 
						|
	-l:libusockcliipc.a \
 | 
						|
	-l:libHfsNvt.a \
 | 
						|
	-l:libuvac.a \
 | 
						|
	-l:libuvcp.a \
 | 
						|
	-l:libfwsrv.a \
 | 
						|
	-l:libsw_md.a \
 | 
						|
	-l:libPStore.a \
 | 
						|
	-l:libethcamsocket.a \
 | 
						|
	-l:libethsocketcli.a \
 | 
						|
	-l:libethsockcliipc.a \
 | 
						|
	-l:libethsocket.a \
 | 
						|
	-l:libethcamsmi.a \
 | 
						|
	-l:libtse.a \
 | 
						|
	-l:liblogfile.a \
 | 
						|
 | 
						|
# sifarsdk/out/libs
 | 
						|
EXTRA_LIB += \
 | 
						|
	-l:libFtpManager.a \
 | 
						|
	-l:libServers.a \
 | 
						|
	-l:libLog.a \
 | 
						|
	-l:libAtManager.a \
 | 
						|
	-l:libAtCommand.a \
 | 
						|
	-l:libReturnCode.a \
 | 
						|
	-l:libConfig.a \
 | 
						|
	$(APP_DIR)/sifarsdk/out/libs/libcurl.a \
 | 
						|
	$(APP_DIR)/sifarsdk/out/libs/libssl.a \
 | 
						|
	$(APP_DIR)/sifarsdk/out/libs/libcrypto.a \
 | 
						|
	-lstdc++
 | 
						|
 | 
						|
ifeq "$(UI_STYLE)" "UI_STYLE_LVGL"
 | 
						|
EXTRA_LIB += \
 | 
						|
	-l:liblvgl.a \
 | 
						|
 | 
						|
endif
 | 
						|
 | 
						|
EXTRA_LIB += \
 | 
						|
	-l:libvendor_ai2.a \
 | 
						|
	-l:libvendor_ai2_pub.a \
 | 
						|
	-l:libprebuilt_ai.a
 | 
						|
 | 
						|
#######################################################################################
 | 
						|
#--------- SOURCEs FOR APPLICATION ---------------------------------------------------#
 | 
						|
#######################################################################################
 | 
						|
 | 
						|
# system
 | 
						|
SRC = \
 | 
						|
	./code/source/sf_lpa/Extra/base64/base64.c \
 | 
						|
	./code/source/sf_lpa/Extra/sha256/sha-256.c \
 | 
						|
	./code/source/sf_lpa/LPA_SDK/src/lpasdk_api.c \
 | 
						|
	./code/source/sf_lpa/LPA_SDK/src/lpasdk_api_error.c \
 | 
						|
	./code/source/sf_lpa/LPA_SDK/src/driver/httpmedia_curl.c \
 | 
						|
	./code/source/sf_lpa/LPA_SDK/src/driver/semedia_genericmodem.c \
 | 
						|
	./code/source/sf_lpa/LPA_SDK/src/driver/semedia_winscard.c \
 | 
						|
	./code/source/sf_lpa/LPA_SDK/src/core/bertlv_object.c \
 | 
						|
	./code/source/sf_lpa/LPA_SDK/src/core/httpmedia_base.c \
 | 
						|
	./code/source/sf_lpa/LPA_SDK/src/core/httpmedia_manager.c \
 | 
						|
	./code/source/sf_lpa/LPA_SDK/src/core/isdr_applet_manager.c \
 | 
						|
	./code/source/sf_lpa/LPA_SDK/src/core/lpa_config_file.c \
 | 
						|
	./code/source/sf_lpa/LPA_SDK/src/core/lpa_log.c \
 | 
						|
	./code/source/sf_lpa/LPA_SDK/src/core/lpa_manager.c \
 | 
						|
	./code/source/sf_lpa/LPA_SDK/src/core/lpa_manager_api.c \
 | 
						|
	./code/source/sf_lpa/LPA_SDK/src/core/lpa_manager_es9plus.c \
 | 
						|
	./code/source/sf_lpa/LPA_SDK/src/core/lpa_manager_es10b.c \
 | 
						|
	./code/source/sf_lpa/LPA_SDK/src/core/lpa_manager_es10c.c \
 | 
						|
	./code/source/sf_lpa/LPA_SDK/src/core/lpa_manager_helper.c \
 | 
						|
	./code/source/sf_lpa/LPA_SDK/src/core/lpa_memory.c \
 | 
						|
	./code/source/sf_lpa/LPA_SDK/src/core/rawdata_object.c \
 | 
						|
	./code/source/sf_lpa/LPA_SDK/src/core/semedia_base.c \
 | 
						|
	./code/source/sf_lpa/LPA_SDK/src/core/semedia_manager.c \
 | 
						|
	./code/source/sf_lpa/LPA_SDK/src/core/util.c \
 | 
						|
	./code/source/app/sf_device.c \
 | 
						|
	./code/source/app/sf_app.c \
 | 
						|
	./code/source/app/sf_common.c \
 | 
						|
	./code/source/app/sf_system.c \
 | 
						|
	./code/source/app/sf_service.c \
 | 
						|
	./code/source/app/sf_dbg.c \
 | 
						|
    ./code/source/gpio/sf_hal_gpio.c \
 | 
						|
	./code/source/logMng/sf_log.c \
 | 
						|
	./code/source/storeMng/sf_storeMng.c \
 | 
						|
	./code/source/commMng/sf_message_queue.c \
 | 
						|
	./code/source/commMng/sf_share_mem.c \
 | 
						|
	./code/source/fileMng/cJSON.c \
 | 
						|
	./code/source/fileMng/sf_fileMng.c \
 | 
						|
	./code/source/fileMng/sf_file.c \
 | 
						|
	./code/source/signatureMng/aos_util.c \
 | 
						|
	./code/source/signatureMng/apr_sha1.c \
 | 
						|
	./code/source/signatureMng/HMACSHA.c \
 | 
						|
	./code/source/signatureMng/sha256.c \
 | 
						|
	./code/source/paramMng/sf_param_common.c \
 | 
						|
	./code/source/qrcodeMng/bitstream.c \
 | 
						|
	./code/source/qrcodeMng/mask.c \
 | 
						|
	./code/source/qrcodeMng/mmask.c \
 | 
						|
	./code/source/qrcodeMng/mqrspec.c \
 | 
						|
	./code/source/qrcodeMng/qrenc.c \
 | 
						|
	./code/source/qrcodeMng/qrencode.c \
 | 
						|
	./code/source/qrcodeMng/qrinput.c \
 | 
						|
	./code/source/qrcodeMng/qrspec.c \
 | 
						|
	./code/source/qrcodeMng/rscode.c \
 | 
						|
	./code/source/qrcodeMng/sf_base64.c \
 | 
						|
	./code/source/qrcodeMng/sf_bmp.c \
 | 
						|
	./code/source/qrcodeMng/sf_qrcode.c \
 | 
						|
	./code/source/qrcodeMng/split.c \
 | 
						|
	./code/source/ttyusb/sf_hal_ttyusb.c \
 | 
						|
	./code/source/4gMng/sf_4g_lpa.c \
 | 
						|
	./code/source/4gMng/sf_4G_sms_lpa_cmd.c \
 | 
						|
	./code/source/4gMng/sf_eg91_gps.c \
 | 
						|
	./code/source/4gMng/sf_eg91_server.c \
 | 
						|
	./code/source/4gMng/sf_eg91_sim.c \
 | 
						|
	./code/source/4gMng/sf_http_server.c \
 | 
						|
	./code/source/4gMng/sf_module.c \
 | 
						|
	./code/source/4gMng/sf_opera_adapt.c \
 | 
						|
	./code/source/4gMng/sf_ftp.c \
 | 
						|
	./code/source/4gMng/sf_sms.c \
 | 
						|
	./code/source/4gMng/sf_4G_auto_operation.c \
 | 
						|
	./code/source/dataMng/sf_dataMng.c \
 | 
						|
	./code/source/dataMng/sf_transdata1.c \
 | 
						|
	./code/source/dataMng/sf_datahttp.c \
 | 
						|
	./code/source/systemMng/sf_systemMng.c \
 | 
						|
	./code/source/systemMng/sf_commu_mcu_reg.c \
 | 
						|
	./code/source/systemMng/sf_commu_mcu.c \
 | 
						|
	./code/source/systemMng/sys_usrmem.c \
 | 
						|
	./code/source/systemMng/sf_mcu_upgrade.c \
 | 
						|
	./code/source/devMng/sf_dev_other.c \
 | 
						|
	./code/source/devMng/sf_dev_usb.c \
 | 
						|
	./code/source/devMng/sf_keymng.c \
 | 
						|
	./code/source/devMng/sf_ledmng.c \
 | 
						|
	./code/source/utils/mbedtls.c \
 | 
						|
	./code/source/utils/sf_aes.c \
 | 
						|
	./code/source/debugMng/sf_debug.c \
 | 
						|
	./code/source/updataMng/sf_md5.c \
 | 
						|
	./code/source/updataMng/sf_otamng.c \
 | 
						|
	./code/source/battery/sf_battery.c \
 | 
						|
	./code/source/sf_blue/src/client.c \
 | 
						|
	./code/source/sf_blue/src/gatt_service.c \
 | 
						|
	./code/source/sf_blue/src/hciconfig.c \
 | 
						|
	./code/source/sf_blue/src/mainloop.c \
 | 
						|
	./code/source/sf_blue/src/object.c \
 | 
						|
	./code/source/sf_blue/src/polkit.c \
 | 
						|
	./code/source/sf_blue/src/sf_blue_app.c \
 | 
						|
	./code/source/sf_blue/src/sf_blue_hal.c \
 | 
						|
	./code/source/sf_blue/src/util.c \
 | 
						|
	./code/source/sf_blue/src/watch.c \
 | 
						|
 | 
						|
#	./code/source/wifi/sf_data_transfer.c \
 | 
						|
#	./code/source/wifi/sf_svr_send.c \
 | 
						|
#	./code/source/wifi/sf_wifi_svr.c 
 | 
						|
 | 
						|
#--------- END OF SOURCEs FOR APPLICATION ---------------------------------------------
 | 
						|
 | 
						|
C_PREDEFINED += \
 | 
						|
	-DNETWORK_MODULE_EG915Q
 | 
						|
 | 
						|
#--------- ENVIRONMENT SETTING --------------------
 | 
						|
INCLUDES	= -I$(NVT_HDAL_DIR)/include -I$(LIBRARY_DIR)/include
 | 
						|
WARNING		= -Wall -Wundef -Wsign-compare -Wno-missing-braces -Wstrict-prototypes 
 | 
						|
COMPILE_OPTS	= $(INCLUDES) -I. -O2 -fPIC -ffunction-sections -fdata-sections
 | 
						|
CPPFLAGS	=
 | 
						|
CFLAGS		= $(PLATFORM_CFLAGS) $(PRJCFG_CFLAGS)
 | 
						|
C_FLAGS		= $(COMPILE_OPTS) $(EXTRA_INCLUDE) $(EXTRA_LIB_DIR) $(EXTRA_LIB) $(CPPFLAGS) $(CFLAGS) $(WARNING) $(C_PREDEFINED) 
 | 
						|
LD_FLAGS	=  $(EXTRA_LIB_DIR) $(EXTRA_LIB)
 | 
						|
 | 
						|
MAKEFLAGS += --silent
 | 
						|
 | 
						|
C_LDFLAGS = \
 | 
						|
	--sysroot=$(SYSROOT_DIR) \
 | 
						|
	--eh-frame-hdr \
 | 
						|
	-dynamic-linker $(DYNAMIC_LINKER) \
 | 
						|
	-X \
 | 
						|
	-m armelf_linux_eabi \
 | 
						|
	-T $(OUTPUT_DIR)/$(LDSCRIPT) \
 | 
						|
	-Map $(MAP_NAME) \
 | 
						|
	--start-group \
 | 
						|
	$(CRT_OBJ_BEGIN) \
 | 
						|
	$(EXTRA_LIB_DIR) \
 | 
						|
	$(EXTRA_LIB) \
 | 
						|
	$(CRT_OBJ_END) \
 | 
						|
	--end-group
 | 
						|
 | 
						|
#--------- END OF ENVIRONMENT SETTING -------------
 | 
						|
 | 
						|
#--------- Compiling -------------------
 | 
						|
BIN = sf_app
 | 
						|
 | 
						|
 | 
						|
HEADER = $(shell find . -name "*.h")
 | 
						|
 | 
						|
OBJ = $(SRC:.c=.o)
 | 
						|
 | 
						|
.PHONY: all clean install
 | 
						|
 | 
						|
ifeq ($(SIFAR_OPEN_SOURCE),no)
 | 
						|
all:
 | 
						|
	@echo ">>> Skip"
 | 
						|
clean:
 | 
						|
	@echo ">>> Skip"
 | 
						|
 | 
						|
else
 | 
						|
all: $(BIN)
 | 
						|
 | 
						|
	
 | 
						|
$(BIN): $(OBJ)
 | 
						|
	$(CC) -o $@ $(OBJ) $(LD_FLAGS)
 | 
						|
	$(NM) -n $@ > $@.sym
 | 
						|
	$(STRIP) $@
 | 
						|
	$(OBJCOPY) -R .comment -R .note.ABI-tag -R .gnu.version $@
 | 
						|
 | 
						|
%.o: %.c $(HEADER)
 | 
						|
	$(CC) $(C_FLAGS) -c $< -o $@ 
 | 
						|
 | 
						|
clean:
 | 
						|
	rm -vf $(BIN) $(OBJ) $(BIN).sym *.o *.a *.so*
 | 
						|
endif
 | 
						|
 | 
						|
install:
 | 
						|
	@echo ">>>>>>>>>>>>>>>>>>> $@ >>>>>>>>>>>>>>>>>>>"
 | 
						|
	@mkdir -p $(APP_DIR)/output
 | 
						|
	@mkdir -p $(ROOTFS_DIR)/rootfs/lib/firmware
 | 
						|
	#@mkdir -p $(ROOTFS_DIR)/rootfs/home/payton/blue/dbus-1/system.d
 | 
						|
	#@mkdir -p $(ROOTFS_DIR)/rootfs/home/payton/blue/etc/dbus-1
 | 
						|
	#@mkdir -p $(ROOTFS_DIR)/rootfs/home/payton/blue/etc/dbus-1/session.d
 | 
						|
	#@mkdir -p $(ROOTFS_DIR)/rootfs/home/payton/blue/etc/dbus-1/system.d
 | 
						|
	#@mkdir -p $(ROOTFS_DIR)/rootfs/home/payton/blue/share/dbus-1/services
 | 
						|
	#@mkdir -p $(ROOTFS_DIR)/rootfs/home/payton/blue/share/dbus-1/system-services
 | 
						|
	#@mkdir -p $(ROOTFS_DIR)/rootfs/home/payton/blue/share/dbus-1/session.d
 | 
						|
	#@mkdir -p $(ROOTFS_DIR)/rootfs/home/payton/blue/share/dbus-1/system.d
 | 
						|
	#@mkdir -p $(ROOTFS_DIR)/rootfs/home/payton/blue/var/run/dbus
 | 
						|
	@mkdir -p $(ROOTFS_DIR)/rootfs/usr/local/share/dbus-1/system-services
 | 
						|
	@mkdir -p $(ROOTFS_DIR)/rootfs/usr/share/dbus-1/system-services
 | 
						|
	@mkdir -p $(ROOTFS_DIR)/rootfs/usr/share/dbus-1/system.d
 | 
						|
	@mkdir -p $(ROOTFS_DIR)/rootfs/lib/dbus-1/system-services
 | 
						|
	@mkdir -p $(ROOTFS_DIR)/rootfs/usr/etc/dbus-1/system-services
 | 
						|
	@mkdir -p $(ROOTFS_DIR)/rootfs/usr/etc/dbus-1/system.d
 | 
						|
	@mkdir -p $(ROOTFS_DIR)/rootfs/usr/etc/dbus-1/session.d
 | 
						|
	@mkdir -p $(ROOTFS_DIR)/rootfs/usr/var/run/dbus
 | 
						|
	@cp -avf $(BIN) $(APP_DIR)/output
 | 
						|
	@cp -avf ${BIN} $(ROOTFS_DIR)/rootfs/usr/bin
 | 
						|
#	@cp -avf $(APP_DIR)/source/sf_app/build/QFirehose $(ROOTFS_DIR)/rootfs/usr/bin
 | 
						|
#	@cp -avf $(APP_DIR)/source/sf_app/build/QLog $(ROOTFS_DIR)/rootfs/usr/bin
 | 
						|
#	@cp -avf $(APP_DIR)/source/sf_app/build/quectel-CM $(ROOTFS_DIR)/rootfs/usr/bin
 | 
						|
#	@cp -avf $(APP_DIR)/source/sf_app/build/DownloadCLI $(ROOTFS_DIR)/rootfs/usr/bin	
 | 
						|
	@cp -avf $(APP_DIR)/sifarsdk/out/bin/quectel-CM-EG915Q $(ROOTFS_DIR)/rootfs/usr/bin
 | 
						|
	@cp -avf $(APP_DIR)/sifarsdk/out/bin/quectel-CM-EG91 $(ROOTFS_DIR)/rootfs/usr/bin
 | 
						|
	@cp -avf $(APP_DIR)/sifarsdk/out/bin/QLog-EG915Q $(ROOTFS_DIR)/rootfs/usr/bin/QLog
 | 
						|
	@cp -avf $(APP_DIR)/sifarsdk/out/bin/DownloadCLI-EG915Q $(ROOTFS_DIR)/rootfs/usr/bin
 | 
						|
	@cp -avf $(APP_DIR)/sifarsdk/out/bin/QFirehose-EG91 $(ROOTFS_DIR)/rootfs/usr/bin
 | 
						|
	@cp -avf $(APP_DIR)/source/sf_app/build/rtl8723du_config $(ROOTFS_DIR)/rootfs/lib/firmware
 | 
						|
	@cp -avf $(APP_DIR)/source/sf_app/build/rtl8723du_fw $(ROOTFS_DIR)/rootfs/lib/firmware
 | 
						|
	@cp -avf $(APP_DIR)/source/sf_app/build/rtk_hciattach $(ROOTFS_DIR)/rootfs/usr/bin
 | 
						|
	@cp -avf $(APP_DIR)/source/sf_app/tools/blue/bin/dbus-daemon $(ROOTFS_DIR)/rootfs/usr/bin
 | 
						|
	@cp -avf $(APP_DIR)/source/sf_app/tools/blue/bin/bluetoothctl $(ROOTFS_DIR)/rootfs/usr/bin
 | 
						|
	@cp -avf $(APP_DIR)/source/sf_app/tools/blue/libexec/bluetooth/bluetoothd $(ROOTFS_DIR)/rootfs/usr/bin
 | 
						|
	#@cp -avf /home/payton/blue/etc/dbus-1/session.conf $(ROOTFS_DIR)/rootfs/home/payton/blue/etc/dbus-1
 | 
						|
	#@cp -avf /home/payton/blue/etc/dbus-1/system.conf $(ROOTFS_DIR)/rootfs/home/payton/blue/etc/dbus-1
 | 
						|
	#@cp -avf /home/payton/blue/dbus-1/system.d/bluetooth.conf $(ROOTFS_DIR)/rootfs/home/payton/blue/dbus-1/system.d/bluetooth.conf
 | 
						|
	#@cp -avf /home/payton/blue/share/dbus-1/session.conf $(ROOTFS_DIR)/rootfs/home/payton/blue/share/dbus-1/session.conf
 | 
						|
	#@cp -avf /home/payton/blue/share/dbus-1/system.conf $(ROOTFS_DIR)/rootfs/home/payton/blue/share/dbus-1/system.conf
 | 
						|
	#@cp -avf /home/payton/blue/share/dbus-1/session.conf $(ROOTFS_DIR)/rootfs/usr/share/dbus-1/session.conf
 | 
						|
	#@cp -avf /home/payton/blue/share/dbus-1/system.conf $(ROOTFS_DIR)/rootfs/usr/share/dbus-1/system.conf
 | 
						|
	#@cp -avf /home/payton/blue/share/dbus-1 $(ROOTFS_DIR)/rootfs/usr/share
 | 
						|
	#@cp -avf /home/payton/blue/share/dbus-1 $(ROOTFS_DIR)/rootfs/home/payton/blue/share
 | 
						|
	#@cp -ravf /home/payton/blue/var/lib/dbus $(ROOTFS_DIR)/rootfs/home/payton/blue/var/lib
 | 
						|
	@cp -avf $(APP_DIR)/source/sf_app/tools/blue/var/lib/dbus $(ROOTFS_DIR)/rootfs/var/lib
 | 
						|
	@cp -avf $(APP_DIR)/source/sf_app/tools/blue/etc/dbus-1 $(ROOTFS_DIR)/rootfs/usr/etc
 | 
						|
	@cp -avf $(APP_DIR)/source/sf_app/tools/blue/share/dbus-1 $(ROOTFS_DIR)/rootfs/usr/etc
 | 
						|
	#@cp -avf /home/payton/blue/etc/dbus-1 $(ROOTFS_DIR)/rootfs/home/payton/blue
 | 
						|
	@cp -avf $(APP_DIR)/source/sf_app/tools/blue/dbus-1/system.d/bluetooth.conf $(ROOTFS_DIR)/rootfs/usr/etc/dbus-1/system.d/bluetooth.conf
 | 
						|
	@echo ">>>>>>>>>>>>>>>>>>> $@ >>>>>>>>>>>>>>>>>>>"
 |