[Tizen 4.0] Selector Screen retained across views 76/125676/3 submit/tizen/20170524.061254 submit/tizen/20170607.055817 submit/tizen_4.0/20170811.094300 submit/tizen_4.0/20170911.092349 submit/tizen_4.0/20170915.103413 tizen_4.0.IoT.p1_release tizen_4.0.m2_release
authorbhutani.92 <bhutani.92@samsung.com>
Tue, 18 Apr 2017 10:37:25 +0000 (16:07 +0530)
committerbhutani.92 <bhutani.92@samsung.com>
Tue, 18 Apr 2017 12:48:03 +0000 (18:18 +0530)
Change-Id: Ifd5ca5a2b0f21115dd6e9a52ccd98a5909e88804
Signed-off-by: bhutani.92 <bhutani.92@samsung.com>
54 files changed:
Build/appendix.mk [new file with mode: 0644]
Build/basedef.mk [new file with mode: 0644]
Build/build_c.mk [new file with mode: 0644]
Build/build_edc.mk [new file with mode: 0644]
Build/build_po.mk [new file with mode: 0644]
Build/flags.mk [new file with mode: 0644]
Build/funcs.mk [new file with mode: 0644]
Build/makefile [new file with mode: 0644]
Build/makefile.mk [new file with mode: 0644]
Build/platform.mk [new file with mode: 0644]
Build/tooldef.mk [new file with mode: 0644]
music-chooser/Build/appendix.mk [new file with mode: 0644]
music-chooser/Build/basedef.mk [new file with mode: 0644]
music-chooser/Build/build_c.mk [new file with mode: 0644]
music-chooser/Build/build_edc.mk [new file with mode: 0644]
music-chooser/Build/build_po.mk [new file with mode: 0644]
music-chooser/Build/flags.mk [new file with mode: 0644]
music-chooser/Build/funcs.mk [new file with mode: 0644]
music-chooser/Build/makefile [new file with mode: 0644]
music-chooser/Build/makefile.mk [new file with mode: 0644]
music-chooser/Build/platform.mk [new file with mode: 0644]
music-chooser/Build/tooldef.mk [new file with mode: 0644]
sound-player/Build/appendix.mk [new file with mode: 0644]
sound-player/Build/basedef.mk [new file with mode: 0644]
sound-player/Build/build_c.mk [new file with mode: 0644]
sound-player/Build/build_edc.mk [new file with mode: 0644]
sound-player/Build/build_po.mk [new file with mode: 0644]
sound-player/Build/flags.mk [new file with mode: 0644]
sound-player/Build/funcs.mk [new file with mode: 0644]
sound-player/Build/makefile [new file with mode: 0644]
sound-player/Build/makefile.mk [new file with mode: 0644]
sound-player/Build/platform.mk [new file with mode: 0644]
sound-player/Build/tooldef.mk [new file with mode: 0644]
src/common/mp-common.c
src/include/music.h
src/view/mp-add-track-view.c
src/view/mp-list-view.c
src/view/mp-select-track-view.c
src/view/mp-view.c
src/widget/mp-album-list.c
src/widget/mp-artist-list.c
src/widget/mp-list.c
src/widget/mp-track-list.c
widget/Build/appendix.mk [new file with mode: 0644]
widget/Build/basedef.mk [new file with mode: 0644]
widget/Build/build_c.mk [new file with mode: 0644]
widget/Build/build_edc.mk [new file with mode: 0644]
widget/Build/build_po.mk [new file with mode: 0644]
widget/Build/flags.mk [new file with mode: 0644]
widget/Build/funcs.mk [new file with mode: 0644]
widget/Build/makefile [new file with mode: 0644]
widget/Build/makefile.mk [new file with mode: 0644]
widget/Build/platform.mk [new file with mode: 0644]
widget/Build/tooldef.mk [new file with mode: 0644]

