--- /dev/null
+# Version : 0.0.3\r
+# Date : 12.02.2014\r
+# Author : Cedric.Bilat@he-arc.ch\r
+#\r
+# See : OptionCompilateur.txt\r
+# MakeFileNotice.txt\r
+#\r
+# Hyp : Application that must be in path\r
+\r
+\r
+ifndef __FLAG_GCC_INTEL_MK__\r
+__FLAG_GCC_INTEL_MK__=true\r
+\r
+######################\r
+# Init #\r
+######################\r
+\r
+#SHELL=/bin/bash\r
+\r
+machine:=${shell uname -m}\r
+ifeq (${machine},x86_64)\r
+ ARCHI_32_64:=64\r
+else\r
+ ARCHI_32_64:=32\r
+endif\r
+\r
+######################\r
+# Variables #\r
+######################\r
+\r
+ifeq ($(COMPILATEUR),INTEL)\r
+ #Compilateur ,Archiveur (static lib)\r
+ CXX:=icpc\r
+ AR:=xiar\r
+else\r
+ #Compilateur ,Archiveur (static lib)\r
+ \r
+ ifneq ($(ARCH),arm)\r
+ CXX:=g++\r
+ AR:=ar\r
+ else\r
+ CXX:=g++ARM\r
+ AR:=arARM\r
+ endif\r
+ \r
+endif\r
+\r
+#############\r
+# Extension #\r
+#############\r
+\r
+EXTENSION_OBJ:=o#\r
+EXTENSION_LIB:=a#\r
+EXTENSION_DLL:=so#\r
+EXTENSION_EXE:=run#\r
+# Note enstension sans le .\r
+\r
+#############\r
+#Compilateur#\r
+#############\r
+\r
+SYS_LIBRARY_FILES:=#minimum rien\r
+OPTION_SEPARATOR:=-#\r
+LIB_FLAG_SEPARATOR:=l#\r
+LIB_PATH_SEPARATOR:=L#\r
+HEADER_OPTION:=I#\r
+OUT_FILE_COMPILE:=-o #attention end with space!\r
+OUT_FILE_LINK:=-o #attention end with space!\r
+LINK_TAG:=#rien\r
+LINK_FLAG_DLL:=-shared #with espace !\r
+\r
+LIB_PREFIXE:=lib#\r
+\r
+VERSION_CXX:=$(CXX) --version\r
+CXX_HELP:=$(CXX) --help\r
+\r
+##########\r
+#ARCHIVEUR#\r
+###########\r
+\r
+AR_OUT_FLAG:=-r #with espace important !\r
+\r
+#############\r
+# SET FILES #\r
+#############\r
+\r
+# Input : \r
+# SRC_PATH_ALL\r
+# Output :\r
+# All files libXXX.a, libXXX.so and XXX.so, without XXX.a !\r
+# Objectifs :\r
+# Les .a prefix� par lib (libXXX.a) seront donnee a GCC sous la forme -lXXX)\r
+# Alors que les YYY.a devront etre donner a GCC sous la forme YYY.a\r
+SRC_A_FILES_STANDART:=$(foreach dir,$(SRC_PATH_ALL),$(wildcard $(dir)/$(LIB_PREFIXE)*.$(EXTENSION_LIB)))\r
+SRC_A_FILES_STANDART+=$(SRC_SO_FILES)\r
+\r
+# Input : \r
+# SRC_PATH_ALL\r
+# Output :\r
+# All files XXX.a without libXXX.a, libXXX.so and XXX.so !\r
+# Objectifs :\r
+# Les .a prefix� par lib (libXXX.a) seront donnee a GCC sous la forme -lXXX\r
+# Alors que les YYY.a devront etre donner a GCC sous la forme YYY.a avec la path complet (par exemple ../libs/YYY.a)\r
+SRC_A_FILES_NOT_STANDART:=$(foreach dir,$(SRC_PATH_ALL),$(filter-out $(dir)/$(LIB_PREFIXE)%.$(EXTENSION_LIB),$(wildcard $(dir)/*.$(EXTENSION_LIB))))\r
+\r
+#################\r
+# PREPARE FLAGS #\r
+#################\r
+\r
+#plus ici dans api\r
+#Ajoute automatiquement gomp(gcc) or iomp5(Intel) si on use OpenMP\r
+#ifneq (, $(findstring openmp,$(CXXFLAGS)))#findstring return vide si openmp pas trouver!\r
+# ifeq ($(COMPILATEUR),INTEL)\r
+# ADD_LIBRARY_FILES+=iomp5\r
+# else\r
+# ADD_LIBRARY_FILES+=gomp\r
+# endif\r
+#endif\r
+\r
+#only fileName (./libs/libXXX.a ./libs/YYY.so -> lixXXX.a YYY.so)\r
+LIB_FLAG:=$(notdir $(SRC_A_FILES_STANDART))\r
+\r
+#removing prefix lib (libXXX.a libYYY.a libZZZ.so -> XXX.a YYY.a ZZZ.so)\r
+LIB_FLAG:=$(subst $(LIB_PREFIXE),,$(LIB_FLAG))#remplace lib par rien\r
+\r
+#Delete extension .a (XXX.a YYY.a -> XXX YYY)\r
+LIB_FLAG:=$(LIB_FLAG:.$(EXTENSION_LIB)=)\r
+\r
+#Delete extension .so (AAA.so BBB.so -> AAA BBB)\r
+LIB_FLAG:=$(LIB_FLAG:.$(EXTENSION_DLL)=)\r
+\r
+#ADDING custom LIB and System LIB\r
+LIB_FLAG+=$(ADD_LIBRARY_FILES) $(SYS_LIBRARY_FILES)\r
+\r
+# Input :\r
+# list lib to delete example (AAA ZZZ)\r
+#\r
+# before : LIB_FLAG (XXX YYY ZZZ)\r
+# after : LIB_FLAG (XXX YYY) without ZZZ\r
+LIB_FLAG:=$(filter-out $(EXCLUDE_LIBRARY_FILES),$(LIB_FLAG))\r
+\r
+#Adding Lib FLAG separator -l (XXX YYY -> -lXXX -lYYY)\r
+LIB_FLAG:=$(addprefix $(OPTION_SEPARATOR)$(LIB_FLAG_SEPARATOR),$(LIB_FLAG))\r
+\r
+#Adding Lib path FLAG separator -L (../AAA ./BBB -> -L../AAA _L./BBB)\r
+#LIB_PATH_FLAG:=${SRC_PATH_ALL}#old\r
+#LIB_PATH_FLAG:=$(addprefix $(OPTION_SEPARATOR)$(LIB_PATH_SEPARATOR),$(LIB_PATH_FLAG))#old\r
+LIB_PATH:=$(foreach dir,$(SRC_PATH_ALL),$(dir $(wildcard $(dir)/*.so)))#dir extract directory of file, $(wildcard $(dir)/*.h)=> take file.h if exist\r
+override LIB_PATH:=$(call uniq,${LIB_PATH})\r
+#${info "LIB_PATH= "${LIB_PATH}}\r
+LIB_PATH_FLAG:=$(addprefix $(OPTION_SEPARATOR)$(LIB_PATH_SEPARATOR),$(LIB_PATH))\r
+\r
+#Adding Include FLAG separator -I (../header ../header/api -> -I../header -I../header/api)\r
+#HEADER_FLAG:= $(addprefix $(OPTION_SEPARATOR)$(HEADER_OPTION),$(HEADER_PATH_ALL))#old\r
+HEADER_FLAG:= $(addprefix $(OPTION_SEPARATOR)$(HEADER_OPTION),$(INC_PATH))\r
+\r
+\r
+#Injection variable in .cpp code (VAR1 VAR2 -> -DVAR1 -DVAR2)\r
+CODE_DEFINE_VARIABLES_D:= $(addprefix -D,$(CODE_DEFINE_VARIABLES))\r
+\r
+ifeq ($(TARGET_MODE),SHARED_LIB)\r
+ override CXXFLAGS := -fPIC -fvisibility=hidden ${CXXFLAGS} \r
+endif\r
+\r
+ifeq ($(TARGET_MODE),STATIC_LIB)\r
+ override CXXFLAGS := -fPIC ${CXXFLAGS} \r
+endif\r
+\r
+#OUTPUTS#\r
+override LDFLAGS_AUX+= $(SRC_A_FILES_NOT_STANDART)\r
+override CXXFLAGS += $(HEADER_FLAG)\r
+override CXXFLAGS += $(CODE_DEFINE_VARIABLES_D)\r
+override LDFLAGS += $(LINK_TAG) $(LIB_PATH_FLAG) $(LIB_FLAG) $(LDFLAGS_AUX)\r
+\r
+#########\r
+# End #\r
+#########\r
+\r
+endif#__FLAG_GCC_INTEL_MK__
\ No newline at end of file