From 17cf21bcf8a2e29d2cbcf0a313474d2a4ee44f5d Mon Sep 17 00:00:00 2001 From: Tadao Tanikawa Date: Fri, 20 Nov 2020 23:36:23 +0900 Subject: Re-organized sub-directory by category Since all the sub-directories were placed in the first level, created sub-directories, "hal", "module", and "service" for classification and relocated each component. Signed-off-by: Tadao Tanikawa Change-Id: Ifdf743ac0d1893bd8e445455cf0d2c199a011d5c --- .../NativeServices/cfg/PosixBasedOS001_arm.mk | 88 +++++++++++ .../NativeServices/cfg/PosixBasedOS001_armv7.mk | 96 +++++++++++ .../NativeServices/cfg/PosixBasedOS001_x86.mk | 89 +++++++++++ .../client/NativeServices/cfg/analysis.mk | 73 +++++++++ .../client/NativeServices/cfg/common.mk | 175 +++++++++++++++++++++ .../client/NativeServices/cfg/config.mk | 115 ++++++++++++++ .../client/NativeServices/cfg/depends.mk | 115 ++++++++++++++ .../NativeServices/cfg/nativeserviceslibraries.mk | 54 +++++++ 8 files changed, 805 insertions(+) create mode 100755 service/native/framework_unified/client/NativeServices/cfg/PosixBasedOS001_arm.mk create mode 100755 service/native/framework_unified/client/NativeServices/cfg/PosixBasedOS001_armv7.mk create mode 100755 service/native/framework_unified/client/NativeServices/cfg/PosixBasedOS001_x86.mk create mode 100755 service/native/framework_unified/client/NativeServices/cfg/analysis.mk create mode 100755 service/native/framework_unified/client/NativeServices/cfg/common.mk create mode 100755 service/native/framework_unified/client/NativeServices/cfg/config.mk create mode 100755 service/native/framework_unified/client/NativeServices/cfg/depends.mk create mode 100755 service/native/framework_unified/client/NativeServices/cfg/nativeserviceslibraries.mk (limited to 'service/native/framework_unified/client/NativeServices/cfg') diff --git a/service/native/framework_unified/client/NativeServices/cfg/PosixBasedOS001_arm.mk b/service/native/framework_unified/client/NativeServices/cfg/PosixBasedOS001_arm.mk new file mode 100755 index 0000000..3baa0f2 --- /dev/null +++ b/service/native/framework_unified/client/NativeServices/cfg/PosixBasedOS001_arm.mk @@ -0,0 +1,88 @@ +# +# @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# QCC arm COMPILER SETTINGS +# Standard form of tool.mk file configured for PosixBasedOS001 vmware + +# Tools and Options +LIB_EXT = a +SO_EXT = so +LIB_PREFIX = lib +OBJ_EXT = o +BIN_EXT = +CC = qcc -c +CPP = qcc -c +AS = ntoarm-as +AR = ntoarm-ar +LD = qcc +# Add addtion Linker Flags.... +# If your application contains c++ code you will need +# the -lang-c++ +LD_CPP = -lang-c++ + +# Compile options and commands +TARGET_FLG = -Vgcc_ntoarmle + +# Set Debug Flag +ifdef DEBUG +CC_DEBUG_FLG = -g +DEBUG_EXT=_g +endif + +# Set Profiling Flag +ifdef PROFILING +CC_PROFILING_FLG = -p +endif + +# Set Optimization Flag +ifeq ($(OPTIMIZATION),OPTIMIZE) +CC_OPT_FLG = -O2 +else +ifeq ($(OPTIMIZATION),FULL_OPTIMIZE) +CC_OPT_FLG = -O3 +else +ifeq ($(OPTIMIZATION),NONE) +CC_OPT_FLG = +endif +endif +endif + + +# Compiler Options +CC_OFLAG = -o +CC_IFLAG = -I +CC_FLAGS = $(TARGET_FLG) -w9 -Wc,-Wall -shared $(CC_OPT_FLG) $(CC_PROFILING_FLG) $(CC_DEBUG_FLG) +CC_TARGET = $(@) +CC_CMD = $(CC) $(CC_FLAGS) $(DEFS) $(INCLUDES) $(@F:.$(OBJ_EXT)=.c) -o $(@) +CPP_CMD = $(CPP) $(CC_FLAGS) $(DEFS) $(INCLUDES) $(@F:.$(OBJ_EXT)=.cpp) -o $(@) + +# Archive Options (Static Library) +AR_OFLAG = +AR_FLAGS = -r +AR_CMD = $(AR) $(AR_FLAGS) $(AR_OFLAG)$(@) $^ + +# Linker Options +# Executable +# Used in the form of $(LD_CMD) -L[Library Paths] -l[libraries] [objects] $(LD_OFLAG) executable_name.$(BIN_EXT) +LD_FLAGS = $(TARGET_FLG) $(CC_PROFILING_FLG) $(CC_DEBUG_FLG) $(LD_CPP) +LD_OFLAG = -o +LD_CMD = $(LD) -L$(LIB_PATH) $(LD_FLAGS) +EXEC_CMD = $(LD_CMD) $(LD_OFLAG) $(@) $(OBJECTS) $(addprefix -L , $(LIB_PATHS)) -Bstatic $(addprefix -l , $(STATIC_LIBS)) -Bdynamic $(addprefix -l , $(DYNAMIC_LIBS)) + +# To create shared objects use the linker command but add -shared +SO_CMD = $(LD) $(LD_FLAGS) -shared +SLIB_CMD = $(SO_CMD) $^ $(LD_OFLAG) $(@) $(addprefix -L, $(LIB_PATHS)) \ + -Bstatic $(addprefix -l,$(STATIC_LIBS)) -Bdynamic $(addprefix -l,$(DYNAMIC_LIBS)) diff --git a/service/native/framework_unified/client/NativeServices/cfg/PosixBasedOS001_armv7.mk b/service/native/framework_unified/client/NativeServices/cfg/PosixBasedOS001_armv7.mk new file mode 100755 index 0000000..68d15da --- /dev/null +++ b/service/native/framework_unified/client/NativeServices/cfg/PosixBasedOS001_armv7.mk @@ -0,0 +1,96 @@ +# +# @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# QCC arm COMPILER SETTINGS +# Standard form of tool.mk file configured for PosixBasedOS001 arm v7 +# Note: Make sure PosixBasedOS001_HOST is set to install version desired + +# Tools and Options +LIB_EXT = a +SO_EXT = so +LIB_PREFIX = lib +OBJ_EXT = o +BIN_EXT = +CC = ${PosixBasedOS001_HOST}/usr/bin/qcc -c +CPP = ${PosixBasedOS001_HOST}/usr/bin/qcc -c +AS = ${PosixBasedOS001_HOST}/usr/bin/ntoarmv7-as +AR = ${PosixBasedOS001_HOST}/usr/bin/ntoarmv7-ar +OBJCPY := ${PosixBasedOS001_HOST}/usr/bin/ntoarmv7-objcopy +LD = qcc +# Add addtion Linker Flags.... +# If your application contains c++ code you will need +# the -lang-c++ +LD_CPP = -lang-c++ #-lm + +# Compile options and commands +TARGET_FLG = -Vgcc_ntoarmv7le + +# Define Map file Option +MAP_FILE_FLG=-M + +# Set Debug Flag +ifdef DEBUG +CC_DEBUG_FLG = -g +DEBUG_EXT=_g +endif + +# Set Profiling Flag +ifdef PROFILING +CC_PROFILING_FLG = -p +endif + +# Set Optimization Flag (precident to force none, force full, force basic, or default remain as defined) +ifeq ($(OPTIMIZATION),OPTIMIZE) +CC_OPT_FLG = -O2 +else +ifeq ($(OPTIMIZATION),FULL_OPTIMIZE) +CC_OPT_FLG = -O3 +else +ifeq ($(OPTIMIZATION),NONE) +CC_OPT_FLG = +endif +endif +endif + + +# Compiler Options +CC_OFLAG = -o +CC_IFLAG = -I +CC_FLAGS = $(TARGET_FLG) -w9 -Wc,-Wall -shared $(CC_OPT_FLG) $(CC_PROFILING_FLG) $(CC_DEBUG_FLG) +CC_TARGET = $(@) +CC_CMD = $(CC) $(CC_FLAGS) $(DEFS) $(INCLUDES) $(@F:.$(OBJ_EXT)=.c) -o $(@) +CPP_CMD = $(CPP) $(CC_FLAGS) $(DEFS) $(INCLUDES) $(@F:.$(OBJ_EXT)=.cpp) -o $(@) +CPP_D_CMD = arm-unknown-nto-PosixBasedOS001.5.0eabi-gcc.exe -c $(DEFS) $(INCLUDES) -MM -MP $< > $(@:.o=.d) + +# Archive Options (Static Library) +AR_OFLAG = +AR_FLAGS = -r +AR_CMD = $(AR) $(AR_FLAGS) $(AR_OFLAG)$(@) $^ + +# Linker Options +# Executable +# Used in the form of $(LD_CMD) -L[Library Paths] -l[libraries] [objects] $(LD_OFLAG) executable_name.$(BIN_EXT) +LD_FLAGS = $(TARGET_FLG) $(CC_PROFILING_FLG) $(CC_DEBUG_FLG) $(LD_CPP) +LD_OFLAG = -o +LD_CMD = $(LD) -L$(LIB_PATH) $(LD_FLAGS) $(MAP_FILE_FLG) +EXEC_CMD = $(LD_CMD) $(LD_OFLAG) $(@) $(OBJECTS) $(addprefix -L , $(LIB_PATHS)) \ + -Bstatic $(addprefix -l , $(STATIC_LIBS)) -Bdynamic $(addprefix -l , $(DYNAMIC_LIBS)) + +# To create shared objects use the linker command but add -shared +SO_CMD = $(LD) $(LD_FLAGS) -shared $(MAP_FILE_FLG) +SLIB_CMD = $(SO_CMD) $^ $(LD_OFLAG) $(@) $(addprefix -L, $(LIB_PATHS)) \ + -Bstatic $(addprefix -l,$(STATIC_LIBS)) -Bdynamic $(addprefix -l,$(DYNAMIC_LIBS)) + diff --git a/service/native/framework_unified/client/NativeServices/cfg/PosixBasedOS001_x86.mk b/service/native/framework_unified/client/NativeServices/cfg/PosixBasedOS001_x86.mk new file mode 100755 index 0000000..528e7ea --- /dev/null +++ b/service/native/framework_unified/client/NativeServices/cfg/PosixBasedOS001_x86.mk @@ -0,0 +1,89 @@ +# +# @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# QCC x86 COMPILER SETTINGS +# Standard form of tool.mk file configured for PosixBasedOS001 vmware + +# Tools and Options +LIB_EXT = a +SO_EXT = so +LIB_PREFIX = lib +OBJ_EXT = o +BIN_EXT = +CC = qcc -c +CPP = qcc -c +AS = qcc -c +AR = qcc -a +LD = qcc +LD_CPP = -lang-c++ #-lm +OBJCPY := ${PosixBasedOS001_HOST}/usr/bin/ntox86-objcopy + +# Compile options and commands +TARGET_FLG = -Vgcc_ntox86 + +# Set Debug Flag +ifdef DEBUG +CC_DEBUG_FLG = -g +DEBUG_EXT=_g +endif + +# Define Map file Option +MAP_FILE_FLG=-M + +# Set Profiling Flag +ifdef PROFILING +CC_PROFILING_FLG = -p +endif + +# Set Optimization Flag (precident to force none, force full, force basic, or default remain as defined) +ifeq ($(OPTIMIZATION),OPTIMIZE) +CC_OPT_FLG = -O2 +else +ifeq ($(OPTIMIZATION),FULL_OPTIMIZE) +CC_OPT_FLG = -O3 +else +ifeq ($(OPTIMIZATION),NONE) +CC_OPT_FLG = +endif +endif +endif + + +# Compiler Options +CC_OFLAG = -o +CC_IFLAG = -I +CC_FLAGS = $(TARGET_FLG) -w9 -Wc,-Wall -shared $(CC_OPT_FLG) $(CC_PROFILING_FLG) $(CC_DEBUG_FLG) $(CC_OPT_FLG) +CC_TARGET = $(@) +CC_CMD = $(CC) $(CC_FLAGS) $(DEFS) $(INCLUDES) $(@F:.$(OBJ_EXT)=.c*) -o $(@) +CPP_CMD = $(CPP) $(CC_FLAGS) $(DEFS) $(INCLUDES) $(@F:.$(OBJ_EXT)=.cpp) -o $(@) +CPP_D_CMD = i486-pc-nto-PosixBasedOS001.5.0-gcc.exe $(DEFS) $(INCLUDES) -MM $< > $(@:.o=.d) + +# Archive Options (Static Library) +AR_OFLAG = +AR_FLAGS = +AR_CMD = $(AR) $(AR_FLAGS) $(AR_OFLAG)$(@) $^ + +# Linker Options +# Executable +# Used in the form of $(LD_CMD) -L[Library Paths] -l[libraries] [objects] $(LD_OFLAG) executable_name.$(BIN_EXT) +LD_FLAGS = $(TARGET_FLG) $(CC_PROFILING_FLG) $(CC_DEBUG_FLG) $(LD_CPP) +LD_OFLAG = -o +LD_CMD = $(LD) -L$(LIB_PATH) $(LD_FLAGS) $(MAP_FILE_FLG) + +# To create shared objects use the linker command but add -shared +SO_CMD = $(LD) $(LD_FLAGS) -shared $(MAP_FILE_FLG) +SLIB_CMD = $(SO_CMD) $^ $(LD_OFLAG) $(@) $(addprefix -L, $(LIB_PATHS)) \ + -Bstatic $(addprefix -l,$(STATIC_LIBS)) -Bdynamic $(addprefix -l,$(DYNAMIC_LIBS)) diff --git a/service/native/framework_unified/client/NativeServices/cfg/analysis.mk b/service/native/framework_unified/client/NativeServices/cfg/analysis.mk new file mode 100755 index 0000000..c1e14fd --- /dev/null +++ b/service/native/framework_unified/client/NativeServices/cfg/analysis.mk @@ -0,0 +1,73 @@ +# +# @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# QCC arm COMPILER SETTINGS +# Standard form of tool.mk file configured for PosixBasedOS001 vmware + +#Add PosixBasedOS001 binary tools to path +PATH := $(PosixBasedOS001_HOME)/usr/bin/;$(PATH) + +# include the compiler definitions in which we are linting against +include $(PRJ_ROOT)/cfg/PosixBasedOS001_armv7.mk + +# Tools and Options +CODE_COUNT = surveyor +LINT = lint-nt +CC_IFLAG = -i + +CC_DEFS = -D__LANGUAGE_C -D_LANGUAGE_C -D__PosixBasedOS001__ -D__PosixBasedOS001__ \ + -D__GNUC__=4 -D__GNUC_MINOR__=4 -D__GNUC_PATCHLEVEL__=2 \ + -D__unix__ -D__unix -D__ELF__ -D__ARM__ -D__arm__ \ + -D__ARM_ARCH_4__ -D__APCS_32__ -D__LITTLEENDIAN__ -D__ARMEL__ -D_MUDFLAPTH + +CPP_DEFS = -D__cplusplus -D__PosixBasedOS001__ -D__PosixBasedOS001__ \ + -D__GNUC__=4 -D__GNUC_MINOR__=4 -D__GNUC_PATCHLEVEL__=2 \ + -D__NO_INLINE__ -D__DEPRECATED -D__EXCEPTIONS \ + -D__unix__ -D__unix -D__ELF__ -D__ARM__ -D__arm__ \ + -D__ARM_ARCH_4__ -D__APCS_32__ -D__LITTLEENDIAN__ -D__ARMEL__ -D_MUDFLAPTH + +LINT_C_INCLUDES = \ + $(CC_IFLAG)C:/lint.PosixBasedOS001 \ + $(CC_IFLAG)$(PosixBasedOS001_TARGET)/usr/include \ + +LINT_CPP_INCLUDES = \ + $(CC_IFLAG)C:/lint.PosixBasedOS001 \ + $(CC_IFLAG)$(PosixBasedOS001_TARGET)/usr/include \ + $(CC_IFLAG)$(PosixBasedOS001_HOST)/usr/lib/gcc/arm-unknown-nto-PosixBasedOS001.5.0/4.4.2/include \ + $(CC_IFLAG)$(PosixBasedOS001_TARGET)/usr/include/cpp/c \ + $(CC_IFLAG)$(PosixBasedOS001_TARGET)/usr/include/cpp \ + +LINT_SOURCES := $(shell find .. -iname "*.c" -or -iname "*.cc" -or -iname "*.cpp") +LINT_IMPLIED_DIRS := $(addprefix $(CC_IFLAG), $(sort $(dir $(shell find .. -iname "*.c" -or -iname "*.cc" -or -iname "*.cpp")))) + +# Metric Rule +metrics: + @echo -------------------- + @echo Start metrics on $(COMPONENT_NAME) + @echo -------------------- + -@mkdir -p $(PRJ_ROOT)/ana/metrics + -@$(CODE_COUNT) -detailed -progress -out $(PRJ_ROOT)/ana/metrics/metrics_$(COMPONENT_NAME).csv .. + +# Static Analysis Rule +lint: + @echo -------------------- + @echo Performing Lint on $(COMPONENT_NAME) + @echo -------------------- + @echo includes the following files: + @echo $(LINT_SOURCES) + @echo -------------------- + -@c:/lint/$(LINT) $(PRJ_ROOT)cfg/options.lnt C:/lint.PosixBasedOS001/co-gcc.lnt $(CC_DEFS) $(LINT_C_INCLUDES) $(INCLUDES) $(LINT_IMPLIED_DIRS) $(filter %.c ,$(LINT_SOURCES)) + -@c:/lint/$(LINT) $(PRJ_ROOT)cfg/options.lnt C:/lint.PosixBasedOS001/co-gcc.lnt $(CPP_DEFS) $(LINT_CPP_INCLUDES) $(INCLUDES) $(LINT_IMPLIED_DIRS) $(filter %.cpp %.cc %.cxx,$(LINT_SOURCES) ) diff --git a/service/native/framework_unified/client/NativeServices/cfg/common.mk b/service/native/framework_unified/client/NativeServices/cfg/common.mk new file mode 100755 index 0000000..10a9a6b --- /dev/null +++ b/service/native/framework_unified/client/NativeServices/cfg/common.mk @@ -0,0 +1,175 @@ +# +# @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +#################################################################### +# DO NOT EDIT THIS FILE +# Common Project Makefile definitions shared by all types of makefiles +# +# +# Please use project.mk in your build folder to customize your build +####################################################################### + +include $(PRJ_ROOT)cfg/depends.mk + +ifndef COMPONENT_ROOT +export COMPONENT_ROOT=$(COMPONENT_NAME) +endif + +# Additive Compile Flags (Flags from initiating make process will still apply) +DEFS += $(PROJECT_FLAGS) + +# Set local includes and then the reference includes (priority order determines search path) +INCLUDES = \ + $(CC_IFLAG)./ \ + $(CC_IFLAG)$(TEAM_ROOT)$(COMPONENT_ROOT)/inc \ + $(addprefix $(CC_IFLAG),$(PROJECT_INCLUDE_PATHS)) \ + $(DEPENDS_INCLUDES) \ + + +# Do the same if you need to include library paths as well +LIB_PATHS += \ + $(PROJECT_LIB_PATHS) \ + $(DEPENDS_LIB_PATHS) \ + + +LD_STATIC_LIBS += \ + $(PROJECT_STATIC_LIBS) + +LD_DYNAMIC_LIBS += \ + $(PROJECT_DYNAMIC_LIBS) + +## Sources Section + +# Define Library & Executable Sources (on a per deliverable basis) +# This includes sources located in subdirectories. + +# Define generic line that pulls all c, cc, cpp files +# since your in the src folder is pull only files from there +COMPONENT_SRCS = \ + $(wildcard *.cpp) + +# Define sources that my not be local to your component +# here, you can define indivial files or wildcard from +# a different folder. +NON_LOCAL_SRCS = \ + + +# List of all sources to be built. Can be assembled from the other defintitions. +# This only defines sources for the current directory, so if there are subdirectories +# those are not included. (Those are found in simple subdirectory makefiles that only +# direct the building of sources, but no linking into a binary) +SOURCES = \ + $(COMPONENT_SRCS) \ + $(NON_LOCAL_SRCS) \ + + +# Convert the source files to object files with correct folder location. +C_LANG_OBJECTS = $(addprefix $(BLD_PATH),$(addsuffix .$(OBJ_EXT),$(basename $(filter %.c ,$(SOURCES) ) ) ) ) +CPP_LANG_OBJECTS = $(addprefix $(BLD_PATH),$(addsuffix .$(OBJ_EXT),$(basename $(filter %.cpp %.cc %.cxx,$(SOURCES) ) ) ) ) + + +# List of all sources to be generated. Can be assembled from the other defintitions. +OBJECTS = \ + $(C_LANG_OBJECTS) \ + $(CPP_LANG_OBJECTS) + +D_FILES = $(OBJECTS:.o=.d) + +# pull in dependency info for existing .o files +-include $(D_FILES) + + +ifeq ($(BUILDTYPE),APP) +COMPONENT_EXEC = $(BIN_PATH)$(COMPONENT_NAME)$(DEBUG_EXT) +BINARIES = \ + $(COMPONENT_EXEC) + +$(COMPONENT_EXEC): $(OBJECTS) + $(LD_CMD) $(LD_OFLAG) $(@) $(OBJECTS) $(addprefix -L , $(LIB_PATHS)) -Bstatic $(addprefix -l , $(LD_STATIC_LIBS)) -Bdynamic $(addprefix -l , $(LD_DYNAMIC_LIBS)) + +endif + +ifeq ($(BUILDTYPE),DLL) +COMPONENT_SOLIB = $(SLIB_PATH)$(LIB_PREFIX)$(COMPONENT_NAME)$(DEBUG_EXT).$(SO_EXT) +LIBRARIES = \ + $(COMPONENT_SOLIB) \ + +$(COMPONENT_SOLIB): $(OBJECTS) + $(SO_CMD) $(OBJECTS) $(LD_OFLAG) $(@) $(addprefix -L, $(LIB_PATHS)) \ + -Bstatic $(addprefix -l,$(STATIC_LIBS)) -Bdynamic $(addprefix -l,$(DYNAMIC_LIBS)) + +endif + +ifeq ($(BUILDTYPE),LIB) +COMPONENT_LIB = $(LIB_PATH)$(LIB_PREFIX)$(COMPONENT_NAME)$(DEBUG_EXT).$(LIB_EXT) +LIBRARIES = \ + $(COMPONENT_LIB) \ + +$(COMPONENT_LIB): $(OBJECTS) + $(AR_CMD) + +endif + + + +# Make targets +# Standard +all: banner module_dirs subdirs local library binary + +base: banner module_dirs subdirs local + + +$(BLD_PATH)/%.o: %.cpp + $(CPP_CMD) + $(CPP_D_CMD) + @mv -f $(@:.o=.d) $(@:.o=.d).tmp + @sed -e 's|.*: |$@: |' < $(@:.o=.d).tmp > $(@:.o=.d) + @rm -f $(@:.o=.d).tmp + +local: $(OBJECTS) + +# Standard set of derived targets +library: base \ + $(LIBRARIES) + @echo "***** `date` Done building library: $(COMPONENT_NAME) ******" + +binary: base \ + $(BINARIES) + +# Subdirs should be to jump to subdirectories +# standard form is of +# $(MAKE) -C subdirectory_name $(MAKECMDGOALS) +subdirs: + +clean: + -rm -f $(BINARIES) + -rm -f $(LIBRARIES) + -rm -f $(OBJECTS) + -rm -f $(D_FILES) + +-v: + @echo "objs: --> $(OBJECTS)" + @echo "sources: --> $(SOURCES)" + @echo "headers: --> $(HEADERS)" + @echo "includes: --> $(INCLUDES)" + @echo "lib paths: --> $(LIB_PATHS)" + @echo "static libs: --> $(LD_STATIC_LIBS)" + @echo "dynamic libs: --> $(LD_DYNAMIC_LIBS)" + @echo "lib: --> $(LIBRARIES)" + @echo "bin: --> $(BINARIES)" + + +module_dirs: build_dirs diff --git a/service/native/framework_unified/client/NativeServices/cfg/config.mk b/service/native/framework_unified/client/NativeServices/cfg/config.mk new file mode 100755 index 0000000..5eb23f4 --- /dev/null +++ b/service/native/framework_unified/client/NativeServices/cfg/config.mk @@ -0,0 +1,115 @@ +# +# @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# +# Standard Configuration Makefile version 2.0 +# + +.SUFFIXES: + +# Setup configuration exports to make sure other "subprojects" have the correct configuration settings. +# Export shared variables +export DEFS +export LIBS +export LIB_PATHS + +# Export setup +export MAKE_DEPS := $(PRJ_ROOT)cfg/depends.mk +export MAKE_CFG := $(TOOLS_CFG)config.mk + +# Set the location of build files. By default all build files become local to the initating location of the build so +# one doesn't impact a referenced project +# Alteratively a directed path can also be supported. +ifndef PRJ_OUTPUT_ROOT +PRJ_OUTPUT_ROOT = $(PRJ_ROOT) +endif + +# Select Compiler Tool by name and select the tool configuration file +# default behavior is to generate for arm +ifeq ($(TARGET),analysis) +export MAKE_TOOLS := $(TOOLS_CFG)analysis.mk +else +ifeq ($(TARGET),x86) +export MAKE_TOOLS := $(TOOLS_CFG)PosixBasedOS001_x86.mk +else +ifeq ($(TARGET),armle) +export MAKE_TOOLS := $(TOOLS_CFG)PosixBasedOS001_arm.mk +else +export MAKE_TOOLS := $(TOOLS_CFG)PosixBasedOS001_armv7.mk +TARGET = armle-v7 +endif +endif +endif + + +# Set specific flags as path suffixes to make sure the right build options are picked up +ifdef DEBUG +BUILD_CFG+=/debug +endif +ifdef PROFILING +BUILD_CFG+=/profile +endif +ifndef BUILD_CFG +BUILD_CFG=/release +endif + +# Set File Paths +export BIN_PATH := $(PRJ_OUTPUT_ROOT)bin/$(TARGET)$(BUILD_CFG)/ +export BLD_PATH := $(PRJ_OUTPUT_ROOT)bld/$(TARGET)$(BUILD_CFG)/$(COMPONENT_NAME)/ +export LIB_PATH := $(PRJ_OUTPUT_ROOT)lib/$(TARGET)$(BUILD_CFG)/ +export SLIB_PATH := $(PRJ_OUTPUT_ROOT)dll/$(TARGET)$(BUILD_CFG)/ +export BUILD_DIRS = $(BIN_PATH) $(LIB_PATH) $(SLIB_PATH) $(BLD_PATH) +export BUILD_ROOTS := $(addprefix $(PRJ_OUTPUT_ROOT), bin bld lib dll) + +# Set Staging Location - set to a default location to prevent accidents +ifndef STAGE_LOCATION +export STAGE_LOCATION = C:/temp/stage/ +endif + +# Now include the defintions that have been exported +include $(MAKE_TOOLS) + +# Add additional configuration includes reflective of project and decisions expressed in include makefiles. +# So local includes, base infrastructure, and target platform. +# This is also the variable to add local overriding header file locations for configuration in makefiles +# prior to spawning to subprojects. Which means if you want to utilize different header files than those +# the project you are going to build this will force an early search path to override with. +ifndef CFG_INCS + export CFG_INCS += +endif + +# Standard Targets (and defaults) +all: + +subdirs: + +# Building necessary directories +build_dirs: $(BUILD_DIRS) + +$(BUILD_DIRS): + -mkdir -p $(@) + +# Stage "public" directories +stage: + -rm -r $(STAGE_LOCATION)/$(COMPONENT_NAME) + mkdir -p $(STAGE_LOCATION)/$(COMPONENT_NAME) + cp -r ../bin ../dll ../lib ../inc ../cfg ../doc $(STAGE_LOCATION)/$(COMPONENT_NAME)/ + + +# Debug Headers +banner: + @echo Making $(COMPONENT_NAME) + @echo Bld Roots $(BLD_ROOTS) diff --git a/service/native/framework_unified/client/NativeServices/cfg/depends.mk b/service/native/framework_unified/client/NativeServices/cfg/depends.mk new file mode 100755 index 0000000..57ecd9b --- /dev/null +++ b/service/native/framework_unified/client/NativeServices/cfg/depends.mk @@ -0,0 +1,115 @@ +# +# @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# +# Standard Dependency Makefile Version 2.0 +# +# Dependency file dictates not only what other modules the project is dependent on, but +# also where to get that dependent element which logically includes versioning or +# baselining information + + +# Begin User Build Location Definition +# This is the prefixing information which dictates the versioning of dependant projects +# Typically path statements will include some set of versioning information. + +# The Repository Root is the base location of where a build is put in context +# By default this is up a directory from the project root. This is based on +# the default local build where a component where a project is started to build is +# on the same level as other components in the repository. Otherwise a value can +# be forced by setting the value before operating on the configuration file. +# +# Example would be to setting the Repository Root to a baseline label name +# where the contents of the baseline lable are exported to the filesystem. +ifndef REPOSITORY_ROOT +export REPOSITORY_ROOT = $(PRJ_ROOT)../ +endif + +# The Team Root is akin to the Repository Root. It sets the location of +# the root for other components in the same stream. It is very rare to +# modify the value of the team root. However it is entirely possible that +# the repository root and the team root are pointed to the same location. +# By default the Team Root is set to the workspace location of your project +ifndef TEAM_ROOT +export TEAM_ROOT = $(PRJ_ROOT)../ +endif + +# Setup the include paths for project functional dependencies by component. +# This is a list of include paths that should be done with relative locations +# that are relative to the repository root for all elements external to the +# component. All Dependency includes should be based on the $(REPOSITORY_ROOT) +# all local (team/local) dependencies should be handled in the main makefile. +# Note: Internal include locations should be simply in the makefile directly using +# the './' as the notation for referencing location. +# EXCEPTION: The first include is a TEAM_ROOT for the locally "globally" visible +# module(s) of the Domain. (When doing the product release this is overridden) +DEPENDS_INCLUDES = \ + $(CC_IFLAG)$(TEAM_ROOT)NativeServices/inc \ + $(CC_IFLAG)$(TEAM_ROOT)NativeServices/inc/framework \ + $(CC_IFLAG)$(TEAM_ROOT)NativeServices/inc/_CWORD77_ \ + $(CC_IFLAG)$(TEAM_ROOT)NativeServices/inc/services \ + $(CC_IFLAG)$(TEAM_ROOT)NativeServices/inc/utility \ + $(CC_IFLAG)$(TEAM_ROOT)NativeServices/inc/native \ + $(CC_IFLAG)$(TEAM_ROOT)NativeServices/inc/framework/statemachine \ + $(CC_IFLAG)$(TEAM_ROOT)SystemServices/inc \ + $(CC_IFLAG)$(TEAM_ROOT)NativeServices/inc/testautomationframework \ + $(CC_IFLAG)$(REPOSITORY_ROOT)OpenSource/inc \ + +DEPENDS_LIB_PATHS = \ + $(TEAM_ROOT)NativeServices/lib/$(TARGET)$(BUILD_CFG)/ \ + $(TEAM_ROOT)NativeServices/dll/$(TARGET)$(BUILD_CFG)/ + +# BSP is required for PastModel002 because of mq (libmqS.a) +ifneq ($(TARGET),x86) + ifeq ($(PRODUCT_NAME),PastModel004) + ifdef TARGET_BSP + ifndef BSP + BSP = $(TARGET_BSP) + endif + endif + ifndef BSP + ifneq ($(findstring all,$(MAKECMDGOALS)),) +$(error \ +$(\n) \ +$(\n)***************************************************************************************** \ +$(\n)!!!ERROR!!! BSP not defined. Please, define TARGET_BSP variable in your make environment \ +$(\n)***************************************************************************************** \ +$(\n)) + endif + else + DEPENDS_LIB_PATHS += $(REPOSITORY_ROOT)/$(BSP)/prebuilt/armle-v7/usr/lib + endif + endif +endif + + +# $(REPOSITORY_ROOT)SystemServices/lib/$(TARGET)$(BUILD_CFG)/ \ + +# Setup library definintions. Same rules +include $(TEAM_ROOT)NativeServices/cfg/nativeserviceslibraries.mk + +# Setup the include location for the tools configuration. This sets the +# standard tool definition locations. By default these are local, but +# long term will be a standard component for a project to include. This +# definition is inherited in cases that this is a recursive call. + +# Set tools location +ifndef TOOLS_CFG +TOOLS_CFG = $(TEAM_ROOT)NativeServices/cfg/ +endif + +# Include the configuration +include $(TOOLS_CFG)config.mk diff --git a/service/native/framework_unified/client/NativeServices/cfg/nativeserviceslibraries.mk b/service/native/framework_unified/client/NativeServices/cfg/nativeserviceslibraries.mk new file mode 100755 index 0000000..67205f1 --- /dev/null +++ b/service/native/framework_unified/client/NativeServices/cfg/nativeserviceslibraries.mk @@ -0,0 +1,54 @@ +# +# @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# TODO make this more functionally oriented. +# That is to make them more like the types ... so client libraries, etc. + +#NATIVE_SERVICES_DYNAMIC_LIBS = \ +# NS_FrameworkCore$(DEBUG_EXT) \ +# NS_Logger$(DEBUG_EXT) \ +# NS_Timer$(DEBUG_EXT)\ +# NS_MessageCenter$(DEBUG_EXT) \ +# NS_MessageQueue$(DEBUG_EXT) \ +# NS_SharedMemIf$(DEBUG_EXT) \ +# NS_NPServiceIf$(DEBUG_EXT) \ +# NS_UtilityCenter$(DEBUG_EXT) \ +# NS_ConfigParser$(DEBUG_EXT) \ +# NS__CWORD77__ServiceIf$(DEBUG_EXT) \ + +# For improving startup performance, all libraries are merged into one +# Other modules can still use individual libraries if required. Other NS libraries are also available. +#NATIVE_SERVICES_DYNAMIC_LIBS = \ +# NS_Storage$(DEBUG_EXT) \ +# sqlite3 \ +# z \ +# NS_FrameworkUnified$(DEBUG_EXT) \ + +NATIVE_SERVICES_DYNAMIC_LIBS = \ + NS_FrameworkUnified$(DEBUG_EXT) \ + +NATIVE_SERVICES_IMAGE_STORE_DYNAMIC_LIBS = \ + sqlite3 \ + z \ + NS_Storage$(DEBUG_EXT) \ + NS_ImageStorage$(DEBUG_EXT) \ + +NATIVE_SERVICES_DYNAMIC_LIBS_CORE = \ + NS_CoreUnified$(DEBUG_EXT) \ + +TEST_AUTOMATION_FRAMEWORK_STATIC_LIBS = \ + NS_TestAutomationFramework$(DEBUG_EXT) \ + -- cgit 1.2.3-korg