diff --git a/Build/appendix.mk b/Build/appendix.mk
new file mode 100644 (file)
index 0000000..2e06c34
--- /dev/null
@@ -0,0 +1 @@
+# Appendix\r
diff --git a/Build/basedef.mk b/Build/basedef.mk
new file mode 100644 (file)
index 0000000..a762983
--- /dev/null
@@ -0,0 +1,34 @@
+# Add inputs and outputs from these tool invocations to the build variables
+
+
+OS_NAME := $(shell $(UNAME))
+
+
+#ifeq ($(origin BUILD_CONFIG), undefined)
+BUILD_CONFIG ?= Debug
+#endif
+
+#ifeq ($(origin ARCH), undefined)
+ARCH ?= i386
+#endif
+
+#ifeq ($(origin PROJPATH), undefined)
+PROJPATH ?= .
+#endif
+
+
+#ifeq ($(origin PROJ_PATH), undefined)
+PROJ_PATH ?= $(PROJPATH)
+#endif
+
+#ifeq ($(strip $(OUTPUT_DIR)),)
+#OUTPUT_DIR ?= $(PROJ_PATH)/$(BUILD_CONFIG)
+#endif
+
+#ifeq ($(strip $(BUILD_ARCH)),)
+BUILD_ARCH ?= $(ARCH)
+#endif
+
+#ifeq ($(strip $(ENVENTOR_PATH)),)
+ENVENTOR_PATH ?= $(SDK_TOOLPATH)/enventor
+#endif
diff --git a/Build/build_c.mk b/Build/build_c.mk
new file mode 100644 (file)
index 0000000..5fffeea
--- /dev/null
@@ -0,0 +1,113 @@
+# C/C++ build script
+
+
+_FUNC_EXT2O = $(patsubst %.$(3),$(1)/%.o,$(2))
+_FUNC_C2O = $(call _FUNC_EXT2O,$(1),$(2),c)
+_FUNC_CPP2O = $(call _FUNC_EXT2O,$(1),$(2),cpp)
+
+
+# parameter :
+#  $(1) - C/C++ soruce file
+#  $(2) - output path
+#  $(3) - .ext
+#  $(4) - unique id
+CONVERT_ESC_EXT_TO_O = $(addprefix $(2)/,$(notdir $(patsubst %.$(3),%-$(4).o,$(1))))
+
+#CONVERT_ESC_C_TO_O = $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),c)
+#CONVERT_ESC_CPP_TO_O = $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),cpp)
+
+
+# parameter :
+#  $(1) - encoded one C/C++ soruce file
+#  $(2) - output path
+#  $(3) - ext title (C/C++)
+#  $(4) - ext (c/cpp)
+#  $(5) - compiler ($(CC)/$(CXX))
+#  $(6) - build opt
+#  $(7) - build opt file
+# output :
+#  $(8) - output files list
+define C_BUILD_PROC_RAW
+$(call CONVERT_ESC_EXT_TO_O,$(1),$(2),$(4),$(8)) : $(call DECODE_4MAKE,$(1)) $(7)
+       @echo '  Building file: $$<'
+       @echo '  Invoking: $(3) Compiler'
+       $$(call MAKEDIRS,$$(@D))
+       $(5) -c "$$<" -o "$$@" $(6) -Wp,@$(7)
+       @echo '  Finished building: $$<'
+$(9) += $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),$(4),$(8))
+endef
+
+
+# parameter :
+#  $(1) - output paths
+#  $(2) - src paths
+#  $(3) - inc paths
+#  $(4) - inc files
+#  $(5) - Defs
+#  $(6) - UnDefs
+#  $(7) - compiler opt
+#  $(8) - compiler opt file
+#  $(9) - ext title (C/C++)
+#  $(10) - ext (c/cpp)
+#  $(11) - compiler ($(CC)/$(CXX))
+# output :
+#  $(12) - OBJS
+# return :
+#  none
+define C_PROC_RAW
+
+_OUTPUT_DIR := $$(strip $(1))#
+_SRCS := $(2)#
+_INCS := $(3)#
+_INC_FILES := $(4)#
+_DEFS := $(5)#
+_UNDEFS := $(6)#
+
+_OPT := $(7)
+_OPT_FILE := $(8)
+
+_EXT_TITLE := $(9)
+_EXT := $(10)
+_COMPILER := $(11)
+
+#_OUTPUT_FILES := $(12)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS))
+_ENC_SRCS := $$(filter %.$$(_EXT),$$(_ENC_SRCS))
+
+ifneq ($$(strip $$(_SRCS)),)
+
+_NORMAL_SRCS := $$(filter-out %*.$$(_EXT),$$(_ENC_SRCS))
+_WIDLCARD_SRCS := $$(filter %*.$$(_EXT),$$(_ENC_SRCS))
+
+_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
+             $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))
+
+ifneq ($$(strip $$(_ALL_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS))
+
+_CDEFS := $$(CDEFS)
+_CDEFS += $$(addprefix -D,$$(_DEFS))
+_CDEFS += $$(addprefix -U,$$(_UNDEFS))
+
+_ENC_C_INCS := $$(call ENCODE_4MAKE,$$(_INCS))
+_ENC_C_INCS := $$(addprefix -I,$$(_ENC_C_INCS))
+
+_ENC_INC_FILES := $$(call ENCODE_4MAKE,$$(_INC_FILES))
+_ENC_INC_FILES += $$(addprefix -include,$$(_ENC_INC_FILES))
+
+_C_INCS := $$(call DECODE_4MAKE,$$(_ENC_C_INCS) $$(_ENC_C_INC_FILES))
+
+_DEFS := $$(_CDEFS) $$(_C_INCS) -I"pch" $$(_OPT)
+
+_UNIQUE_ID = $$(firstword $$(shell echo $$(var) | $$(CKSUM)))
+
+$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call C_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_EXT_TITLE),$$(_EXT),$$(_COMPILER),$$(_DEFS),$$(_OPT_FILE),$$(_UNIQUE_ID),$(12))))
+
+endif  # (_(strip _(_ALL_SRCS)),)
+
+endif  # (_(strip _(_SRCS)),)
+
+
+endef
diff --git a/Build/build_edc.mk b/Build/build_edc.mk
new file mode 100644 (file)
index 0000000..6f85fdd
--- /dev/null
@@ -0,0 +1,81 @@
+# EDC build script
+
+
+FUNC_EDC2EDJ = $(patsubst %.edc,$(2)/%.edj,$(1))
+
+# parameter :
+#  $(1) - C/C++ soruce file
+#  $(2) - output path
+CONVERT_ESC_EDC_TO_EDJ = $(call CONVERT_4MAKE_TO_OUT,$(call FUNC_EDC2EDJ,$(1),$(2)))
+
+
+# parameter :
+#  $(1) - encoded one C/C++ soruce file
+#  $(2) - output path
+#  $(3) - build opt
+# output :
+#  $(4) - output files list
+define EDJ_BUILD_PROC_RAW
+$(call CONVERT_ESC_EDC_TO_EDJ,$(1),$(2)) : $(call DECODE_4MAKE,$(1))
+       @echo '  Building file: $$<'
+       @echo '  Invoking: EDC Resource Compiler'
+       $$(call MAKEDIRS,$$(@D))
+       $$(EDJE_CC) $(3) "$$<" "$$@"
+       @echo '  Finished building: $$<'
+$(4) += $(call CONVERT_ESC_EDC_TO_EDJ,$(1),$(2))
+endef
+
+
+# parameter :
+#  $(1) - output paths
+#  $(2) - src paths
+#  $(3) - image inc paths
+#  $(4) - sound inc paths
+#  $(5) - font inc paths
+# output :
+#  $(6) - OBJS 
+# return :
+#  none
+define EDJ_PROC_RAW
+
+_OUTPUT_DIR := $$(strip $(1))#
+_SRCS := $(2)# 
+_IMAGE_DIRS := $(3)# 
+_SOUND_DIRS := $(4)# 
+_FONT_DIRS := $(5)# 
+
+ifneq ($$(strip $$(_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS)) 
+
+_NORMAL_SRCS := $$(filter-out %*.edc,$$(_ENC_SRCS))
+_WIDLCARD_SRCS := $$(filter %*.edc,$$(_ENC_SRCS))
+
+_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
+             $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))
+
+ifneq ($$(strip $$(_ALL_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS)) 
+
+_COMPILER_FLAGS := -id "$$(ENVENTOR_SHARED_RES_PATH)/images"
+_COMPILER_FLAGS += -sd "$$(ENVENTOR_SHARED_RES_PATH)/sounds"
+_COMPILER_FLAGS += -fd "$$(ENVENTOR_SHARED_RES_PATH)/fonts"
+
+ifneq ($$(strip $$(_IMAGE_DIRS)),)
+_COMPILER_FLAGS += $$(addprefix -id ,$$(_IMAGE_DIRS))
+endif
+ifneq ($$(strip $$(_SOUND_DIRS)),)
+_COMPILER_FLAGS += $$(addprefix -sd ,$$(_SOUND_DIRS))
+endif
+ifneq ($$(strip $$(_FONT_DIRS)),)
+_COMPILER_FLAGS += $$(addprefix -fd ,$$(_FONT_DIRS))
+endif
+
+$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call EDJ_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_COMPILER_FLAGS),$(6))))
+
+endif  # (_(strip _(_ALL_SRCS)),)
+
+endif  # (_(strip _(_SRCS)),)
+
+endef
diff --git a/Build/build_po.mk b/Build/build_po.mk
new file mode 100644 (file)
index 0000000..d88d71a
--- /dev/null
@@ -0,0 +1,64 @@
+# PO build script
+
+
+_FUNC_PO2MO = $(patsubst %.po,$(2)/res/locale/%/LC_MESSAGES/$(3).mo,$(notdir $(1)))
+
+
+# parameter :
+#  $(1) - C/C++ soruce file
+#  $(2) - output path
+#  $(3) - app name
+CONVERT_ESC_PO_TO_MO = $(call CONVERT_4MAKE_TO_OUT,$(call _FUNC_PO2MO,$(1),$(2),$(3)))
+
+
+# parameter :
+#  $(1) - encoded one C/C++ soruce file
+#  $(2) - output path
+#  $(3) - app name
+# output :
+#  $(4) - output files list
+define MO_BUILD_PROC_RAW
+$(call CONVERT_ESC_PO_TO_MO,$(1),$(2),$(3)) : $(call DECODE_4MAKE,$(1))
+       @echo '  Building file: $$<'
+       @echo '  Invoking: msgfmt String Formatter'
+       $$(call MAKEDIRS,$$(@D))
+       $$(MSGFMT) -o "$$@" "$$<"
+       @echo '  Finished building: $$<'
+$(4) += $(call CONVERT_ESC_PO_TO_MO,$(1),$(2),$(3))
+endef
+
+# parameter :
+#  $(1) - output dir
+#  $(2) - src paths
+#  $(3) - app name
+# output :
+#  $(4) - OBJS 
+
+define MO_PROC_RAW
+
+_OUTPUT_DIR := $(1)
+_SRCS := $(2)
+_APPNAME := $(3)
+
+ifneq ($$(strip $$(_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS)) 
+
+_NORMAL_SRCS := $$(filter-out %*.po,$$(_ENC_SRCS))
+_WIDLCARD_SRCS := $$(filter %*.po,$$(_ENC_SRCS))
+
+_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
+             $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))
+
+ifneq ($$(strip $$(_ALL_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS)) 
+
+$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call MO_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_APPNAME),$(4))))
+
+endif  # (_(strip _(_ALL_SRCS)),)
+
+endif  # (_(strip _(_SRCS)),)
+
+endef
diff --git a/Build/flags.mk b/Build/flags.mk
new file mode 100644 (file)
index 0000000..1f3c7f8
--- /dev/null
@@ -0,0 +1,16 @@
+
+DEBUG_OP = -g3 
+CPP_DEBUG_OP = 
+
+OPTIMIZATION_OP = -O0 
+CPP_OPTIMIZATION_OP = 
+
+COMPILE_FLAGS = $(DEBUG_OP) $(OPTIMIZATION_OP) -Wall -c -fmessage-length=0 -fPIC 
+
+CPP_COMPILE_FLAGS = $(CPP_DEBUG_OP) $(CPP_OPTIMIZATION_OP) 
+
+LINK_FLAGS = -shared -Wl,--no-undefined 
+
+AR_FLAGS = 
+
+EDC_COMPILE_FLAGS = 
\ No newline at end of file
diff --git a/Build/funcs.mk b/Build/funcs.mk
new file mode 100644 (file)
index 0000000..3ba778b
--- /dev/null
@@ -0,0 +1,50 @@
+
+BSLASH := \\#
+NULL_CHAR := #
+SPACE := \ #
+COLON := :#
+DOTDOT := ..#
+SPACE_ESC := &sp;#
+COLON_ESC := &co;#
+SPACE_OUT := ~sp~#
+COLON_OUT := ~co~#
+DOTDOT_OUT := ~dtdt~#
+
+BSLASH2SLASH = $(subst $(BSLASH),/,$(1))
+
+REMOVE_TAIL = $(patsubst %/,%,$(1))
+
+#LOWER_CASE = $(shell echo translit($(1),[A-Z],[a-z])|$(M4))
+LOWER_CASE = $(shell echo $(1)|$(TR) [A-Z] [a-z])
+
+#ifneq ($(findstring Windows,$(OS)),)
+# ...
+#endif
+
+FIND_FILES = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///')
+FIND_FILES_ESC = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///' -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+FIND_FILES_4MAKE = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///')
+
+FIND_FILES_ABS = $(shell $(FIND) $(1))
+FIND_FILES_ABS_4MAKE = $(shell $(FIND) $(1) -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+FIND_FILES_ABS_ESC = $(shell $(FIND) $(1) -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+
+FIND_FILES_4MAKE = $(shell $(FIND) $(1) | $(SED) 's/ /\\\ /g')
+
+#ENCODE_ESC = $(shell echo $(1) | $(SED) -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+#DECODE_ESC = $(shell echo $(1) | $(SED) -e 's/$(BSLASH)&co;/:/g' -e 's/$(BSLASH)&sp;/$(BSLASH) / g')
+ENCODE_ESC = $(subst $(SPACE),$(SPACE_ESC),$(subst $(COLON),$(COLON_ESC),$(1)))
+DECODE_ESC = $(subst $(COLON_ESC),$(COLON),$(subst $(SPACE_ESC),$(SPACE),$(1)))
+ENCODE_4MAKE = $(subst $(SPACE),$(SPACE_ESC),$(1))
+DECODE_4MAKE = $(subst $(SPACE_ESC),$(SPACE),$(1))
+
+CONVERT_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON),$(COLON_OUT),$(subst $(SPACE),$(SPACE_OUT),$(1))))
+CONVERT_ESC_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON_ESC),$(COLON_OUT),$(subst $(SPACE_ESC),$(SPACE_OUT),$(1))))
+CONVERT_4MAKE_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON),$(COLON_OUT),$(subst $(SPACE_ESC),$(SPACE_OUT),$(1))))
+
+PROC_NO_EXIST = $(if $(wildcard $(1)),,$(call $(2),$(1)))
+define MAKEDIRS0
+       @echo '  Building directory: $(1)'
+       @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(1))
+endef
+MAKEDIRS = $(call PROC_NO_EXIST,$(1),MAKEDIRS0)
diff --git a/Build/makefile b/Build/makefile
new file mode 100644 (file)
index 0000000..f491b50
--- /dev/null
@@ -0,0 +1,34 @@
+# 
+# Usege : make -f <proj_root>/Build/makefile -C <proj_root> 
+#
+BUILD_SCRIPT_VERSION := 1.1.0
+
+.PHONY : app_version app_build app_clean build_version
+
+
+all : app_build
+
+clean : app_clean
+
+version : build_version
+
+#PROJ_ROOT = .
+BUILD_ROOT := $(PROJ_PATH)/Build#
+
+ifeq ($(MAKE_NAME),mingw32-make)
+ifneq ($(SHELL),)
+OPTIONS += --eval="SHELL=$(SHELL)"
+endif
+endif
+
+app_build :
+       @echo $(MAKE) -f "$(BUILD_ROOT)/makefile.mk"
+       @$(MAKE_BIN) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS)
+
+app_clean :
+       @$(MAKE) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS) clean
+
+build_version :
+       @echo makefile : $(BUILD_SCRIPT_VERSION)
+       @$(MAKE) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS) version
diff --git a/Build/makefile.mk b/Build/makefile.mk
new file mode 100644 (file)
index 0000000..205a3ad
--- /dev/null
@@ -0,0 +1,197 @@
+#
+# Usege : make -f <proj_root>/Build/makefile -C <proj_root>
+#
+
+BUILD_SCRIPT_VERSION := 1.2.3
+
+.PHONY : app_version app_clean build_version
+
+
+all : app_build
+
+clean : app_clean
+
+version : build_version
+
+
+#PROJ_ROOT := $(call BSLASH2SLASH,$(PROJ_PATH))
+PROJ_ROOT := .
+BUILD_ROOT := $(PROJ_ROOT)/Build
+
+include $(BUILD_ROOT)/basedef.mk
+
+include $(PROJ_ROOT)/project_def.prop
+-include $(PROJ_ROOT)/build_def.prop
+
+include $(BUILD_ROOT)/funcs.mk
+
+-include $(BUILD_ROOT)/tooldef.mk
+-include $(BUILD_ROOT)/flags.mk
+-include $(BUILD_ROOT)/platform.mk
+
+
+APPTYPE := $(type)
+
+OUTPUT_DIR := $(PROJ_ROOT)/$(BUILD_CONFIG)
+OBJ_OUTPUT := $(OUTPUT_DIR)/objs
+
+LOWER_APPNAME := $(call LOWER_CASE,$(APPNAME))
+APPID2 := $(subst $(basename $(APPID)).,,$(APPID))
+
+ifeq ($(strip $(APPTYPE)),app)
+APPFILE := $(OUTPUT_DIR)/$(LOWER_APPNAME)
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).a
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).so
+endif
+
+ifneq ($(strip $(PLATFORM_INCS)),)
+PLATFORM_INCS_FILE := $(OBJ_OUTPUT)/platform_incs_file.inc
+endif
+
+include $(BUILD_ROOT)/build_c.mk
+
+
+ifeq ($(strip $(APPTYPE)),app)
+EXT_OP := -fPIE
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+EXT_OP := -fPIE
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+EXT_OP := -fPIC
+endif
+
+C_OPT := $(COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) $(EXT_OP) --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) $(USER_C_OPTS)
+CPP_OPT := $(CPP_COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) $(EXT_OP) --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) $(USER_CPP_OPTS)
+C_OPT_FILE := $(PLATFORM_INCS_FILE)
+
+OBJS := #
+
+# Global C/C++
+ifeq ($(strip $(USER_ROOT)),)
+USER_ROOT := $(PROJ_ROOT)
+endif
+$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_SRCS),$(USER_INC_DIRS),$(USER_INC_FILES),$(USER_DEFS),$(USER_UNDEFS),$(C_OPT),$(C_OPT_FILE),C,c,$(CC),OBJS))
+$(foreach ext,cpp cxx cc c++ C,$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_SRCS),$(USER_INC_DIRS),$(USER_CPP_INC_FILES),$(USER_CPP_DEFS),$(USER_CPP_UNDEFS),$(CPP_OPT),$(C_OPT_FILE),C++,$(ext),$(CXX),OBJS)))
+
+# Individual C/C++
+ifneq ($(strip $(USER_EXT_C_KEYS)),)
+$(foreach var,$(USER_EXT_C_KEYS),$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_EXT_$(var)_SRCS),$(USER_EXT_$(var)_INC_DIRS),$(USER_EXT_$(var)_INC_FILES),$(USER_EXT_$(var)_DEFS),$(USER_EXT_$(var)_UNDEFS),$(C_OPT),$(C_OPT_FILE),C,c,$(CC),OBJS)))
+$(foreach ext,cpp cxx cc c++ C,$(foreach var,$(USER_EXT_C_KEYS),$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_EXT_$(var)_SRCS),$(USER_EXT_$(var)_INC_DIRS),$(USER_EXT_$(var)_CPP_INC_FILES),$(USER_EXT_$(var)_CPP_DEFS),$(USER_EXT_$(var)_CPP_UNDEFS),$(CPP_OPT),$(C_OPT_FILE),C++,$(ext),$(CXX),OBJS))))
+endif
+
+
+ifneq ($(strip $(USER_LIB_DIRS)),)
+_ENC_USER_LIB_DIRS := $(call ENCODE_4MAKE,$(USER_LIB_DIRS))
+_ENC_USER_LIB_DIRS := $(addprefix -L,$(_ENC_USER_LIB_DIRS))
+LIBPATHS := $(call DECODE_4MAKE,$(_ENC_USER_LIB_DIRS))
+endif
+
+LIBS += $(addprefix -l,$(USER_LIBS))
+
+UOBJS += $(USER_OBJS)
+
+M_OPT = -MMD -MP -MF"$(@:%.o=%.d)"
+
+DEPS := $(OBJS:.o=.d)
+
+ifneq ($(strip $(DEPS)),)
+-include $(PROJ_ROOT)/Build/$(DEPS)
+endif
+
+
+ifeq ($(strip $(APPTYPE)),app)
+$(APPFILE) : $(OBJS) $(UOBJS)
+       @echo '  Building target: $@'
+       @echo '  Invoking: C/C++ Linker'
+       $(call MAKEDIRS,$(@D))
+       $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -pie -lpthread --sysroot="$(SYSROOT)" -Xlinker --version-script="$(PROJ_ROOT)/.exportMap" $(RS_LIB_PATHS) $(RS_LIBRARIES) -Xlinker -rpath="/opt/usr/apps/$(APPID)/lib" -Werror-implicit-function-declaration $(USER_LINK_OPTS)
+       @echo '  Finished building target: $@'
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+$(APPFILE) : $(OBJS) $(UOBJS)
+       @echo '  Building target: $@'
+       @echo '  Invoking: Archive utility'
+       $(call MAKEDIRS,$(@D))
+       $(AR) -r $(APPFILE) $(OBJS) $(UOBJS) $(AR_FLAGS) $(USER_LINK_OPTS)
+       @echo '  Finished building target: $@'
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+$(APPFILE) : $(OBJS) $(UOBJS)
+       @echo '  Building target: $@'
+       @echo '  Invoking: C/C++ Linker'
+       $(call MAKEDIRS,$(@D))
+       $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -shared -lpthread --sysroot="$(SYSROOT)" $(RS_LIB_PATHS) $(RS_LIBRARIES) $(USER_LINK_OPTS)
+       @echo '  Finished building target: $@'
+endif
+
+
+$(OBJ_OUTPUT) :
+       $(call MAKEDIRS,$@)
+
+$(OUTPUT_DIR) :
+       $(call MAKEDIRS,$@)
+
+
+ifneq ($(strip $(PLATFORM_INCS)),)
+$(PLATFORM_INCS_FILE) : $(OBJ_OUTPUT)
+       @echo '  Building inc file: $@'
+ifneq ($(findstring Windows,$(OS)),)
+ifneq ($(findstring 3.82,$(MAKE_VERSION)),)
+       $(file > $@,$(PLATFORM_INCS))
+else
+       @echo $(PLATFORM_INCS) > $@
+endif
+else
+       @echo $(PLATFORM_INCS) > $@
+endif
+endif
+
+
+include $(BUILD_ROOT)/build_edc.mk
+
+#ifeq ($(strip $(ENVENTOR_SHARED_RES_PATH)),)
+ENVENTOR_SHARED_RES_PATH ?= $(ENVENTOR_PATH)/share/enventor
+#endif
+
+EDJ_FILES :=
+
+# Global EDCs
+ifneq ($(strip $(USER_EDCS)),)
+$(eval $(call EDJ_PROC_RAW,$(OUTPUT_DIR),$(USER_EDCS),$(USER_EDCS_IMAGE_DIRS),$(USER_EDCS_SOUND_DIRS),$(USER_EDCS_FONT_DIRS),EDJ_FILES))
+endif
+
+# Individual EDCs
+ifneq ($(strip $(USER_EXT_EDC_KEYS)),)
+$(foreach var,$(USER_EXT_EDC_KEYS),$(eval $(call EDJ_PROC_RAW,$(OUTPUT_DIR),$(USER_EXT_$(var)_EDCS),$(USER_EXT_$(var)_EDCS_IMAGE_DIRS),$(USER_EXT_$(var)_EDCS_SOUND_DIRS),$(USER_EXT_$(var)_EDCS_FONT_DIRS),EDJ_FILES)))
+endif
+
+
+include $(BUILD_ROOT)/build_po.mk
+
+MO_FILES :=
+
+# Global POs
+ifneq ($(strip $(USER_POS)),)
+$(eval $(call MO_PROC_RAW,$(OUTPUT_DIR),$(USER_POS),$(APPID2),MO_FILES))
+endif
+
+
+secondary-outputs : $(EDJ_FILES) $(MO_FILES)
+
+-include appendix.mk
+
+app_build : $(OUTPUT_DIR) $(APPFILE) secondary-outputs
+       @echo ========= done =========
+
+
+app_clean :
+       rm -f $(APPFILE)
+       rm -rf $(OUTPUT_DIR)
+
+build_version :
+       @echo makefile.mk : $(BUILD_SCRIPT_VERSION)
diff --git a/Build/platform.mk b/Build/platform.mk
new file mode 100644 (file)
index 0000000..294a38a
--- /dev/null
@@ -0,0 +1,15 @@
+# Add inputs and outputs from these tool invocations to the build variables
+
+SYSROOT = $(SBI_SYSROOT)
+
+USR_INCS := $(addprefix -I $(SYSROOT),$(PLATFORM_INCS_EX))
+
+ifeq ($(strip $(PLATFORM_LIB_PATHS)),)
+RS_LIB_PATHS := "$(SYSROOT)/usr/lib"
+else
+RS_LIB_PATHS := $(addprefix -L$(SYSROOT),$(PLATFORM_LIB_PATHS))
+endif
+
+RS_LIBRARIES := $(addprefix -l,$(RS_LIBRARIES_EX))
+
+PLATFORM_INCS = $(USR_INCS) -I"$(SDK_PATH)/library"
diff --git a/Build/tooldef.mk b/Build/tooldef.mk
new file mode 100644 (file)
index 0000000..c62243c
--- /dev/null
@@ -0,0 +1,70 @@
+# Add inputs and outputs from these tool invocations to the build variables
+
+ifneq ($(strip $(SHELL_BIN)),)
+SHELL = $(SHELL_BIN)
+else
+SHELL = sh
+endif
+
+ifneq ($(strip $(MKDIR_BIN)),)
+MKDIR = $(MKDIR_BIN)
+MKDIR_OP = -p
+else
+MKDIR = mkdir
+MKDIR_OP = -p
+endif
+
+ifneq ($(strip $(UNAME_BIN)),)
+UNAME = $(UNAME_BIN)
+else
+UNAME = uname
+endif
+
+ifneq ($(strip $(M4_BIN)),)
+M4 = $(M4_BIN)
+else
+M4 = m4
+endif
+
+ifneq ($(strip $(TR_BIN)),)
+TR = $(TR_BIN)
+else
+TR = tr
+endif
+
+ifneq ($(strip $(FIND_BIN)),)
+FIND = $(FIND_BIN)
+else
+FIND = find
+endif
+
+ifneq ($(strip $(SED_BIN)),)
+SED = $(SED_BIN)
+else
+SED = sed
+endif
+
+ifneq ($(strip $(GREP_BIN)),)
+GREP = $(GREP_BIN)
+else
+GREP = grep
+endif
+
+ifneq ($(strip $(EDJE_CC_BIN)),)
+EDJE_CC = $(EDJE_CC_BIN)
+else
+EDJE_CC = edje_cc
+endif
+
+ifneq ($(strip $(MSGFMT_BIN)),)
+MSGFMT = $(MSGFMT_BIN)
+else
+MSGFMT = msgfmt
+endif
+
+ifneq ($(strip $(CKSUM_BIN)),)
+CKSUM = $(CKSUM_BIN)
+else
+CKSUM = cksum
+endif
+
diff --git a/music-chooser/Build/appendix.mk b/music-chooser/Build/appendix.mk
new file mode 100644 (file)
index 0000000..2e06c34
--- /dev/null
@@ -0,0 +1 @@
+# Appendix\r
diff --git a/music-chooser/Build/basedef.mk b/music-chooser/Build/basedef.mk
new file mode 100644 (file)
index 0000000..a762983
--- /dev/null
@@ -0,0 +1,34 @@
+# Add inputs and outputs from these tool invocations to the build variables
+
+
+OS_NAME := $(shell $(UNAME))
+
+
+#ifeq ($(origin BUILD_CONFIG), undefined)
+BUILD_CONFIG ?= Debug
+#endif
+
+#ifeq ($(origin ARCH), undefined)
+ARCH ?= i386
+#endif
+
+#ifeq ($(origin PROJPATH), undefined)
+PROJPATH ?= .
+#endif
+
+
+#ifeq ($(origin PROJ_PATH), undefined)
+PROJ_PATH ?= $(PROJPATH)
+#endif
+
+#ifeq ($(strip $(OUTPUT_DIR)),)
+#OUTPUT_DIR ?= $(PROJ_PATH)/$(BUILD_CONFIG)
+#endif
+
+#ifeq ($(strip $(BUILD_ARCH)),)
+BUILD_ARCH ?= $(ARCH)
+#endif
+
+#ifeq ($(strip $(ENVENTOR_PATH)),)
+ENVENTOR_PATH ?= $(SDK_TOOLPATH)/enventor
+#endif
diff --git a/music-chooser/Build/build_c.mk b/music-chooser/Build/build_c.mk
new file mode 100644 (file)
index 0000000..5fffeea
--- /dev/null
@@ -0,0 +1,113 @@
+# C/C++ build script
+
+
+_FUNC_EXT2O = $(patsubst %.$(3),$(1)/%.o,$(2))
+_FUNC_C2O = $(call _FUNC_EXT2O,$(1),$(2),c)
+_FUNC_CPP2O = $(call _FUNC_EXT2O,$(1),$(2),cpp)
+
+
+# parameter :
+#  $(1) - C/C++ soruce file
+#  $(2) - output path
+#  $(3) - .ext
+#  $(4) - unique id
+CONVERT_ESC_EXT_TO_O = $(addprefix $(2)/,$(notdir $(patsubst %.$(3),%-$(4).o,$(1))))
+
+#CONVERT_ESC_C_TO_O = $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),c)
+#CONVERT_ESC_CPP_TO_O = $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),cpp)
+
+
+# parameter :
+#  $(1) - encoded one C/C++ soruce file
+#  $(2) - output path
+#  $(3) - ext title (C/C++)
+#  $(4) - ext (c/cpp)
+#  $(5) - compiler ($(CC)/$(CXX))
+#  $(6) - build opt
+#  $(7) - build opt file
+# output :
+#  $(8) - output files list
+define C_BUILD_PROC_RAW
+$(call CONVERT_ESC_EXT_TO_O,$(1),$(2),$(4),$(8)) : $(call DECODE_4MAKE,$(1)) $(7)
+       @echo '  Building file: $$<'
+       @echo '  Invoking: $(3) Compiler'
+       $$(call MAKEDIRS,$$(@D))
+       $(5) -c "$$<" -o "$$@" $(6) -Wp,@$(7)
+       @echo '  Finished building: $$<'
+$(9) += $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),$(4),$(8))
+endef
+
+
+# parameter :
+#  $(1) - output paths
+#  $(2) - src paths
+#  $(3) - inc paths
+#  $(4) - inc files
+#  $(5) - Defs
+#  $(6) - UnDefs
+#  $(7) - compiler opt
+#  $(8) - compiler opt file
+#  $(9) - ext title (C/C++)
+#  $(10) - ext (c/cpp)
+#  $(11) - compiler ($(CC)/$(CXX))
+# output :
+#  $(12) - OBJS
+# return :
+#  none
+define C_PROC_RAW
+
+_OUTPUT_DIR := $$(strip $(1))#
+_SRCS := $(2)#
+_INCS := $(3)#
+_INC_FILES := $(4)#
+_DEFS := $(5)#
+_UNDEFS := $(6)#
+
+_OPT := $(7)
+_OPT_FILE := $(8)
+
+_EXT_TITLE := $(9)
+_EXT := $(10)
+_COMPILER := $(11)
+
+#_OUTPUT_FILES := $(12)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS))
+_ENC_SRCS := $$(filter %.$$(_EXT),$$(_ENC_SRCS))
+
+ifneq ($$(strip $$(_SRCS)),)
+
+_NORMAL_SRCS := $$(filter-out %*.$$(_EXT),$$(_ENC_SRCS))
+_WIDLCARD_SRCS := $$(filter %*.$$(_EXT),$$(_ENC_SRCS))
+
+_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
+             $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))
+
+ifneq ($$(strip $$(_ALL_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS))
+
+_CDEFS := $$(CDEFS)
+_CDEFS += $$(addprefix -D,$$(_DEFS))
+_CDEFS += $$(addprefix -U,$$(_UNDEFS))
+
+_ENC_C_INCS := $$(call ENCODE_4MAKE,$$(_INCS))
+_ENC_C_INCS := $$(addprefix -I,$$(_ENC_C_INCS))
+
+_ENC_INC_FILES := $$(call ENCODE_4MAKE,$$(_INC_FILES))
+_ENC_INC_FILES += $$(addprefix -include,$$(_ENC_INC_FILES))
+
+_C_INCS := $$(call DECODE_4MAKE,$$(_ENC_C_INCS) $$(_ENC_C_INC_FILES))
+
+_DEFS := $$(_CDEFS) $$(_C_INCS) -I"pch" $$(_OPT)
+
+_UNIQUE_ID = $$(firstword $$(shell echo $$(var) | $$(CKSUM)))
+
+$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call C_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_EXT_TITLE),$$(_EXT),$$(_COMPILER),$$(_DEFS),$$(_OPT_FILE),$$(_UNIQUE_ID),$(12))))
+
+endif  # (_(strip _(_ALL_SRCS)),)
+
+endif  # (_(strip _(_SRCS)),)
+
+
+endef
diff --git a/music-chooser/Build/build_edc.mk b/music-chooser/Build/build_edc.mk
new file mode 100644 (file)
index 0000000..6f85fdd
--- /dev/null
@@ -0,0 +1,81 @@
+# EDC build script
+
+
+FUNC_EDC2EDJ = $(patsubst %.edc,$(2)/%.edj,$(1))
+
+# parameter :
+#  $(1) - C/C++ soruce file
+#  $(2) - output path
+CONVERT_ESC_EDC_TO_EDJ = $(call CONVERT_4MAKE_TO_OUT,$(call FUNC_EDC2EDJ,$(1),$(2)))
+
+
+# parameter :
+#  $(1) - encoded one C/C++ soruce file
+#  $(2) - output path
+#  $(3) - build opt
+# output :
+#  $(4) - output files list
+define EDJ_BUILD_PROC_RAW
+$(call CONVERT_ESC_EDC_TO_EDJ,$(1),$(2)) : $(call DECODE_4MAKE,$(1))
+       @echo '  Building file: $$<'
+       @echo '  Invoking: EDC Resource Compiler'
+       $$(call MAKEDIRS,$$(@D))
+       $$(EDJE_CC) $(3) "$$<" "$$@"
+       @echo '  Finished building: $$<'
+$(4) += $(call CONVERT_ESC_EDC_TO_EDJ,$(1),$(2))
+endef
+
+
+# parameter :
+#  $(1) - output paths
+#  $(2) - src paths
+#  $(3) - image inc paths
+#  $(4) - sound inc paths
+#  $(5) - font inc paths
+# output :
+#  $(6) - OBJS 
+# return :
+#  none
+define EDJ_PROC_RAW
+
+_OUTPUT_DIR := $$(strip $(1))#
+_SRCS := $(2)# 
+_IMAGE_DIRS := $(3)# 
+_SOUND_DIRS := $(4)# 
+_FONT_DIRS := $(5)# 
+
+ifneq ($$(strip $$(_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS)) 
+
+_NORMAL_SRCS := $$(filter-out %*.edc,$$(_ENC_SRCS))
+_WIDLCARD_SRCS := $$(filter %*.edc,$$(_ENC_SRCS))
+
+_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
+             $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))
+
+ifneq ($$(strip $$(_ALL_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS)) 
+
+_COMPILER_FLAGS := -id "$$(ENVENTOR_SHARED_RES_PATH)/images"
+_COMPILER_FLAGS += -sd "$$(ENVENTOR_SHARED_RES_PATH)/sounds"
+_COMPILER_FLAGS += -fd "$$(ENVENTOR_SHARED_RES_PATH)/fonts"
+
+ifneq ($$(strip $$(_IMAGE_DIRS)),)
+_COMPILER_FLAGS += $$(addprefix -id ,$$(_IMAGE_DIRS))
+endif
+ifneq ($$(strip $$(_SOUND_DIRS)),)
+_COMPILER_FLAGS += $$(addprefix -sd ,$$(_SOUND_DIRS))
+endif
+ifneq ($$(strip $$(_FONT_DIRS)),)
+_COMPILER_FLAGS += $$(addprefix -fd ,$$(_FONT_DIRS))
+endif
+
+$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call EDJ_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_COMPILER_FLAGS),$(6))))
+
+endif  # (_(strip _(_ALL_SRCS)),)
+
+endif  # (_(strip _(_SRCS)),)
+
+endef
diff --git a/music-chooser/Build/build_po.mk b/music-chooser/Build/build_po.mk
new file mode 100644 (file)
index 0000000..d88d71a
--- /dev/null
@@ -0,0 +1,64 @@
+# PO build script
+
+
+_FUNC_PO2MO = $(patsubst %.po,$(2)/res/locale/%/LC_MESSAGES/$(3).mo,$(notdir $(1)))
+
+
+# parameter :
+#  $(1) - C/C++ soruce file
+#  $(2) - output path
+#  $(3) - app name
+CONVERT_ESC_PO_TO_MO = $(call CONVERT_4MAKE_TO_OUT,$(call _FUNC_PO2MO,$(1),$(2),$(3)))
+
+
+# parameter :
+#  $(1) - encoded one C/C++ soruce file
+#  $(2) - output path
+#  $(3) - app name
+# output :
+#  $(4) - output files list
+define MO_BUILD_PROC_RAW
+$(call CONVERT_ESC_PO_TO_MO,$(1),$(2),$(3)) : $(call DECODE_4MAKE,$(1))
+       @echo '  Building file: $$<'
+       @echo '  Invoking: msgfmt String Formatter'
+       $$(call MAKEDIRS,$$(@D))
+       $$(MSGFMT) -o "$$@" "$$<"
+       @echo '  Finished building: $$<'
+$(4) += $(call CONVERT_ESC_PO_TO_MO,$(1),$(2),$(3))
+endef
+
+# parameter :
+#  $(1) - output dir
+#  $(2) - src paths
+#  $(3) - app name
+# output :
+#  $(4) - OBJS 
+
+define MO_PROC_RAW
+
+_OUTPUT_DIR := $(1)
+_SRCS := $(2)
+_APPNAME := $(3)
+
+ifneq ($$(strip $$(_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS)) 
+
+_NORMAL_SRCS := $$(filter-out %*.po,$$(_ENC_SRCS))
+_WIDLCARD_SRCS := $$(filter %*.po,$$(_ENC_SRCS))
+
+_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
+             $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))
+
+ifneq ($$(strip $$(_ALL_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS)) 
+
+$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call MO_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_APPNAME),$(4))))
+
+endif  # (_(strip _(_ALL_SRCS)),)
+
+endif  # (_(strip _(_SRCS)),)
+
+endef
diff --git a/music-chooser/Build/flags.mk b/music-chooser/Build/flags.mk
new file mode 100644 (file)
index 0000000..1f3c7f8
--- /dev/null
@@ -0,0 +1,16 @@
+
+DEBUG_OP = -g3 
+CPP_DEBUG_OP = 
+
+OPTIMIZATION_OP = -O0 
+CPP_OPTIMIZATION_OP = 
+
+COMPILE_FLAGS = $(DEBUG_OP) $(OPTIMIZATION_OP) -Wall -c -fmessage-length=0 -fPIC 
+
+CPP_COMPILE_FLAGS = $(CPP_DEBUG_OP) $(CPP_OPTIMIZATION_OP) 
+
+LINK_FLAGS = -shared -Wl,--no-undefined 
+
+AR_FLAGS = 
+
+EDC_COMPILE_FLAGS = 
\ No newline at end of file
diff --git a/music-chooser/Build/funcs.mk b/music-chooser/Build/funcs.mk
new file mode 100644 (file)
index 0000000..3ba778b
--- /dev/null
@@ -0,0 +1,50 @@
+
+BSLASH := \\#
+NULL_CHAR := #
+SPACE := \ #
+COLON := :#
+DOTDOT := ..#
+SPACE_ESC := &sp;#
+COLON_ESC := &co;#
+SPACE_OUT := ~sp~#
+COLON_OUT := ~co~#
+DOTDOT_OUT := ~dtdt~#
+
+BSLASH2SLASH = $(subst $(BSLASH),/,$(1))
+
+REMOVE_TAIL = $(patsubst %/,%,$(1))
+
+#LOWER_CASE = $(shell echo translit($(1),[A-Z],[a-z])|$(M4))
+LOWER_CASE = $(shell echo $(1)|$(TR) [A-Z] [a-z])
+
+#ifneq ($(findstring Windows,$(OS)),)
+# ...
+#endif
+
+FIND_FILES = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///')
+FIND_FILES_ESC = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///' -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+FIND_FILES_4MAKE = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///')
+
+FIND_FILES_ABS = $(shell $(FIND) $(1))
+FIND_FILES_ABS_4MAKE = $(shell $(FIND) $(1) -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+FIND_FILES_ABS_ESC = $(shell $(FIND) $(1) -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+
+FIND_FILES_4MAKE = $(shell $(FIND) $(1) | $(SED) 's/ /\\\ /g')
+
+#ENCODE_ESC = $(shell echo $(1) | $(SED) -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+#DECODE_ESC = $(shell echo $(1) | $(SED) -e 's/$(BSLASH)&co;/:/g' -e 's/$(BSLASH)&sp;/$(BSLASH) / g')
+ENCODE_ESC = $(subst $(SPACE),$(SPACE_ESC),$(subst $(COLON),$(COLON_ESC),$(1)))
+DECODE_ESC = $(subst $(COLON_ESC),$(COLON),$(subst $(SPACE_ESC),$(SPACE),$(1)))
+ENCODE_4MAKE = $(subst $(SPACE),$(SPACE_ESC),$(1))
+DECODE_4MAKE = $(subst $(SPACE_ESC),$(SPACE),$(1))
+
+CONVERT_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON),$(COLON_OUT),$(subst $(SPACE),$(SPACE_OUT),$(1))))
+CONVERT_ESC_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON_ESC),$(COLON_OUT),$(subst $(SPACE_ESC),$(SPACE_OUT),$(1))))
+CONVERT_4MAKE_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON),$(COLON_OUT),$(subst $(SPACE_ESC),$(SPACE_OUT),$(1))))
+
+PROC_NO_EXIST = $(if $(wildcard $(1)),,$(call $(2),$(1)))
+define MAKEDIRS0
+       @echo '  Building directory: $(1)'
+       @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(1))
+endef
+MAKEDIRS = $(call PROC_NO_EXIST,$(1),MAKEDIRS0)
diff --git a/music-chooser/Build/makefile b/music-chooser/Build/makefile
new file mode 100644 (file)
index 0000000..f491b50
--- /dev/null
@@ -0,0 +1,34 @@
+# 
+# Usege : make -f <proj_root>/Build/makefile -C <proj_root> 
+#
+BUILD_SCRIPT_VERSION := 1.1.0
+
+.PHONY : app_version app_build app_clean build_version
+
+
+all : app_build
+
+clean : app_clean
+
+version : build_version
+
+#PROJ_ROOT = .
+BUILD_ROOT := $(PROJ_PATH)/Build#
+
+ifeq ($(MAKE_NAME),mingw32-make)
+ifneq ($(SHELL),)
+OPTIONS += --eval="SHELL=$(SHELL)"
+endif
+endif
+
+app_build :
+       @echo $(MAKE) -f "$(BUILD_ROOT)/makefile.mk"
+       @$(MAKE_BIN) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS)
+
+app_clean :
+       @$(MAKE) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS) clean
+
+build_version :
+       @echo makefile : $(BUILD_SCRIPT_VERSION)
+       @$(MAKE) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS) version
diff --git a/music-chooser/Build/makefile.mk b/music-chooser/Build/makefile.mk
new file mode 100644 (file)
index 0000000..205a3ad
--- /dev/null
@@ -0,0 +1,197 @@
+#
+# Usege : make -f <proj_root>/Build/makefile -C <proj_root>
+#
+
+BUILD_SCRIPT_VERSION := 1.2.3
+
+.PHONY : app_version app_clean build_version
+
+
+all : app_build
+
+clean : app_clean
+
+version : build_version
+
+
+#PROJ_ROOT := $(call BSLASH2SLASH,$(PROJ_PATH))
+PROJ_ROOT := .
+BUILD_ROOT := $(PROJ_ROOT)/Build
+
+include $(BUILD_ROOT)/basedef.mk
+
+include $(PROJ_ROOT)/project_def.prop
+-include $(PROJ_ROOT)/build_def.prop
+
+include $(BUILD_ROOT)/funcs.mk
+
+-include $(BUILD_ROOT)/tooldef.mk
+-include $(BUILD_ROOT)/flags.mk
+-include $(BUILD_ROOT)/platform.mk
+
+
+APPTYPE := $(type)
+
+OUTPUT_DIR := $(PROJ_ROOT)/$(BUILD_CONFIG)
+OBJ_OUTPUT := $(OUTPUT_DIR)/objs
+
+LOWER_APPNAME := $(call LOWER_CASE,$(APPNAME))
+APPID2 := $(subst $(basename $(APPID)).,,$(APPID))
+
+ifeq ($(strip $(APPTYPE)),app)
+APPFILE := $(OUTPUT_DIR)/$(LOWER_APPNAME)
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).a
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).so
+endif
+
+ifneq ($(strip $(PLATFORM_INCS)),)
+PLATFORM_INCS_FILE := $(OBJ_OUTPUT)/platform_incs_file.inc
+endif
+
+include $(BUILD_ROOT)/build_c.mk
+
+
+ifeq ($(strip $(APPTYPE)),app)
+EXT_OP := -fPIE
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+EXT_OP := -fPIE
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+EXT_OP := -fPIC
+endif
+
+C_OPT := $(COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) $(EXT_OP) --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) $(USER_C_OPTS)
+CPP_OPT := $(CPP_COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) $(EXT_OP) --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) $(USER_CPP_OPTS)
+C_OPT_FILE := $(PLATFORM_INCS_FILE)
+
+OBJS := #
+
+# Global C/C++
+ifeq ($(strip $(USER_ROOT)),)
+USER_ROOT := $(PROJ_ROOT)
+endif
+$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_SRCS),$(USER_INC_DIRS),$(USER_INC_FILES),$(USER_DEFS),$(USER_UNDEFS),$(C_OPT),$(C_OPT_FILE),C,c,$(CC),OBJS))
+$(foreach ext,cpp cxx cc c++ C,$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_SRCS),$(USER_INC_DIRS),$(USER_CPP_INC_FILES),$(USER_CPP_DEFS),$(USER_CPP_UNDEFS),$(CPP_OPT),$(C_OPT_FILE),C++,$(ext),$(CXX),OBJS)))
+
+# Individual C/C++
+ifneq ($(strip $(USER_EXT_C_KEYS)),)
+$(foreach var,$(USER_EXT_C_KEYS),$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_EXT_$(var)_SRCS),$(USER_EXT_$(var)_INC_DIRS),$(USER_EXT_$(var)_INC_FILES),$(USER_EXT_$(var)_DEFS),$(USER_EXT_$(var)_UNDEFS),$(C_OPT),$(C_OPT_FILE),C,c,$(CC),OBJS)))
+$(foreach ext,cpp cxx cc c++ C,$(foreach var,$(USER_EXT_C_KEYS),$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_EXT_$(var)_SRCS),$(USER_EXT_$(var)_INC_DIRS),$(USER_EXT_$(var)_CPP_INC_FILES),$(USER_EXT_$(var)_CPP_DEFS),$(USER_EXT_$(var)_CPP_UNDEFS),$(CPP_OPT),$(C_OPT_FILE),C++,$(ext),$(CXX),OBJS))))
+endif
+
+
+ifneq ($(strip $(USER_LIB_DIRS)),)
+_ENC_USER_LIB_DIRS := $(call ENCODE_4MAKE,$(USER_LIB_DIRS))
+_ENC_USER_LIB_DIRS := $(addprefix -L,$(_ENC_USER_LIB_DIRS))
+LIBPATHS := $(call DECODE_4MAKE,$(_ENC_USER_LIB_DIRS))
+endif
+
+LIBS += $(addprefix -l,$(USER_LIBS))
+
+UOBJS += $(USER_OBJS)
+
+M_OPT = -MMD -MP -MF"$(@:%.o=%.d)"
+
+DEPS := $(OBJS:.o=.d)
+
+ifneq ($(strip $(DEPS)),)
+-include $(PROJ_ROOT)/Build/$(DEPS)
+endif
+
+
+ifeq ($(strip $(APPTYPE)),app)
+$(APPFILE) : $(OBJS) $(UOBJS)
+       @echo '  Building target: $@'
+       @echo '  Invoking: C/C++ Linker'
+       $(call MAKEDIRS,$(@D))
+       $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -pie -lpthread --sysroot="$(SYSROOT)" -Xlinker --version-script="$(PROJ_ROOT)/.exportMap" $(RS_LIB_PATHS) $(RS_LIBRARIES) -Xlinker -rpath="/opt/usr/apps/$(APPID)/lib" -Werror-implicit-function-declaration $(USER_LINK_OPTS)
+       @echo '  Finished building target: $@'
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+$(APPFILE) : $(OBJS) $(UOBJS)
+       @echo '  Building target: $@'
+       @echo '  Invoking: Archive utility'
+       $(call MAKEDIRS,$(@D))
+       $(AR) -r $(APPFILE) $(OBJS) $(UOBJS) $(AR_FLAGS) $(USER_LINK_OPTS)
+       @echo '  Finished building target: $@'
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+$(APPFILE) : $(OBJS) $(UOBJS)
+       @echo '  Building target: $@'
+       @echo '  Invoking: C/C++ Linker'
+       $(call MAKEDIRS,$(@D))
+       $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -shared -lpthread --sysroot="$(SYSROOT)" $(RS_LIB_PATHS) $(RS_LIBRARIES) $(USER_LINK_OPTS)
+       @echo '  Finished building target: $@'
+endif
+
+
+$(OBJ_OUTPUT) :
+       $(call MAKEDIRS,$@)
+
+$(OUTPUT_DIR) :
+       $(call MAKEDIRS,$@)
+
+
+ifneq ($(strip $(PLATFORM_INCS)),)
+$(PLATFORM_INCS_FILE) : $(OBJ_OUTPUT)
+       @echo '  Building inc file: $@'
+ifneq ($(findstring Windows,$(OS)),)
+ifneq ($(findstring 3.82,$(MAKE_VERSION)),)
+       $(file > $@,$(PLATFORM_INCS))
+else
+       @echo $(PLATFORM_INCS) > $@
+endif
+else
+       @echo $(PLATFORM_INCS) > $@
+endif
+endif
+
+
+include $(BUILD_ROOT)/build_edc.mk
+
+#ifeq ($(strip $(ENVENTOR_SHARED_RES_PATH)),)
+ENVENTOR_SHARED_RES_PATH ?= $(ENVENTOR_PATH)/share/enventor
+#endif
+
+EDJ_FILES :=
+
+# Global EDCs
+ifneq ($(strip $(USER_EDCS)),)
+$(eval $(call EDJ_PROC_RAW,$(OUTPUT_DIR),$(USER_EDCS),$(USER_EDCS_IMAGE_DIRS),$(USER_EDCS_SOUND_DIRS),$(USER_EDCS_FONT_DIRS),EDJ_FILES))
+endif
+
+# Individual EDCs
+ifneq ($(strip $(USER_EXT_EDC_KEYS)),)
+$(foreach var,$(USER_EXT_EDC_KEYS),$(eval $(call EDJ_PROC_RAW,$(OUTPUT_DIR),$(USER_EXT_$(var)_EDCS),$(USER_EXT_$(var)_EDCS_IMAGE_DIRS),$(USER_EXT_$(var)_EDCS_SOUND_DIRS),$(USER_EXT_$(var)_EDCS_FONT_DIRS),EDJ_FILES)))
+endif
+
+
+include $(BUILD_ROOT)/build_po.mk
+
+MO_FILES :=
+
+# Global POs
+ifneq ($(strip $(USER_POS)),)
+$(eval $(call MO_PROC_RAW,$(OUTPUT_DIR),$(USER_POS),$(APPID2),MO_FILES))
+endif
+
+
+secondary-outputs : $(EDJ_FILES) $(MO_FILES)
+
+-include appendix.mk
+
+app_build : $(OUTPUT_DIR) $(APPFILE) secondary-outputs
+       @echo ========= done =========
+
+
+app_clean :
+       rm -f $(APPFILE)
+       rm -rf $(OUTPUT_DIR)
+
+build_version :
+       @echo makefile.mk : $(BUILD_SCRIPT_VERSION)
diff --git a/music-chooser/Build/platform.mk b/music-chooser/Build/platform.mk
new file mode 100644 (file)
index 0000000..294a38a
--- /dev/null
@@ -0,0 +1,15 @@
+# Add inputs and outputs from these tool invocations to the build variables
+
+SYSROOT = $(SBI_SYSROOT)
+
+USR_INCS := $(addprefix -I $(SYSROOT),$(PLATFORM_INCS_EX))
+
+ifeq ($(strip $(PLATFORM_LIB_PATHS)),)
+RS_LIB_PATHS := "$(SYSROOT)/usr/lib"
+else
+RS_LIB_PATHS := $(addprefix -L$(SYSROOT),$(PLATFORM_LIB_PATHS))
+endif
+
+RS_LIBRARIES := $(addprefix -l,$(RS_LIBRARIES_EX))
+
+PLATFORM_INCS = $(USR_INCS) -I"$(SDK_PATH)/library"
diff --git a/music-chooser/Build/tooldef.mk b/music-chooser/Build/tooldef.mk
new file mode 100644 (file)
index 0000000..c62243c
--- /dev/null
@@ -0,0 +1,70 @@
+# Add inputs and outputs from these tool invocations to the build variables
+
+ifneq ($(strip $(SHELL_BIN)),)
+SHELL = $(SHELL_BIN)
+else
+SHELL = sh
+endif
+
+ifneq ($(strip $(MKDIR_BIN)),)
+MKDIR = $(MKDIR_BIN)
+MKDIR_OP = -p
+else
+MKDIR = mkdir
+MKDIR_OP = -p
+endif
+
+ifneq ($(strip $(UNAME_BIN)),)
+UNAME = $(UNAME_BIN)
+else
+UNAME = uname
+endif
+
+ifneq ($(strip $(M4_BIN)),)
+M4 = $(M4_BIN)
+else
+M4 = m4
+endif
+
+ifneq ($(strip $(TR_BIN)),)
+TR = $(TR_BIN)
+else
+TR = tr
+endif
+
+ifneq ($(strip $(FIND_BIN)),)
+FIND = $(FIND_BIN)
+else
+FIND = find
+endif
+
+ifneq ($(strip $(SED_BIN)),)
+SED = $(SED_BIN)
+else
+SED = sed
+endif
+
+ifneq ($(strip $(GREP_BIN)),)
+GREP = $(GREP_BIN)
+else
+GREP = grep
+endif
+
+ifneq ($(strip $(EDJE_CC_BIN)),)
+EDJE_CC = $(EDJE_CC_BIN)
+else
+EDJE_CC = edje_cc
+endif
+
+ifneq ($(strip $(MSGFMT_BIN)),)
+MSGFMT = $(MSGFMT_BIN)
+else
+MSGFMT = msgfmt
+endif
+
+ifneq ($(strip $(CKSUM_BIN)),)
+CKSUM = $(CKSUM_BIN)
+else
+CKSUM = cksum
+endif
+
diff --git a/sound-player/Build/appendix.mk b/sound-player/Build/appendix.mk
new file mode 100644 (file)
index 0000000..2e06c34
--- /dev/null
@@ -0,0 +1 @@
+# Appendix\r
diff --git a/sound-player/Build/basedef.mk b/sound-player/Build/basedef.mk
new file mode 100644 (file)
index 0000000..a762983
--- /dev/null
@@ -0,0 +1,34 @@
+# Add inputs and outputs from these tool invocations to the build variables
+
+
+OS_NAME := $(shell $(UNAME))
+
+
+#ifeq ($(origin BUILD_CONFIG), undefined)
+BUILD_CONFIG ?= Debug
+#endif
+
+#ifeq ($(origin ARCH), undefined)
+ARCH ?= i386
+#endif
+
+#ifeq ($(origin PROJPATH), undefined)
+PROJPATH ?= .
+#endif
+
+
+#ifeq ($(origin PROJ_PATH), undefined)
+PROJ_PATH ?= $(PROJPATH)
+#endif
+
+#ifeq ($(strip $(OUTPUT_DIR)),)
+#OUTPUT_DIR ?= $(PROJ_PATH)/$(BUILD_CONFIG)
+#endif
+
+#ifeq ($(strip $(BUILD_ARCH)),)
+BUILD_ARCH ?= $(ARCH)
+#endif
+
+#ifeq ($(strip $(ENVENTOR_PATH)),)
+ENVENTOR_PATH ?= $(SDK_TOOLPATH)/enventor
+#endif
diff --git a/sound-player/Build/build_c.mk b/sound-player/Build/build_c.mk
new file mode 100644 (file)
index 0000000..5fffeea
--- /dev/null
@@ -0,0 +1,113 @@
+# C/C++ build script
+
+
+_FUNC_EXT2O = $(patsubst %.$(3),$(1)/%.o,$(2))
+_FUNC_C2O = $(call _FUNC_EXT2O,$(1),$(2),c)
+_FUNC_CPP2O = $(call _FUNC_EXT2O,$(1),$(2),cpp)
+
+
+# parameter :
+#  $(1) - C/C++ soruce file
+#  $(2) - output path
+#  $(3) - .ext
+#  $(4) - unique id
+CONVERT_ESC_EXT_TO_O = $(addprefix $(2)/,$(notdir $(patsubst %.$(3),%-$(4).o,$(1))))
+
+#CONVERT_ESC_C_TO_O = $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),c)
+#CONVERT_ESC_CPP_TO_O = $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),cpp)
+
+
+# parameter :
+#  $(1) - encoded one C/C++ soruce file
+#  $(2) - output path
+#  $(3) - ext title (C/C++)
+#  $(4) - ext (c/cpp)
+#  $(5) - compiler ($(CC)/$(CXX))
+#  $(6) - build opt
+#  $(7) - build opt file
+# output :
+#  $(8) - output files list
+define C_BUILD_PROC_RAW
+$(call CONVERT_ESC_EXT_TO_O,$(1),$(2),$(4),$(8)) : $(call DECODE_4MAKE,$(1)) $(7)
+       @echo '  Building file: $$<'
+       @echo '  Invoking: $(3) Compiler'
+       $$(call MAKEDIRS,$$(@D))
+       $(5) -c "$$<" -o "$$@" $(6) -Wp,@$(7)
+       @echo '  Finished building: $$<'
+$(9) += $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),$(4),$(8))
+endef
+
+
+# parameter :
+#  $(1) - output paths
+#  $(2) - src paths
+#  $(3) - inc paths
+#  $(4) - inc files
+#  $(5) - Defs
+#  $(6) - UnDefs
+#  $(7) - compiler opt
+#  $(8) - compiler opt file
+#  $(9) - ext title (C/C++)
+#  $(10) - ext (c/cpp)
+#  $(11) - compiler ($(CC)/$(CXX))
+# output :
+#  $(12) - OBJS
+# return :
+#  none
+define C_PROC_RAW
+
+_OUTPUT_DIR := $$(strip $(1))#
+_SRCS := $(2)#
+_INCS := $(3)#
+_INC_FILES := $(4)#
+_DEFS := $(5)#
+_UNDEFS := $(6)#
+
+_OPT := $(7)
+_OPT_FILE := $(8)
+
+_EXT_TITLE := $(9)
+_EXT := $(10)
+_COMPILER := $(11)
+
+#_OUTPUT_FILES := $(12)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS))
+_ENC_SRCS := $$(filter %.$$(_EXT),$$(_ENC_SRCS))
+
+ifneq ($$(strip $$(_SRCS)),)
+
+_NORMAL_SRCS := $$(filter-out %*.$$(_EXT),$$(_ENC_SRCS))
+_WIDLCARD_SRCS := $$(filter %*.$$(_EXT),$$(_ENC_SRCS))
+
+_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
+             $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))
+
+ifneq ($$(strip $$(_ALL_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS))
+
+_CDEFS := $$(CDEFS)
+_CDEFS += $$(addprefix -D,$$(_DEFS))
+_CDEFS += $$(addprefix -U,$$(_UNDEFS))
+
+_ENC_C_INCS := $$(call ENCODE_4MAKE,$$(_INCS))
+_ENC_C_INCS := $$(addprefix -I,$$(_ENC_C_INCS))
+
+_ENC_INC_FILES := $$(call ENCODE_4MAKE,$$(_INC_FILES))
+_ENC_INC_FILES += $$(addprefix -include,$$(_ENC_INC_FILES))
+
+_C_INCS := $$(call DECODE_4MAKE,$$(_ENC_C_INCS) $$(_ENC_C_INC_FILES))
+
+_DEFS := $$(_CDEFS) $$(_C_INCS) -I"pch" $$(_OPT)
+
+_UNIQUE_ID = $$(firstword $$(shell echo $$(var) | $$(CKSUM)))
+
+$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call C_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_EXT_TITLE),$$(_EXT),$$(_COMPILER),$$(_DEFS),$$(_OPT_FILE),$$(_UNIQUE_ID),$(12))))
+
+endif  # (_(strip _(_ALL_SRCS)),)
+
+endif  # (_(strip _(_SRCS)),)
+
+
+endef
diff --git a/sound-player/Build/build_edc.mk b/sound-player/Build/build_edc.mk
new file mode 100644 (file)
index 0000000..6f85fdd
--- /dev/null
@@ -0,0 +1,81 @@
+# EDC build script
+
+
+FUNC_EDC2EDJ = $(patsubst %.edc,$(2)/%.edj,$(1))
+
+# parameter :
+#  $(1) - C/C++ soruce file
+#  $(2) - output path
+CONVERT_ESC_EDC_TO_EDJ = $(call CONVERT_4MAKE_TO_OUT,$(call FUNC_EDC2EDJ,$(1),$(2)))
+
+
+# parameter :
+#  $(1) - encoded one C/C++ soruce file
+#  $(2) - output path
+#  $(3) - build opt
+# output :
+#  $(4) - output files list
+define EDJ_BUILD_PROC_RAW
+$(call CONVERT_ESC_EDC_TO_EDJ,$(1),$(2)) : $(call DECODE_4MAKE,$(1))
+       @echo '  Building file: $$<'
+       @echo '  Invoking: EDC Resource Compiler'
+       $$(call MAKEDIRS,$$(@D))
+       $$(EDJE_CC) $(3) "$$<" "$$@"
+       @echo '  Finished building: $$<'
+$(4) += $(call CONVERT_ESC_EDC_TO_EDJ,$(1),$(2))
+endef
+
+
+# parameter :
+#  $(1) - output paths
+#  $(2) - src paths
+#  $(3) - image inc paths
+#  $(4) - sound inc paths
+#  $(5) - font inc paths
+# output :
+#  $(6) - OBJS 
+# return :
+#  none
+define EDJ_PROC_RAW
+
+_OUTPUT_DIR := $$(strip $(1))#
+_SRCS := $(2)# 
+_IMAGE_DIRS := $(3)# 
+_SOUND_DIRS := $(4)# 
+_FONT_DIRS := $(5)# 
+
+ifneq ($$(strip $$(_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS)) 
+
+_NORMAL_SRCS := $$(filter-out %*.edc,$$(_ENC_SRCS))
+_WIDLCARD_SRCS := $$(filter %*.edc,$$(_ENC_SRCS))
+
+_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
+             $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))
+
+ifneq ($$(strip $$(_ALL_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS)) 
+
+_COMPILER_FLAGS := -id "$$(ENVENTOR_SHARED_RES_PATH)/images"
+_COMPILER_FLAGS += -sd "$$(ENVENTOR_SHARED_RES_PATH)/sounds"
+_COMPILER_FLAGS += -fd "$$(ENVENTOR_SHARED_RES_PATH)/fonts"
+
+ifneq ($$(strip $$(_IMAGE_DIRS)),)
+_COMPILER_FLAGS += $$(addprefix -id ,$$(_IMAGE_DIRS))
+endif
+ifneq ($$(strip $$(_SOUND_DIRS)),)
+_COMPILER_FLAGS += $$(addprefix -sd ,$$(_SOUND_DIRS))
+endif
+ifneq ($$(strip $$(_FONT_DIRS)),)
+_COMPILER_FLAGS += $$(addprefix -fd ,$$(_FONT_DIRS))
+endif
+
+$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call EDJ_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_COMPILER_FLAGS),$(6))))
+
+endif  # (_(strip _(_ALL_SRCS)),)
+
+endif  # (_(strip _(_SRCS)),)
+
+endef
diff --git a/sound-player/Build/build_po.mk b/sound-player/Build/build_po.mk
new file mode 100644 (file)
index 0000000..d88d71a
--- /dev/null
@@ -0,0 +1,64 @@
+# PO build script
+
+
+_FUNC_PO2MO = $(patsubst %.po,$(2)/res/locale/%/LC_MESSAGES/$(3).mo,$(notdir $(1)))
+
+
+# parameter :
+#  $(1) - C/C++ soruce file
+#  $(2) - output path
+#  $(3) - app name
+CONVERT_ESC_PO_TO_MO = $(call CONVERT_4MAKE_TO_OUT,$(call _FUNC_PO2MO,$(1),$(2),$(3)))
+
+
+# parameter :
+#  $(1) - encoded one C/C++ soruce file
+#  $(2) - output path
+#  $(3) - app name
+# output :
+#  $(4) - output files list
+define MO_BUILD_PROC_RAW
+$(call CONVERT_ESC_PO_TO_MO,$(1),$(2),$(3)) : $(call DECODE_4MAKE,$(1))
+       @echo '  Building file: $$<'
+       @echo '  Invoking: msgfmt String Formatter'
+       $$(call MAKEDIRS,$$(@D))
+       $$(MSGFMT) -o "$$@" "$$<"
+       @echo '  Finished building: $$<'
+$(4) += $(call CONVERT_ESC_PO_TO_MO,$(1),$(2),$(3))
+endef
+
+# parameter :
+#  $(1) - output dir
+#  $(2) - src paths
+#  $(3) - app name
+# output :
+#  $(4) - OBJS 
+
+define MO_PROC_RAW
+
+_OUTPUT_DIR := $(1)
+_SRCS := $(2)
+_APPNAME := $(3)
+
+ifneq ($$(strip $$(_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS)) 
+
+_NORMAL_SRCS := $$(filter-out %*.po,$$(_ENC_SRCS))
+_WIDLCARD_SRCS := $$(filter %*.po,$$(_ENC_SRCS))
+
+_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
+             $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))
+
+ifneq ($$(strip $$(_ALL_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS)) 
+
+$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call MO_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_APPNAME),$(4))))
+
+endif  # (_(strip _(_ALL_SRCS)),)
+
+endif  # (_(strip _(_SRCS)),)
+
+endef
diff --git a/sound-player/Build/flags.mk b/sound-player/Build/flags.mk
new file mode 100644 (file)
index 0000000..1f3c7f8
--- /dev/null
@@ -0,0 +1,16 @@
+
+DEBUG_OP = -g3 
+CPP_DEBUG_OP = 
+
+OPTIMIZATION_OP = -O0 
+CPP_OPTIMIZATION_OP = 
+
+COMPILE_FLAGS = $(DEBUG_OP) $(OPTIMIZATION_OP) -Wall -c -fmessage-length=0 -fPIC 
+
+CPP_COMPILE_FLAGS = $(CPP_DEBUG_OP) $(CPP_OPTIMIZATION_OP) 
+
+LINK_FLAGS = -shared -Wl,--no-undefined 
+
+AR_FLAGS = 
+
+EDC_COMPILE_FLAGS = 
\ No newline at end of file
diff --git a/sound-player/Build/funcs.mk b/sound-player/Build/funcs.mk
new file mode 100644 (file)
index 0000000..3ba778b
--- /dev/null
@@ -0,0 +1,50 @@
+
+BSLASH := \\#
+NULL_CHAR := #
+SPACE := \ #
+COLON := :#
+DOTDOT := ..#
+SPACE_ESC := &sp;#
+COLON_ESC := &co;#
+SPACE_OUT := ~sp~#
+COLON_OUT := ~co~#
+DOTDOT_OUT := ~dtdt~#
+
+BSLASH2SLASH = $(subst $(BSLASH),/,$(1))
+
+REMOVE_TAIL = $(patsubst %/,%,$(1))
+
+#LOWER_CASE = $(shell echo translit($(1),[A-Z],[a-z])|$(M4))
+LOWER_CASE = $(shell echo $(1)|$(TR) [A-Z] [a-z])
+
+#ifneq ($(findstring Windows,$(OS)),)
+# ...
+#endif
+
+FIND_FILES = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///')
+FIND_FILES_ESC = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///' -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+FIND_FILES_4MAKE = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///')
+
+FIND_FILES_ABS = $(shell $(FIND) $(1))
+FIND_FILES_ABS_4MAKE = $(shell $(FIND) $(1) -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+FIND_FILES_ABS_ESC = $(shell $(FIND) $(1) -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+
+FIND_FILES_4MAKE = $(shell $(FIND) $(1) | $(SED) 's/ /\\\ /g')
+
+#ENCODE_ESC = $(shell echo $(1) | $(SED) -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+#DECODE_ESC = $(shell echo $(1) | $(SED) -e 's/$(BSLASH)&co;/:/g' -e 's/$(BSLASH)&sp;/$(BSLASH) / g')
+ENCODE_ESC = $(subst $(SPACE),$(SPACE_ESC),$(subst $(COLON),$(COLON_ESC),$(1)))
+DECODE_ESC = $(subst $(COLON_ESC),$(COLON),$(subst $(SPACE_ESC),$(SPACE),$(1)))
+ENCODE_4MAKE = $(subst $(SPACE),$(SPACE_ESC),$(1))
+DECODE_4MAKE = $(subst $(SPACE_ESC),$(SPACE),$(1))
+
+CONVERT_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON),$(COLON_OUT),$(subst $(SPACE),$(SPACE_OUT),$(1))))
+CONVERT_ESC_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON_ESC),$(COLON_OUT),$(subst $(SPACE_ESC),$(SPACE_OUT),$(1))))
+CONVERT_4MAKE_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON),$(COLON_OUT),$(subst $(SPACE_ESC),$(SPACE_OUT),$(1))))
+
+PROC_NO_EXIST = $(if $(wildcard $(1)),,$(call $(2),$(1)))
+define MAKEDIRS0
+       @echo '  Building directory: $(1)'
+       @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(1))
+endef
+MAKEDIRS = $(call PROC_NO_EXIST,$(1),MAKEDIRS0)
diff --git a/sound-player/Build/makefile b/sound-player/Build/makefile
new file mode 100644 (file)
index 0000000..f491b50
--- /dev/null
@@ -0,0 +1,34 @@
+# 
+# Usege : make -f <proj_root>/Build/makefile -C <proj_root> 
+#
+BUILD_SCRIPT_VERSION := 1.1.0
+
+.PHONY : app_version app_build app_clean build_version
+
+
+all : app_build
+
+clean : app_clean
+
+version : build_version
+
+#PROJ_ROOT = .
+BUILD_ROOT := $(PROJ_PATH)/Build#
+
+ifeq ($(MAKE_NAME),mingw32-make)
+ifneq ($(SHELL),)
+OPTIONS += --eval="SHELL=$(SHELL)"
+endif
+endif
+
+app_build :
+       @echo $(MAKE) -f "$(BUILD_ROOT)/makefile.mk"
+       @$(MAKE_BIN) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS)
+
+app_clean :
+       @$(MAKE) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS) clean
+
+build_version :
+       @echo makefile : $(BUILD_SCRIPT_VERSION)
+       @$(MAKE) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS) version
diff --git a/sound-player/Build/makefile.mk b/sound-player/Build/makefile.mk
new file mode 100644 (file)
index 0000000..205a3ad
--- /dev/null
@@ -0,0 +1,197 @@
+#
+# Usege : make -f <proj_root>/Build/makefile -C <proj_root>
+#
+
+BUILD_SCRIPT_VERSION := 1.2.3
+
+.PHONY : app_version app_clean build_version
+
+
+all : app_build
+
+clean : app_clean
+
+version : build_version
+
+
+#PROJ_ROOT := $(call BSLASH2SLASH,$(PROJ_PATH))
+PROJ_ROOT := .
+BUILD_ROOT := $(PROJ_ROOT)/Build
+
+include $(BUILD_ROOT)/basedef.mk
+
+include $(PROJ_ROOT)/project_def.prop
+-include $(PROJ_ROOT)/build_def.prop
+
+include $(BUILD_ROOT)/funcs.mk
+
+-include $(BUILD_ROOT)/tooldef.mk
+-include $(BUILD_ROOT)/flags.mk
+-include $(BUILD_ROOT)/platform.mk
+
+
+APPTYPE := $(type)
+
+OUTPUT_DIR := $(PROJ_ROOT)/$(BUILD_CONFIG)
+OBJ_OUTPUT := $(OUTPUT_DIR)/objs
+
+LOWER_APPNAME := $(call LOWER_CASE,$(APPNAME))
+APPID2 := $(subst $(basename $(APPID)).,,$(APPID))
+
+ifeq ($(strip $(APPTYPE)),app)
+APPFILE := $(OUTPUT_DIR)/$(LOWER_APPNAME)
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).a
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).so
+endif
+
+ifneq ($(strip $(PLATFORM_INCS)),)
+PLATFORM_INCS_FILE := $(OBJ_OUTPUT)/platform_incs_file.inc
+endif
+
+include $(BUILD_ROOT)/build_c.mk
+
+
+ifeq ($(strip $(APPTYPE)),app)
+EXT_OP := -fPIE
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+EXT_OP := -fPIE
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+EXT_OP := -fPIC
+endif
+
+C_OPT := $(COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) $(EXT_OP) --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) $(USER_C_OPTS)
+CPP_OPT := $(CPP_COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) $(EXT_OP) --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) $(USER_CPP_OPTS)
+C_OPT_FILE := $(PLATFORM_INCS_FILE)
+
+OBJS := #
+
+# Global C/C++
+ifeq ($(strip $(USER_ROOT)),)
+USER_ROOT := $(PROJ_ROOT)
+endif
+$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_SRCS),$(USER_INC_DIRS),$(USER_INC_FILES),$(USER_DEFS),$(USER_UNDEFS),$(C_OPT),$(C_OPT_FILE),C,c,$(CC),OBJS))
+$(foreach ext,cpp cxx cc c++ C,$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_SRCS),$(USER_INC_DIRS),$(USER_CPP_INC_FILES),$(USER_CPP_DEFS),$(USER_CPP_UNDEFS),$(CPP_OPT),$(C_OPT_FILE),C++,$(ext),$(CXX),OBJS)))
+
+# Individual C/C++
+ifneq ($(strip $(USER_EXT_C_KEYS)),)
+$(foreach var,$(USER_EXT_C_KEYS),$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_EXT_$(var)_SRCS),$(USER_EXT_$(var)_INC_DIRS),$(USER_EXT_$(var)_INC_FILES),$(USER_EXT_$(var)_DEFS),$(USER_EXT_$(var)_UNDEFS),$(C_OPT),$(C_OPT_FILE),C,c,$(CC),OBJS)))
+$(foreach ext,cpp cxx cc c++ C,$(foreach var,$(USER_EXT_C_KEYS),$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_EXT_$(var)_SRCS),$(USER_EXT_$(var)_INC_DIRS),$(USER_EXT_$(var)_CPP_INC_FILES),$(USER_EXT_$(var)_CPP_DEFS),$(USER_EXT_$(var)_CPP_UNDEFS),$(CPP_OPT),$(C_OPT_FILE),C++,$(ext),$(CXX),OBJS))))
+endif
+
+
+ifneq ($(strip $(USER_LIB_DIRS)),)
+_ENC_USER_LIB_DIRS := $(call ENCODE_4MAKE,$(USER_LIB_DIRS))
+_ENC_USER_LIB_DIRS := $(addprefix -L,$(_ENC_USER_LIB_DIRS))
+LIBPATHS := $(call DECODE_4MAKE,$(_ENC_USER_LIB_DIRS))
+endif
+
+LIBS += $(addprefix -l,$(USER_LIBS))
+
+UOBJS += $(USER_OBJS)
+
+M_OPT = -MMD -MP -MF"$(@:%.o=%.d)"
+
+DEPS := $(OBJS:.o=.d)
+
+ifneq ($(strip $(DEPS)),)
+-include $(PROJ_ROOT)/Build/$(DEPS)
+endif
+
+
+ifeq ($(strip $(APPTYPE)),app)
+$(APPFILE) : $(OBJS) $(UOBJS)
+       @echo '  Building target: $@'
+       @echo '  Invoking: C/C++ Linker'
+       $(call MAKEDIRS,$(@D))
+       $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -pie -lpthread --sysroot="$(SYSROOT)" -Xlinker --version-script="$(PROJ_ROOT)/.exportMap" $(RS_LIB_PATHS) $(RS_LIBRARIES) -Xlinker -rpath="/opt/usr/apps/$(APPID)/lib" -Werror-implicit-function-declaration $(USER_LINK_OPTS)
+       @echo '  Finished building target: $@'
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+$(APPFILE) : $(OBJS) $(UOBJS)
+       @echo '  Building target: $@'
+       @echo '  Invoking: Archive utility'
+       $(call MAKEDIRS,$(@D))
+       $(AR) -r $(APPFILE) $(OBJS) $(UOBJS) $(AR_FLAGS) $(USER_LINK_OPTS)
+       @echo '  Finished building target: $@'
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+$(APPFILE) : $(OBJS) $(UOBJS)
+       @echo '  Building target: $@'
+       @echo '  Invoking: C/C++ Linker'
+       $(call MAKEDIRS,$(@D))
+       $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -shared -lpthread --sysroot="$(SYSROOT)" $(RS_LIB_PATHS) $(RS_LIBRARIES) $(USER_LINK_OPTS)
+       @echo '  Finished building target: $@'
+endif
+
+
+$(OBJ_OUTPUT) :
+       $(call MAKEDIRS,$@)
+
+$(OUTPUT_DIR) :
+       $(call MAKEDIRS,$@)
+
+
+ifneq ($(strip $(PLATFORM_INCS)),)
+$(PLATFORM_INCS_FILE) : $(OBJ_OUTPUT)
+       @echo '  Building inc file: $@'
+ifneq ($(findstring Windows,$(OS)),)
+ifneq ($(findstring 3.82,$(MAKE_VERSION)),)
+       $(file > $@,$(PLATFORM_INCS))
+else
+       @echo $(PLATFORM_INCS) > $@
+endif
+else
+       @echo $(PLATFORM_INCS) > $@
+endif
+endif
+
+
+include $(BUILD_ROOT)/build_edc.mk
+
+#ifeq ($(strip $(ENVENTOR_SHARED_RES_PATH)),)
+ENVENTOR_SHARED_RES_PATH ?= $(ENVENTOR_PATH)/share/enventor
+#endif
+
+EDJ_FILES :=
+
+# Global EDCs
+ifneq ($(strip $(USER_EDCS)),)
+$(eval $(call EDJ_PROC_RAW,$(OUTPUT_DIR),$(USER_EDCS),$(USER_EDCS_IMAGE_DIRS),$(USER_EDCS_SOUND_DIRS),$(USER_EDCS_FONT_DIRS),EDJ_FILES))
+endif
+
+# Individual EDCs
+ifneq ($(strip $(USER_EXT_EDC_KEYS)),)
+$(foreach var,$(USER_EXT_EDC_KEYS),$(eval $(call EDJ_PROC_RAW,$(OUTPUT_DIR),$(USER_EXT_$(var)_EDCS),$(USER_EXT_$(var)_EDCS_IMAGE_DIRS),$(USER_EXT_$(var)_EDCS_SOUND_DIRS),$(USER_EXT_$(var)_EDCS_FONT_DIRS),EDJ_FILES)))
+endif
+
+
+include $(BUILD_ROOT)/build_po.mk
+
+MO_FILES :=
+
+# Global POs
+ifneq ($(strip $(USER_POS)),)
+$(eval $(call MO_PROC_RAW,$(OUTPUT_DIR),$(USER_POS),$(APPID2),MO_FILES))
+endif
+
+
+secondary-outputs : $(EDJ_FILES) $(MO_FILES)
+
+-include appendix.mk
+
+app_build : $(OUTPUT_DIR) $(APPFILE) secondary-outputs
+       @echo ========= done =========
+
+
+app_clean :
+       rm -f $(APPFILE)
+       rm -rf $(OUTPUT_DIR)
+
+build_version :
+       @echo makefile.mk : $(BUILD_SCRIPT_VERSION)
diff --git a/sound-player/Build/platform.mk b/sound-player/Build/platform.mk
new file mode 100644 (file)
index 0000000..294a38a
--- /dev/null
@@ -0,0 +1,15 @@
+# Add inputs and outputs from these tool invocations to the build variables
+
+SYSROOT = $(SBI_SYSROOT)
+
+USR_INCS := $(addprefix -I $(SYSROOT),$(PLATFORM_INCS_EX))
+
+ifeq ($(strip $(PLATFORM_LIB_PATHS)),)
+RS_LIB_PATHS := "$(SYSROOT)/usr/lib"
+else
+RS_LIB_PATHS := $(addprefix -L$(SYSROOT),$(PLATFORM_LIB_PATHS))
+endif
+
+RS_LIBRARIES := $(addprefix -l,$(RS_LIBRARIES_EX))
+
+PLATFORM_INCS = $(USR_INCS) -I"$(SDK_PATH)/library"
diff --git a/sound-player/Build/tooldef.mk b/sound-player/Build/tooldef.mk
new file mode 100644 (file)
index 0000000..c62243c
--- /dev/null
@@ -0,0 +1,70 @@
+# Add inputs and outputs from these tool invocations to the build variables
+
+ifneq ($(strip $(SHELL_BIN)),)
+SHELL = $(SHELL_BIN)
+else
+SHELL = sh
+endif
+
+ifneq ($(strip $(MKDIR_BIN)),)
+MKDIR = $(MKDIR_BIN)
+MKDIR_OP = -p
+else
+MKDIR = mkdir
+MKDIR_OP = -p
+endif
+
+ifneq ($(strip $(UNAME_BIN)),)
+UNAME = $(UNAME_BIN)
+else
+UNAME = uname
+endif
+
+ifneq ($(strip $(M4_BIN)),)
+M4 = $(M4_BIN)
+else
+M4 = m4
+endif
+
+ifneq ($(strip $(TR_BIN)),)
+TR = $(TR_BIN)
+else
+TR = tr
+endif
+
+ifneq ($(strip $(FIND_BIN)),)
+FIND = $(FIND_BIN)
+else
+FIND = find
+endif
+
+ifneq ($(strip $(SED_BIN)),)
+SED = $(SED_BIN)
+else
+SED = sed
+endif
+
+ifneq ($(strip $(GREP_BIN)),)
+GREP = $(GREP_BIN)
+else
+GREP = grep
+endif
+
+ifneq ($(strip $(EDJE_CC_BIN)),)
+EDJE_CC = $(EDJE_CC_BIN)
+else
+EDJE_CC = edje_cc
+endif
+
+ifneq ($(strip $(MSGFMT_BIN)),)
+MSGFMT = $(MSGFMT_BIN)
+else
+MSGFMT = msgfmt
+endif
+
+ifneq ($(strip $(CKSUM_BIN)),)
+CKSUM = $(CKSUM_BIN)
+else
+CKSUM = cksum
+endif
+
index 72953a8..3087e81 100644 (file)
@@ -2578,10 +2578,30 @@ void mp_common_force_close_delete()
 void mp_common_view_check_changed_cb(void *data, Evas_Object * obj,
                                                                         void *event_info)
 {
+       char *uri = NULL;
+       mp_list_item_data_t *item = (mp_list_item_data_t *)data;
+       MP_CHECK(item);
+       struct appdata *ad = mp_util_get_appdata();
+       MP_CHECK(ad);
+
        MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
        MP_CHECK(view_mgr);
        MpView_t *view = mp_view_mgr_get_top_view(view_mgr);
        MP_CHECK(view);
+
+       if (ad->selector_mode_bit) {
+               mp_media_info_get_file_path(item->handle, &uri);
+               if (item->checked) {
+                       ad->checkedList = g_list_append(ad->checkedList, g_strdup(uri));
+               } else {
+                       GList *list;
+                       for(list = ad->checkedList; list != NULL; list = list->next) {
+                               if (!g_strcmp0(uri, list->data)) {
+                                       ad->checkedList = g_list_delete_link(ad->checkedList, list);
+                               }
+                       }
+               }
+       }
        mp_view_update_options_edit(view);
 }
 
index 61504a8..48f14c5 100644 (file)
@@ -253,6 +253,11 @@ struct appdata {
        unsigned int caller_win_id;
 #endif
 
+       /* Maintaining checked list for selector screen */
+       GList *checkedList;
+       /* Asserted when selector view is initiated */
+       Eina_Bool selector_mode_bit;
+
        /* For recorder API's */
        int recorder_id;
        recorder_type_e recorder_type;
index 7eda3c7..cdf48f0 100644 (file)
@@ -78,6 +78,9 @@ Eina_Bool _mp_add_track_view_tracklist_back_cb(void *data,
        struct appdata *ad = mp_util_get_appdata();
        MP_CHECK_VAL(ad, EINA_TRUE);
 
+       /* Selector View is destroyed */
+       ad->selector_mode_bit = EINA_FALSE;
+
        MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
        mp_view_mgr_pop_view(view_mgr, false);
 
@@ -113,17 +116,16 @@ static int _mp_add_track_view_update_option(void *thiz)
        startfunc;
        MpAddTrackView_t *view = (MpAddTrackView_t *) thiz;
        MP_CHECK_VAL(view, -1);
+       struct appdata *ad = mp_util_get_appdata();
+       MP_CHECK_VAL(ad, -1);
 
        /*mp_view_clear_options((MpView_t *)view); */
        if (view->content_tab == MP_ADD_TRACK_VIEW_TAB_SONGS) {
                mp_util_create_selectioninfo_with_count((MpView_t *) view,
-                                                                                               mp_list_get_checked_count((MpList_t *) view->content_to_show));
+                               g_list_length(ad->checkedList));
 
-               if (mp_list_get_checked_count((MpList_t *) view->content_to_show)
-                       ==
-                       mp_list_get_editable_count((MpList_t *) view->content_to_show,
-                                                                          mp_list_get_edit_type(view->
-                                                                                                                        content_to_show))) {
+               if (mp_list_get_checked_count((MpList_t *) view->content_to_show) == mp_list_get_editable_count((MpList_t *) view->content_to_show,
+                               mp_list_get_edit_type(view->content_to_show))) {
                        elm_check_state_set(view->select_all_btn, EINA_TRUE);
                } else {
                        elm_check_state_set(view->select_all_btn, EINA_FALSE);
@@ -170,6 +172,16 @@ static int _mp_add_track_view_content_load(void *view)
        MP_CHECK_VAL(view, -1);
        MpAddTrackView_t *add_track_view = (MpAddTrackView_t *) view;
 
+       struct appdata *ad = mp_util_get_appdata();
+       MP_CHECK_VAL(ad, -1);
+
+       /* Selector View is launched. Checked Items list is initially freed */
+       ad->selector_mode_bit = EINA_TRUE;
+       if (ad->checkedList) {
+               g_list_free(ad->checkedList);
+       }
+       ad->checkedList = NULL;
+
        Evas_Object *obj;
 
        obj = add_track_view->add_track_view_tabbar;
@@ -317,6 +329,9 @@ int mp_add_track_view_select_tab(MpAddTrackView_t * view,
 
        DEBUG_TRACE("selected view: %d", tab);
 
+       struct appdata *ad = mp_util_get_appdata();
+       MP_CHECK_VAL(ad, -1);
+
        if (tab == MP_ADD_TRACK_VIEW_TAB_SONGS) {
                checked_list =
                        mp_list_get_checked_path_list(view->content_to_show);
@@ -392,9 +407,8 @@ int mp_add_track_view_select_tab(MpAddTrackView_t * view,
 
        mp_view_update_options((MpView_t *) view);
        /*update title */
-       int count = mp_list_get_checked_count(view->content_to_show);
+       int count = g_list_length(ad->checkedList);
        if (count > 0) {
-
                char *text = g_strdup_printf(GET_STR(STR_MP_SELECT_ITEMS), count);
                mp_view_set_title((MpView_t *) view, text);
                IF_FREE(text);
index c9d5dcc..5c47f56 100644 (file)
@@ -103,8 +103,8 @@ static void _mp_list_select_all_cb(void *data, Evas_Object * obj,
        /* view->selection_info = mp_util_create_selectioninfo_with_count(view, mp_list_get_checked_count(list)); */
 
        mp_util_create_selectioninfo_with_count(view,
-                                                                                       mp_list_get_checked_count
-                                                                                       (list));
+                       mp_list_get_checked_count
+                       (list));
        mp_view_update_options_edit((MpView_t *) view);
 
        endfunc;
index 1dcd244..a9a19e8 100644 (file)
@@ -79,8 +79,10 @@ static int _mp_select_track_view_update_options(void *thiz)
        startfunc;
        MpSelectTrackView_t *view = (MpSelectTrackView_t *) thiz;
        MP_CHECK_VAL(view, -1);
+       struct appdata * ad = mp_util_get_appdata();
+       MP_CHECK_VAL(ad, -1);
        mp_util_create_selectioninfo_with_count((MpView_t *) view,
-                                                                                       mp_list_get_checked_count((MpList_t *) view->content_to_show));
+                       g_list_length(ad->checkedList));
 
        unsigned int count =
                mp_list_get_editable_count((MpList_t *) view->content_to_show,
@@ -107,8 +109,6 @@ static int _mp_select_track_view_update_options(void *thiz)
                }
        }
 
-
-
        /* update the first controlba item */
        /*mp_view_manager_update_first_controlbar_item(layout_data); */
        endfunc;
index 57e6b8d..fd429b9 100644 (file)
@@ -371,7 +371,16 @@ static void _mp_view_view_resume(void *thiz)
        if (mp_playlist_mgr_get_current(ad->playlist_mgr) != NULL) {
                mp_view_set_nowplaying(view);
        }
-
+       if (ad->selector_mode_bit) {
+               int count = g_list_length(ad->checkedList);
+               if (count > 0) {
+                       char *text = g_strdup_printf(GET_STR(STR_MP_SELECT_ITEMS), count);
+                       mp_view_set_title((MpView_t *) view, text);
+                       IF_FREE(text);
+               } else {
+                       mp_view_set_title((MpView_t *) view, STR_MP_TILTE_SELECT_ITEM);
+               }
+       }
        mp_view_freeze_nowplaying(view, 0);
 #endif
 }
index e0068eb..c43bf11 100644 (file)
@@ -22,7 +22,6 @@
 #include "mp-create-playlist-view.h"
 #include "mp-select-track-view.h"
 #include "mp-popup.h"
-//#include "shortcut.h"
 #include "mp-menu.h"
 #include "mp-util.h"
 #include "mp-widget.h"
@@ -186,6 +185,9 @@ _mp_album_select_cb(void *data, Evas_Object * obj, void *event_info)
        char *thumbnail = NULL;
        MP_CHECK(list);
 
+       struct appdata *ad = mp_util_get_appdata();
+       MP_CHECK(ad);
+
        Elm_Object_Item *gli = (Elm_Object_Item *) event_info;
        MP_CHECK(gli);
        if (list->display_mode == MP_LIST_DISPLAY_MODE_THUMBNAIL) {
@@ -226,21 +228,27 @@ _mp_album_select_cb(void *data, Evas_Object * obj, void *event_info)
                mp_view_mgr_push_view(view_manager, (MpView_t *) view_select_track,
                                                          NULL);
 
-               mp_view_set_title((MpView_t *) view_select_track,
-                                                 STR_MP_TILTE_SELECT_ITEM);
+               int count = g_list_length(ad->checkedList);
+               if (count > 0) {
+                       char *text = g_strdup_printf(GET_STR(STR_MP_SELECT_ITEMS), count);
+                       mp_view_set_title((MpView_t *) view_select_track, text);
+                       IF_FREE(text);
+               } else {
+                       mp_view_set_title((MpView_t *) view_select_track, STR_MP_TILTE_SELECT_ITEM);
+               }
                mp_track_list_set_data((MpTrackList_t *) view_select_track->
                                                           content_to_show, MP_TRACK_LIST_TYPE,
                                                           MP_TRACK_BY_ALBUM, MP_TRACK_LIST_TYPE_STR,
                                                           name, -1);
-               mp_list_update(view_select_track->content_to_show);
-               mp_view_update_options((MpView_t *) view_select_track);
-               mp_list_set_edit(view_select_track->content_to_show, TRUE);
                mp_list_view_set_cancel_btn((MpListView_t *) view_select_track,
                                                                        true);
                mp_list_view_set_done_btn((MpListView_t *) view_select_track, true,
                                                                  MP_DONE_SELECT_ADD_TRACK_TYPE);
                mp_list_view_set_select_all((MpListView_t *) view_select_track,
                                                                        TRUE);
+               mp_list_update(view_select_track->content_to_show);
+               mp_view_update_options((MpView_t *) view_select_track);
+               mp_list_set_edit(view_select_track->content_to_show, TRUE);
                return;
        }
 
@@ -264,12 +272,6 @@ _mp_album_select_cb(void *data, Evas_Object * obj, void *event_info)
                                                  NULL);
 
        mp_view_update_options((MpView_t *) view_album_detail);
-       mp_view_set_title((MpView_t *) view_album_detail, title);
-
-       //mp_util_reset_genlist_mode_item(layout_data->genlist);
-
-       //_mp_group_view_push_item_content(view_data, view_layout, title);
-
 }
 
 static void _mp_album_list_append_group_index_item(void *thiz)
index bfc5722..0f0e05a 100644 (file)
@@ -245,6 +245,9 @@ _mp_artist_select_cb(void *data, Evas_Object * obj, void *event_info)
        char *name = NULL;
        char *thumbnail = NULL;
 
+       struct appdata *ad = mp_util_get_appdata();
+       MP_CHECK(ad);
+
        Elm_Object_Item *gli = (Elm_Object_Item *) event_info;
        MP_CHECK(gli);
        MP_CHECK(list);
@@ -278,21 +281,27 @@ _mp_artist_select_cb(void *data, Evas_Object * obj, void *event_info)
                mp_view_mgr_push_view(view_manager, (MpView_t *) view_select_track,
                                                          NULL);
 
-               mp_view_set_title((MpView_t *) view_select_track,
-                                                 STR_MP_TILTE_SELECT_ITEM);
+               int count = g_list_length(ad->checkedList);
+               if (count > 0) {
+                       char *text = g_strdup_printf(GET_STR(STR_MP_SELECT_ITEMS), count);
+                       mp_view_set_title((MpView_t *) view_select_track, text);
+                       IF_FREE(text);
+               } else {
+                       mp_view_set_title((MpView_t *) view_select_track, STR_MP_TILTE_SELECT_ITEM);
+               }
                mp_track_list_set_data((MpTrackList_t *) view_select_track->
                                                           content_to_show, MP_TRACK_LIST_TYPE,
                                                           MP_TRACK_BY_ARTIST, MP_TRACK_LIST_TYPE_STR,
                                                           name, -1);
-               mp_list_update(view_select_track->content_to_show);
-               mp_view_update_options((MpView_t *) view_select_track);
-               mp_list_set_edit(view_select_track->content_to_show, TRUE);
                mp_list_view_set_cancel_btn((MpListView_t *) view_select_track,
                                                                        true);
                mp_list_view_set_done_btn((MpListView_t *) view_select_track, true,
                                                                  MP_DONE_SELECT_ADD_TRACK_TYPE);
                mp_list_view_set_select_all((MpListView_t *) view_select_track,
                                                                        TRUE);
+               mp_list_update(view_select_track->content_to_show);
+               mp_view_update_options((MpView_t *) view_select_track);
+               mp_list_set_edit(view_select_track->content_to_show, TRUE);
                return;
        }
 
index 47d0441..c90df5c 100644 (file)
@@ -364,6 +364,8 @@ static void _mp_list_edit_mode_sel(void *thiz, void *data)
        mp_list_item_data_t *it_data = (mp_list_item_data_t *) data;
        Elm_Object_Item *gli = (Elm_Object_Item *) it_data->it;
        mp_list_item_selected_set(gli, EINA_FALSE);
+       struct appdata *ad = mp_util_get_appdata();
+       MP_CHECK(ad);
 
        if (!MP_LIST_OBJ_IS_GENGRID(list->genlist)) {
                if (elm_genlist_item_flip_get(gli)
@@ -374,16 +376,30 @@ static void _mp_list_edit_mode_sel(void *thiz, void *data)
        }
 
        mp_list_item_check_set(gli, !it_data->checked);
+       if (ad->selector_mode_bit) {
+               char *uri = NULL;
+               mp_media_info_get_file_path(it_data->handle, &uri);
+               if (it_data->checked) {
+                       ad->checkedList = g_list_append(ad->checkedList, g_strdup(uri));
+               } else {
+                       GList *list;
+                       for(list = ad->checkedList; list != NULL; list = list->next) {
+                               if (!g_strcmp0(uri, list->data)) {
+                                       ad->checkedList = g_list_delete_link(ad->checkedList, list);
+                               }
+                       }
+               }
+       }
 
        MpViewMgr_t *view_mgr = mp_view_mgr_get_view_manager();
        MpView_t *view = mp_view_mgr_get_top_view(view_mgr);
        MP_CHECK(view);
 
-       mp_util_create_selectioninfo_with_count(view,
-                                                                                       mp_list_get_checked_count
-                                                                                       (list));
-
-       //view->selection_info = mp_util_create_selectioninfo_with_count(view, mp_list_get_checked_count(list));
+       if (!ad->selector_mode_bit) {
+               mp_util_create_selectioninfo_with_count(view,
+                               mp_list_get_checked_count
+                               (list));
+       }
 }
 
 static void
index cb24f63..9a32296 100644 (file)
@@ -110,17 +110,6 @@ static char *_mp_track_list_label_get(void *data, Evas_Object * obj,
 
                return markup;
        }
-       /*else if (!strcmp(part, "elm.text.3") )
-          {
-          int duration;
-          char time[16] = "";
-
-          mp_media_info_get_duration(track, &duration);
-
-          mp_util_format_duration(time, duration);
-          time[15] = '\0';
-          return g_strdup(time);
-          } */
        return NULL;
 }
 
@@ -193,15 +182,15 @@ Evas_Object *_mp_track_list_icon_get(void *data, Evas_Object * obj,
                                mp_widget_lock_icon_create(obj, (const char *) thumbpath);
                } else {
                        icon =
-                               mp_util_create_lazy_update_thumb_icon(obj, thumbpath,
-                                                                                                         MP_LIST_ICON_SIZE,
-                                                                                                         MP_LIST_ICON_SIZE);
+                                       mp_util_create_lazy_update_thumb_icon(obj, thumbpath,
+                                                       MP_LIST_ICON_SIZE,
+                                                       MP_LIST_ICON_SIZE);
                }
 #else
                icon =
-                       mp_util_create_lazy_update_thumb_icon(obj, thumbpath,
-                                                                                                 MP_LIST_ICON_SIZE,
-                                                                                                 MP_LIST_ICON_SIZE);
+                               mp_util_create_lazy_update_thumb_icon(obj, thumbpath,
+                                               MP_LIST_ICON_SIZE,
+                                               MP_LIST_ICON_SIZE);
 #endif
                elm_layout_theme_set(content, "layout", "list/B/music.type.1",
                                                         "default");
@@ -216,23 +205,22 @@ Evas_Object *_mp_track_list_icon_get(void *data, Evas_Object * obj,
                                elm_object_signal_emit(content, "show_pause", "*");
                        }
                }
-
                return content;
        }
 
 
-       Evas_Object *check = NULL;
 
        if (list->edit_mode) {
                // if edit mode
                if (!strcmp(part, "elm.swallow.end")) {
                        // swallow checkbox or radio button
+                       Evas_Object *check = NULL;
                        check = elm_check_add(obj);
                        elm_object_style_set(check, "default");
                        evas_object_propagate_events_set(check, EINA_FALSE);
                        evas_object_smart_callback_add(check, "changed",
                                                                                   mp_common_view_check_changed_cb,
-                                                                                  NULL);
+                                                                                  item);
                        elm_check_state_pointer_set(check, &item->checked);
 
                        return check;
@@ -575,6 +563,9 @@ static void _mp_track_list_append_item(MpTrackList_t * list,
                                                                           int count)
 {
 
+       struct appdata *ad = mp_util_get_appdata();
+       MP_CHECK(ad);
+
        int index = 0;
        for (index = 0; index < count; index++) {
                mp_media_info_h item = NULL;
@@ -605,9 +596,23 @@ static void _mp_track_list_append_item(MpTrackList_t * list,
 
                char *file_path = NULL;
                mp_media_info_get_file_path(item, &file_path);
-               item_data->checked =
-                       mp_list_is_in_checked_path_list(list->checked_path_list,
-                                                                                       file_path);
+               if (ad->selector_mode_bit) {
+                       item_data->checked = EINA_FALSE;
+                       if (ad->checkedList) {
+                               ad->checkedList = g_list_first(ad->checkedList);
+                               GList *l;
+                               for(l = ad->checkedList ; l !=NULL ; l = l->next) {
+                                       if(g_strcmp0(l->data, file_path) == 0) {
+                                               item_data->checked = EINA_TRUE;
+                                               break;
+                                       }
+                               }
+                       }
+               } else {
+                       item_data->checked =
+                               mp_list_is_in_checked_path_list(list->checked_path_list,
+                                                                                               file_path);
+               }
 
                item_data->it =
                        elm_genlist_item_append(list->genlist, list->itc, item_data,
@@ -1018,17 +1023,6 @@ static void _mp_track_list_update(void *thiz)
                                                                                   list);
                }
 
-               /*
-                  evas_object_smart_callback_add(list->genlist, "drag,start,left", list->flick_left_cb, NULL);
-                  evas_object_smart_callback_add(list->genlist, "drag,start,right", list->flick_right_cb, NULL);
-                  evas_object_smart_callback_add(list->genlist, "drag,stop", list->flick_stop_cb, NULL);
-
-                  evas_object_smart_callback_add(list->genlist, "drag,start,right", list->mode_right_cb, NULL);
-                  evas_object_smart_callback_add(list->genlist, "drag,start,left", list->mode_left_cb, NULL);
-                  evas_object_smart_callback_add(list->genlist, "drag,start,up", list->mode_cancel_cb, NULL);
-                  evas_object_smart_callback_add(list->genlist, "drag,start,down", list->mode_cancel_cb, NULL);
-                */
-               //evas_object_smart_callback_add(list->genlist, "longpressed", _mp_track_list_item_longpressed_cb, list);
                evas_object_smart_callback_add(list->genlist, "scroll,drag,start",
                                                                           list->drag_start_cb, list);
                evas_object_smart_callback_add(list->genlist, "scroll,drag,stop",
@@ -1074,8 +1068,6 @@ static void _mp_track_list_update(void *thiz)
                                                                        (STR_MP_YOU_CAN_ADD_TRACKS_THE_PLAYLIST_PD),
                                                                        title);
                                IF_FREE(title);
-                               //callback = mp_track_list_add_tracks_to_playlist_cb;
-                               //cb_data = list;
                        } else if (list->track_type == MP_TRACK_BY_FAVORITE) {
                                helptext =
                                        g_strdup(STR_MP_AFTER_YOU_ADD_TRACK_TO_FAVOURITE);
diff --git a/widget/Build/appendix.mk b/widget/Build/appendix.mk
new file mode 100644 (file)
index 0000000..2e06c34
--- /dev/null
@@ -0,0 +1 @@
+# Appendix\r
diff --git a/widget/Build/basedef.mk b/widget/Build/basedef.mk
new file mode 100644 (file)
index 0000000..a762983
--- /dev/null
@@ -0,0 +1,34 @@
+# Add inputs and outputs from these tool invocations to the build variables
+
+
+OS_NAME := $(shell $(UNAME))
+
+
+#ifeq ($(origin BUILD_CONFIG), undefined)
+BUILD_CONFIG ?= Debug
+#endif
+
+#ifeq ($(origin ARCH), undefined)
+ARCH ?= i386
+#endif
+
+#ifeq ($(origin PROJPATH), undefined)
+PROJPATH ?= .
+#endif
+
+
+#ifeq ($(origin PROJ_PATH), undefined)
+PROJ_PATH ?= $(PROJPATH)
+#endif
+
+#ifeq ($(strip $(OUTPUT_DIR)),)
+#OUTPUT_DIR ?= $(PROJ_PATH)/$(BUILD_CONFIG)
+#endif
+
+#ifeq ($(strip $(BUILD_ARCH)),)
+BUILD_ARCH ?= $(ARCH)
+#endif
+
+#ifeq ($(strip $(ENVENTOR_PATH)),)
+ENVENTOR_PATH ?= $(SDK_TOOLPATH)/enventor
+#endif
diff --git a/widget/Build/build_c.mk b/widget/Build/build_c.mk
new file mode 100644 (file)
index 0000000..5fffeea
--- /dev/null
@@ -0,0 +1,113 @@
+# C/C++ build script
+
+
+_FUNC_EXT2O = $(patsubst %.$(3),$(1)/%.o,$(2))
+_FUNC_C2O = $(call _FUNC_EXT2O,$(1),$(2),c)
+_FUNC_CPP2O = $(call _FUNC_EXT2O,$(1),$(2),cpp)
+
+
+# parameter :
+#  $(1) - C/C++ soruce file
+#  $(2) - output path
+#  $(3) - .ext
+#  $(4) - unique id
+CONVERT_ESC_EXT_TO_O = $(addprefix $(2)/,$(notdir $(patsubst %.$(3),%-$(4).o,$(1))))
+
+#CONVERT_ESC_C_TO_O = $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),c)
+#CONVERT_ESC_CPP_TO_O = $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),cpp)
+
+
+# parameter :
+#  $(1) - encoded one C/C++ soruce file
+#  $(2) - output path
+#  $(3) - ext title (C/C++)
+#  $(4) - ext (c/cpp)
+#  $(5) - compiler ($(CC)/$(CXX))
+#  $(6) - build opt
+#  $(7) - build opt file
+# output :
+#  $(8) - output files list
+define C_BUILD_PROC_RAW
+$(call CONVERT_ESC_EXT_TO_O,$(1),$(2),$(4),$(8)) : $(call DECODE_4MAKE,$(1)) $(7)
+       @echo '  Building file: $$<'
+       @echo '  Invoking: $(3) Compiler'
+       $$(call MAKEDIRS,$$(@D))
+       $(5) -c "$$<" -o "$$@" $(6) -Wp,@$(7)
+       @echo '  Finished building: $$<'
+$(9) += $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),$(4),$(8))
+endef
+
+
+# parameter :
+#  $(1) - output paths
+#  $(2) - src paths
+#  $(3) - inc paths
+#  $(4) - inc files
+#  $(5) - Defs
+#  $(6) - UnDefs
+#  $(7) - compiler opt
+#  $(8) - compiler opt file
+#  $(9) - ext title (C/C++)
+#  $(10) - ext (c/cpp)
+#  $(11) - compiler ($(CC)/$(CXX))
+# output :
+#  $(12) - OBJS
+# return :
+#  none
+define C_PROC_RAW
+
+_OUTPUT_DIR := $$(strip $(1))#
+_SRCS := $(2)#
+_INCS := $(3)#
+_INC_FILES := $(4)#
+_DEFS := $(5)#
+_UNDEFS := $(6)#
+
+_OPT := $(7)
+_OPT_FILE := $(8)
+
+_EXT_TITLE := $(9)
+_EXT := $(10)
+_COMPILER := $(11)
+
+#_OUTPUT_FILES := $(12)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS))
+_ENC_SRCS := $$(filter %.$$(_EXT),$$(_ENC_SRCS))
+
+ifneq ($$(strip $$(_SRCS)),)
+
+_NORMAL_SRCS := $$(filter-out %*.$$(_EXT),$$(_ENC_SRCS))
+_WIDLCARD_SRCS := $$(filter %*.$$(_EXT),$$(_ENC_SRCS))
+
+_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
+             $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))
+
+ifneq ($$(strip $$(_ALL_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS))
+
+_CDEFS := $$(CDEFS)
+_CDEFS += $$(addprefix -D,$$(_DEFS))
+_CDEFS += $$(addprefix -U,$$(_UNDEFS))
+
+_ENC_C_INCS := $$(call ENCODE_4MAKE,$$(_INCS))
+_ENC_C_INCS := $$(addprefix -I,$$(_ENC_C_INCS))
+
+_ENC_INC_FILES := $$(call ENCODE_4MAKE,$$(_INC_FILES))
+_ENC_INC_FILES += $$(addprefix -include,$$(_ENC_INC_FILES))
+
+_C_INCS := $$(call DECODE_4MAKE,$$(_ENC_C_INCS) $$(_ENC_C_INC_FILES))
+
+_DEFS := $$(_CDEFS) $$(_C_INCS) -I"pch" $$(_OPT)
+
+_UNIQUE_ID = $$(firstword $$(shell echo $$(var) | $$(CKSUM)))
+
+$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call C_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_EXT_TITLE),$$(_EXT),$$(_COMPILER),$$(_DEFS),$$(_OPT_FILE),$$(_UNIQUE_ID),$(12))))
+
+endif  # (_(strip _(_ALL_SRCS)),)
+
+endif  # (_(strip _(_SRCS)),)
+
+
+endef
diff --git a/widget/Build/build_edc.mk b/widget/Build/build_edc.mk
new file mode 100644 (file)
index 0000000..6f85fdd
--- /dev/null
@@ -0,0 +1,81 @@
+# EDC build script
+
+
+FUNC_EDC2EDJ = $(patsubst %.edc,$(2)/%.edj,$(1))
+
+# parameter :
+#  $(1) - C/C++ soruce file
+#  $(2) - output path
+CONVERT_ESC_EDC_TO_EDJ = $(call CONVERT_4MAKE_TO_OUT,$(call FUNC_EDC2EDJ,$(1),$(2)))
+
+
+# parameter :
+#  $(1) - encoded one C/C++ soruce file
+#  $(2) - output path
+#  $(3) - build opt
+# output :
+#  $(4) - output files list
+define EDJ_BUILD_PROC_RAW
+$(call CONVERT_ESC_EDC_TO_EDJ,$(1),$(2)) : $(call DECODE_4MAKE,$(1))
+       @echo '  Building file: $$<'
+       @echo '  Invoking: EDC Resource Compiler'
+       $$(call MAKEDIRS,$$(@D))
+       $$(EDJE_CC) $(3) "$$<" "$$@"
+       @echo '  Finished building: $$<'
+$(4) += $(call CONVERT_ESC_EDC_TO_EDJ,$(1),$(2))
+endef
+
+
+# parameter :
+#  $(1) - output paths
+#  $(2) - src paths
+#  $(3) - image inc paths
+#  $(4) - sound inc paths
+#  $(5) - font inc paths
+# output :
+#  $(6) - OBJS 
+# return :
+#  none
+define EDJ_PROC_RAW
+
+_OUTPUT_DIR := $$(strip $(1))#
+_SRCS := $(2)# 
+_IMAGE_DIRS := $(3)# 
+_SOUND_DIRS := $(4)# 
+_FONT_DIRS := $(5)# 
+
+ifneq ($$(strip $$(_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS)) 
+
+_NORMAL_SRCS := $$(filter-out %*.edc,$$(_ENC_SRCS))
+_WIDLCARD_SRCS := $$(filter %*.edc,$$(_ENC_SRCS))
+
+_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
+             $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))
+
+ifneq ($$(strip $$(_ALL_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS)) 
+
+_COMPILER_FLAGS := -id "$$(ENVENTOR_SHARED_RES_PATH)/images"
+_COMPILER_FLAGS += -sd "$$(ENVENTOR_SHARED_RES_PATH)/sounds"
+_COMPILER_FLAGS += -fd "$$(ENVENTOR_SHARED_RES_PATH)/fonts"
+
+ifneq ($$(strip $$(_IMAGE_DIRS)),)
+_COMPILER_FLAGS += $$(addprefix -id ,$$(_IMAGE_DIRS))
+endif
+ifneq ($$(strip $$(_SOUND_DIRS)),)
+_COMPILER_FLAGS += $$(addprefix -sd ,$$(_SOUND_DIRS))
+endif
+ifneq ($$(strip $$(_FONT_DIRS)),)
+_COMPILER_FLAGS += $$(addprefix -fd ,$$(_FONT_DIRS))
+endif
+
+$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call EDJ_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_COMPILER_FLAGS),$(6))))
+
+endif  # (_(strip _(_ALL_SRCS)),)
+
+endif  # (_(strip _(_SRCS)),)
+
+endef
diff --git a/widget/Build/build_po.mk b/widget/Build/build_po.mk
new file mode 100644 (file)
index 0000000..d88d71a
--- /dev/null
@@ -0,0 +1,64 @@
+# PO build script
+
+
+_FUNC_PO2MO = $(patsubst %.po,$(2)/res/locale/%/LC_MESSAGES/$(3).mo,$(notdir $(1)))
+
+
+# parameter :
+#  $(1) - C/C++ soruce file
+#  $(2) - output path
+#  $(3) - app name
+CONVERT_ESC_PO_TO_MO = $(call CONVERT_4MAKE_TO_OUT,$(call _FUNC_PO2MO,$(1),$(2),$(3)))
+
+
+# parameter :
+#  $(1) - encoded one C/C++ soruce file
+#  $(2) - output path
+#  $(3) - app name
+# output :
+#  $(4) - output files list
+define MO_BUILD_PROC_RAW
+$(call CONVERT_ESC_PO_TO_MO,$(1),$(2),$(3)) : $(call DECODE_4MAKE,$(1))
+       @echo '  Building file: $$<'
+       @echo '  Invoking: msgfmt String Formatter'
+       $$(call MAKEDIRS,$$(@D))
+       $$(MSGFMT) -o "$$@" "$$<"
+       @echo '  Finished building: $$<'
+$(4) += $(call CONVERT_ESC_PO_TO_MO,$(1),$(2),$(3))
+endef
+
+# parameter :
+#  $(1) - output dir
+#  $(2) - src paths
+#  $(3) - app name
+# output :
+#  $(4) - OBJS 
+
+define MO_PROC_RAW
+
+_OUTPUT_DIR := $(1)
+_SRCS := $(2)
+_APPNAME := $(3)
+
+ifneq ($$(strip $$(_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS)) 
+
+_NORMAL_SRCS := $$(filter-out %*.po,$$(_ENC_SRCS))
+_WIDLCARD_SRCS := $$(filter %*.po,$$(_ENC_SRCS))
+
+_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \
+             $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var))))
+
+ifneq ($$(strip $$(_ALL_SRCS)),)
+
+_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS)) 
+
+$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call MO_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_APPNAME),$(4))))
+
+endif  # (_(strip _(_ALL_SRCS)),)
+
+endif  # (_(strip _(_SRCS)),)
+
+endef
diff --git a/widget/Build/flags.mk b/widget/Build/flags.mk
new file mode 100644 (file)
index 0000000..1f3c7f8
--- /dev/null
@@ -0,0 +1,16 @@
+
+DEBUG_OP = -g3 
+CPP_DEBUG_OP = 
+
+OPTIMIZATION_OP = -O0 
+CPP_OPTIMIZATION_OP = 
+
+COMPILE_FLAGS = $(DEBUG_OP) $(OPTIMIZATION_OP) -Wall -c -fmessage-length=0 -fPIC 
+
+CPP_COMPILE_FLAGS = $(CPP_DEBUG_OP) $(CPP_OPTIMIZATION_OP) 
+
+LINK_FLAGS = -shared -Wl,--no-undefined 
+
+AR_FLAGS = 
+
+EDC_COMPILE_FLAGS = 
\ No newline at end of file
diff --git a/widget/Build/funcs.mk b/widget/Build/funcs.mk
new file mode 100644 (file)
index 0000000..3ba778b
--- /dev/null
@@ -0,0 +1,50 @@
+
+BSLASH := \\#
+NULL_CHAR := #
+SPACE := \ #
+COLON := :#
+DOTDOT := ..#
+SPACE_ESC := &sp;#
+COLON_ESC := &co;#
+SPACE_OUT := ~sp~#
+COLON_OUT := ~co~#
+DOTDOT_OUT := ~dtdt~#
+
+BSLASH2SLASH = $(subst $(BSLASH),/,$(1))
+
+REMOVE_TAIL = $(patsubst %/,%,$(1))
+
+#LOWER_CASE = $(shell echo translit($(1),[A-Z],[a-z])|$(M4))
+LOWER_CASE = $(shell echo $(1)|$(TR) [A-Z] [a-z])
+
+#ifneq ($(findstring Windows,$(OS)),)
+# ...
+#endif
+
+FIND_FILES = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///')
+FIND_FILES_ESC = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///' -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+FIND_FILES_4MAKE = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///')
+
+FIND_FILES_ABS = $(shell $(FIND) $(1))
+FIND_FILES_ABS_4MAKE = $(shell $(FIND) $(1) -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+FIND_FILES_ABS_ESC = $(shell $(FIND) $(1) -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+
+FIND_FILES_4MAKE = $(shell $(FIND) $(1) | $(SED) 's/ /\\\ /g')
+
+#ENCODE_ESC = $(shell echo $(1) | $(SED) -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g')
+#DECODE_ESC = $(shell echo $(1) | $(SED) -e 's/$(BSLASH)&co;/:/g' -e 's/$(BSLASH)&sp;/$(BSLASH) / g')
+ENCODE_ESC = $(subst $(SPACE),$(SPACE_ESC),$(subst $(COLON),$(COLON_ESC),$(1)))
+DECODE_ESC = $(subst $(COLON_ESC),$(COLON),$(subst $(SPACE_ESC),$(SPACE),$(1)))
+ENCODE_4MAKE = $(subst $(SPACE),$(SPACE_ESC),$(1))
+DECODE_4MAKE = $(subst $(SPACE_ESC),$(SPACE),$(1))
+
+CONVERT_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON),$(COLON_OUT),$(subst $(SPACE),$(SPACE_OUT),$(1))))
+CONVERT_ESC_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON_ESC),$(COLON_OUT),$(subst $(SPACE_ESC),$(SPACE_OUT),$(1))))
+CONVERT_4MAKE_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON),$(COLON_OUT),$(subst $(SPACE_ESC),$(SPACE_OUT),$(1))))
+
+PROC_NO_EXIST = $(if $(wildcard $(1)),,$(call $(2),$(1)))
+define MAKEDIRS0
+       @echo '  Building directory: $(1)'
+       @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(1))
+endef
+MAKEDIRS = $(call PROC_NO_EXIST,$(1),MAKEDIRS0)
diff --git a/widget/Build/makefile b/widget/Build/makefile
new file mode 100644 (file)
index 0000000..f491b50
--- /dev/null
@@ -0,0 +1,34 @@
+# 
+# Usege : make -f <proj_root>/Build/makefile -C <proj_root> 
+#
+BUILD_SCRIPT_VERSION := 1.1.0
+
+.PHONY : app_version app_build app_clean build_version
+
+
+all : app_build
+
+clean : app_clean
+
+version : build_version
+
+#PROJ_ROOT = .
+BUILD_ROOT := $(PROJ_PATH)/Build#
+
+ifeq ($(MAKE_NAME),mingw32-make)
+ifneq ($(SHELL),)
+OPTIONS += --eval="SHELL=$(SHELL)"
+endif
+endif
+
+app_build :
+       @echo $(MAKE) -f "$(BUILD_ROOT)/makefile.mk"
+       @$(MAKE_BIN) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS)
+
+app_clean :
+       @$(MAKE) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS) clean
+
+build_version :
+       @echo makefile : $(BUILD_SCRIPT_VERSION)
+       @$(MAKE) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS) version
diff --git a/widget/Build/makefile.mk b/widget/Build/makefile.mk
new file mode 100644 (file)
index 0000000..205a3ad
--- /dev/null
@@ -0,0 +1,197 @@
+#
+# Usege : make -f <proj_root>/Build/makefile -C <proj_root>
+#
+
+BUILD_SCRIPT_VERSION := 1.2.3
+
+.PHONY : app_version app_clean build_version
+
+
+all : app_build
+
+clean : app_clean
+
+version : build_version
+
+
+#PROJ_ROOT := $(call BSLASH2SLASH,$(PROJ_PATH))
+PROJ_ROOT := .
+BUILD_ROOT := $(PROJ_ROOT)/Build
+
+include $(BUILD_ROOT)/basedef.mk
+
+include $(PROJ_ROOT)/project_def.prop
+-include $(PROJ_ROOT)/build_def.prop
+
+include $(BUILD_ROOT)/funcs.mk
+
+-include $(BUILD_ROOT)/tooldef.mk
+-include $(BUILD_ROOT)/flags.mk
+-include $(BUILD_ROOT)/platform.mk
+
+
+APPTYPE := $(type)
+
+OUTPUT_DIR := $(PROJ_ROOT)/$(BUILD_CONFIG)
+OBJ_OUTPUT := $(OUTPUT_DIR)/objs
+
+LOWER_APPNAME := $(call LOWER_CASE,$(APPNAME))
+APPID2 := $(subst $(basename $(APPID)).,,$(APPID))
+
+ifeq ($(strip $(APPTYPE)),app)
+APPFILE := $(OUTPUT_DIR)/$(LOWER_APPNAME)
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).a
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).so
+endif
+
+ifneq ($(strip $(PLATFORM_INCS)),)
+PLATFORM_INCS_FILE := $(OBJ_OUTPUT)/platform_incs_file.inc
+endif
+
+include $(BUILD_ROOT)/build_c.mk
+
+
+ifeq ($(strip $(APPTYPE)),app)
+EXT_OP := -fPIE
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+EXT_OP := -fPIE
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+EXT_OP := -fPIC
+endif
+
+C_OPT := $(COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) $(EXT_OP) --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) $(USER_C_OPTS)
+CPP_OPT := $(CPP_COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) $(EXT_OP) --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) $(USER_CPP_OPTS)
+C_OPT_FILE := $(PLATFORM_INCS_FILE)
+
+OBJS := #
+
+# Global C/C++
+ifeq ($(strip $(USER_ROOT)),)
+USER_ROOT := $(PROJ_ROOT)
+endif
+$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_SRCS),$(USER_INC_DIRS),$(USER_INC_FILES),$(USER_DEFS),$(USER_UNDEFS),$(C_OPT),$(C_OPT_FILE),C,c,$(CC),OBJS))
+$(foreach ext,cpp cxx cc c++ C,$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_SRCS),$(USER_INC_DIRS),$(USER_CPP_INC_FILES),$(USER_CPP_DEFS),$(USER_CPP_UNDEFS),$(CPP_OPT),$(C_OPT_FILE),C++,$(ext),$(CXX),OBJS)))
+
+# Individual C/C++
+ifneq ($(strip $(USER_EXT_C_KEYS)),)
+$(foreach var,$(USER_EXT_C_KEYS),$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_EXT_$(var)_SRCS),$(USER_EXT_$(var)_INC_DIRS),$(USER_EXT_$(var)_INC_FILES),$(USER_EXT_$(var)_DEFS),$(USER_EXT_$(var)_UNDEFS),$(C_OPT),$(C_OPT_FILE),C,c,$(CC),OBJS)))
+$(foreach ext,cpp cxx cc c++ C,$(foreach var,$(USER_EXT_C_KEYS),$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_EXT_$(var)_SRCS),$(USER_EXT_$(var)_INC_DIRS),$(USER_EXT_$(var)_CPP_INC_FILES),$(USER_EXT_$(var)_CPP_DEFS),$(USER_EXT_$(var)_CPP_UNDEFS),$(CPP_OPT),$(C_OPT_FILE),C++,$(ext),$(CXX),OBJS))))
+endif
+
+
+ifneq ($(strip $(USER_LIB_DIRS)),)
+_ENC_USER_LIB_DIRS := $(call ENCODE_4MAKE,$(USER_LIB_DIRS))
+_ENC_USER_LIB_DIRS := $(addprefix -L,$(_ENC_USER_LIB_DIRS))
+LIBPATHS := $(call DECODE_4MAKE,$(_ENC_USER_LIB_DIRS))
+endif
+
+LIBS += $(addprefix -l,$(USER_LIBS))
+
+UOBJS += $(USER_OBJS)
+
+M_OPT = -MMD -MP -MF"$(@:%.o=%.d)"
+
+DEPS := $(OBJS:.o=.d)
+
+ifneq ($(strip $(DEPS)),)
+-include $(PROJ_ROOT)/Build/$(DEPS)
+endif
+
+
+ifeq ($(strip $(APPTYPE)),app)
+$(APPFILE) : $(OBJS) $(UOBJS)
+       @echo '  Building target: $@'
+       @echo '  Invoking: C/C++ Linker'
+       $(call MAKEDIRS,$(@D))
+       $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -pie -lpthread --sysroot="$(SYSROOT)" -Xlinker --version-script="$(PROJ_ROOT)/.exportMap" $(RS_LIB_PATHS) $(RS_LIBRARIES) -Xlinker -rpath="/opt/usr/apps/$(APPID)/lib" -Werror-implicit-function-declaration $(USER_LINK_OPTS)
+       @echo '  Finished building target: $@'
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+$(APPFILE) : $(OBJS) $(UOBJS)
+       @echo '  Building target: $@'
+       @echo '  Invoking: Archive utility'
+       $(call MAKEDIRS,$(@D))
+       $(AR) -r $(APPFILE) $(OBJS) $(UOBJS) $(AR_FLAGS) $(USER_LINK_OPTS)
+       @echo '  Finished building target: $@'
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+$(APPFILE) : $(OBJS) $(UOBJS)
+       @echo '  Building target: $@'
+       @echo '  Invoking: C/C++ Linker'
+       $(call MAKEDIRS,$(@D))
+       $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -shared -lpthread --sysroot="$(SYSROOT)" $(RS_LIB_PATHS) $(RS_LIBRARIES) $(USER_LINK_OPTS)
+       @echo '  Finished building target: $@'
+endif
+
+
+$(OBJ_OUTPUT) :
+       $(call MAKEDIRS,$@)
+
+$(OUTPUT_DIR) :
+       $(call MAKEDIRS,$@)
+
+
+ifneq ($(strip $(PLATFORM_INCS)),)
+$(PLATFORM_INCS_FILE) : $(OBJ_OUTPUT)
+       @echo '  Building inc file: $@'
+ifneq ($(findstring Windows,$(OS)),)
+ifneq ($(findstring 3.82,$(MAKE_VERSION)),)
+       $(file > $@,$(PLATFORM_INCS))
+else
+       @echo $(PLATFORM_INCS) > $@
+endif
+else
+       @echo $(PLATFORM_INCS) > $@
+endif
+endif
+
+
+include $(BUILD_ROOT)/build_edc.mk
+
+#ifeq ($(strip $(ENVENTOR_SHARED_RES_PATH)),)
+ENVENTOR_SHARED_RES_PATH ?= $(ENVENTOR_PATH)/share/enventor
+#endif
+
+EDJ_FILES :=
+
+# Global EDCs
+ifneq ($(strip $(USER_EDCS)),)
+$(eval $(call EDJ_PROC_RAW,$(OUTPUT_DIR),$(USER_EDCS),$(USER_EDCS_IMAGE_DIRS),$(USER_EDCS_SOUND_DIRS),$(USER_EDCS_FONT_DIRS),EDJ_FILES))
+endif
+
+# Individual EDCs
+ifneq ($(strip $(USER_EXT_EDC_KEYS)),)
+$(foreach var,$(USER_EXT_EDC_KEYS),$(eval $(call EDJ_PROC_RAW,$(OUTPUT_DIR),$(USER_EXT_$(var)_EDCS),$(USER_EXT_$(var)_EDCS_IMAGE_DIRS),$(USER_EXT_$(var)_EDCS_SOUND_DIRS),$(USER_EXT_$(var)_EDCS_FONT_DIRS),EDJ_FILES)))
+endif
+
+
+include $(BUILD_ROOT)/build_po.mk
+
+MO_FILES :=
+
+# Global POs
+ifneq ($(strip $(USER_POS)),)
+$(eval $(call MO_PROC_RAW,$(OUTPUT_DIR),$(USER_POS),$(APPID2),MO_FILES))
+endif
+
+
+secondary-outputs : $(EDJ_FILES) $(MO_FILES)
+
+-include appendix.mk
+
+app_build : $(OUTPUT_DIR) $(APPFILE) secondary-outputs
+       @echo ========= done =========
+
+
+app_clean :
+       rm -f $(APPFILE)
+       rm -rf $(OUTPUT_DIR)
+
+build_version :
+       @echo makefile.mk : $(BUILD_SCRIPT_VERSION)
diff --git a/widget/Build/platform.mk b/widget/Build/platform.mk
new file mode 100644 (file)
index 0000000..294a38a
--- /dev/null
@@ -0,0 +1,15 @@
+# Add inputs and outputs from these tool invocations to the build variables
+
+SYSROOT = $(SBI_SYSROOT)
+
+USR_INCS := $(addprefix -I $(SYSROOT),$(PLATFORM_INCS_EX))
+
+ifeq ($(strip $(PLATFORM_LIB_PATHS)),)
+RS_LIB_PATHS := "$(SYSROOT)/usr/lib"
+else
+RS_LIB_PATHS := $(addprefix -L$(SYSROOT),$(PLATFORM_LIB_PATHS))
+endif
+
+RS_LIBRARIES := $(addprefix -l,$(RS_LIBRARIES_EX))
+
+PLATFORM_INCS = $(USR_INCS) -I"$(SDK_PATH)/library"
diff --git a/widget/Build/tooldef.mk b/widget/Build/tooldef.mk
new file mode 100644 (file)
index 0000000..c62243c
--- /dev/null
@@ -0,0 +1,70 @@
+# Add inputs and outputs from these tool invocations to the build variables
+
+ifneq ($(strip $(SHELL_BIN)),)
+SHELL = $(SHELL_BIN)
+else
+SHELL = sh
+endif
+
+ifneq ($(strip $(MKDIR_BIN)),)
+MKDIR = $(MKDIR_BIN)
+MKDIR_OP = -p
+else
+MKDIR = mkdir
+MKDIR_OP = -p
+endif
+
+ifneq ($(strip $(UNAME_BIN)),)
+UNAME = $(UNAME_BIN)
+else
+UNAME = uname
+endif
+
+ifneq ($(strip $(M4_BIN)),)
+M4 = $(M4_BIN)
+else
+M4 = m4
+endif
+
+ifneq ($(strip $(TR_BIN)),)
+TR = $(TR_BIN)
+else
+TR = tr
+endif
+
+ifneq ($(strip $(FIND_BIN)),)
+FIND = $(FIND_BIN)
+else
+FIND = find
+endif
+
+ifneq ($(strip $(SED_BIN)),)
+SED = $(SED_BIN)
+else
+SED = sed
+endif
+
+ifneq ($(strip $(GREP_BIN)),)
+GREP = $(GREP_BIN)
+else
+GREP = grep
+endif
+
+ifneq ($(strip $(EDJE_CC_BIN)),)
+EDJE_CC = $(EDJE_CC_BIN)
+else
+EDJE_CC = edje_cc
+endif
+
+ifneq ($(strip $(MSGFMT_BIN)),)
+MSGFMT = $(MSGFMT_BIN)
+else
+MSGFMT = msgfmt
+endif
+
+ifneq ($(strip $(CKSUM_BIN)),)
+CKSUM = $(CKSUM_BIN)
+else
+CKSUM = cksum
+endif
+