--- /dev/null
+# Version : 0.0.7\r
+# Date : 04.03.2014\r
+# Author : Cedric.Bilat@he-arc.ch\r
+#\r
+# See : OptionCompilateur.txt\r
+#\r
+# Hyp : Application that must be in path\r
+# nvcc\r
+# make\r
+# g++\r
+# gcc\r
+\r
+##############################################\r
+# Temp #\r
+##############################################\r
+\r
+# Hyp : Environement Variables must be set\r
+#\r
+# ARCHI_32_64 : 32 or 64\r
+\r
+ifndef __CPP_MK__\r
+__CPP_MK__=true\r
+\r
+##############################################\r
+# Variables #\r
+##############################################\r
+\r
+#OS:=$(shell uname)\r
+#MACHINE:=${shell uname -m}\r
+\r
+########\r
+#32/64 #\r
+########\r
+\r
+ifneq ($(ARCH),arm)\r
+ TARGET_NAME:=${TARGET_NAME}_$(ARCHI_32_64)\r
+else\r
+ TARGET_NAME:=$(TARGET_NAME)_ARM\r
+endif\r
+\r
+########\r
+#setfile #\r
+########\r
+\r
+OBJ_FILES_CPP:= $(SRC_CPP_FILES:.cpp=.$(EXTENSION_OBJ))\r
+OBJ_FILES_C:= $(SRC_C_FILES:.c=.$(EXTENSION_OBJ))\r
+\r
+OBJ_FILES:= ${OBJ_FILES_CPP} ${OBJ_FILES_C}\r
+\r
+##########\r
+# TARGET #\r
+##########\r
+\r
+TARGET_NAME_EXE:=$(TARGET_NAME).${EXTENSION_EXE}\r
+TARGET_NAME_DLL:=${LIB_PREFIXE}$(TARGET_NAME).$(EXTENSION_DLL)\r
+TARGET_NAME_LIB:=${LIB_PREFIXE}$(TARGET_NAME).${EXTENSION_LIB}\r
+\r
+TARGET_EXE:=${TARGET_BIN_PATH}/$(TARGET_NAME_EXE)\r
+TARGET_DLL:=${TARGET_BIN_PATH}/$(TARGET_NAME_DLL)\r
+TARGET_LIB:=${TARGET_BIN_PATH}/$(TARGET_NAME_LIB)\r
+TARGET_OBJ:=$(addprefix $(TARGET_OBJ_PATH)/,$(notdir $(OBJ_FILES)))\r
+\r
+#Selection de la target en fonction TARGET_MODE\r
+ifeq ($(TARGET_MODE),EXE)\r
+ TARGET:=${TARGET_EXE}\r
+ TARGET_DEPLOY:=$(TARGET_DEPLOY_PATH_BIN)/$(TARGET_NAME_EXE)\r
+endif\r
+\r
+ifeq ($(TARGET_MODE),SHARED_LIB)\r
+ TARGET:=${TARGET_DLL}\r
+ TARGET_DEPLOY:=$(TARGET_DEPLOY_PATH_BIN)/$(TARGET_NAME_DLL)\r
+ override LDFLAGS += $(LINK_FLAG_DLL)\r
+endif\r
+\r
+ifeq ($(TARGET_MODE),STATIC_LIB)\r
+ TARGET:=${TARGET_LIB}\r
+ TARGET_DEPLOY:=$(TARGET_DEPLOY_PATH_BIN)/$(TARGET_NAME_LIB)\r
+endif\r
+\r
+##########\r
+# RESSOURCES #\r
+##########\r
+\r
+ifeq (,$(findstring $(RESOURCES_PATH),$(wildcard $(RESOURCES_PATH) )))\r
+ nbFileRessources:=0\r
+else\r
+ nbFileRessources:=$(shell ls $(RESOURCES_PATH) | wc -l )\r
+endif\r
+\r
+##########\r
+# securite #\r
+##########\r
+\r
+VPATH := $(SRC_PATH_ALL) \r
+\r
+\r
+##########\r
+# runtime #\r
+##########\r
+\r
+space:= #ne suufit pas ajoutre espaca, mais += le fait!\r
+space+=#\r
+\r
+ifeq (${OS},Win)\r
+ separateurPath:=;# \r
+else\r
+ separateurPath:=:#\r
+endif\r
+\r
+API_BIN_FORMATTER:=$(subst ${space},${separateurPath},${API_BIN})\r
+\r
+ifeq (${OS},Win) \r
+ override PATH:=${PATH}${separateurPath}${API_BIN_FORMATTER}#\r
+ export ${PATH}#\r
+else\r
+ override LD_LIBRARY_PATH:=${LD_LIBRARY_PATH}${separateurPath}${API_BIN_FORMATTER}#\r
+ export ${LD_LIBRARY_PATH}#fixme semble pas marcher\r
+endif\r
+\r
+\r
+\r
+########\r
+#optimisation #\r
+########\r
+\r
+include ${ROOT_MAKEFILE_PRIVATE_CPP}/optimisation.mk\r
+\r
+########\r
+#arm #\r
+########\r
+\r
+include ${ROOT_MAKEFILE_PRIVATE_CPP}/gcc_arm.mk\r
+\r
+##########\r
+# exclude #\r
+##########\r
+\r
+override CXXFLAGS:=$(filter-out $(CXXFLAGS_EXCLUDE),$(CXXFLAGS))\r
+#https://www.gnu.org/software/make/manual/make.html#Functions\r
+\r
+##########\r
+# unicitye #\r
+##########\r
+\r
+UNICITY=true\r
+\r
+ifdef UNICITY\r
+\r
+ override CXXFLAGS:=$(call uniq,${CXXFLAGS})\r
+ override CXXLDFLAGS:=$(call uniq,${CXXLDFLAGS})\r
+ override ARFLAGS:=$(call uniq,${ARFLAGS})\r
+ #override AR_OUT_FLAG:=$(call uniq,${AR_OUT_FLAG})#met espace apres /out, pas pour visual/intel\r
+\r
+#debug\r
+#${info "CXXFLAGS= "${CXXFLAGS}}#print immediately\r
+#${info "CXXLDFLAGS"= ${CXXLDFLAGS}}#print immediatel\r
+#${info "ARFLAGS= "${ARFLAGS}}#print immediatel\r
+#${info "AR_OUT_FLAG= "${AR_OUT_FLAG}}#print immediatel\r
+\r
+endif#UNICITY\r
+\r
+##########\r
+# remove space #\r
+##########\r
+\r
+#let a minimum of one space\r
+REMOVE_SPACE=true\r
+\r
+ifdef REMOVE_SPACE\r
+\r
+ override CXXFLAGS:=$(strip ${CXXFLAGS})\r
+ override CXXLDFLAGS:=$(strip ${CXXLDFLAGS})\r
+ override ARFLAGS:=$(strip ${ARFLAGS})\r
+ #override AR_OUT_FLAG:=$(strip ${AR_OUT_FLAG}) #pas pour mingw car enleve espace apres -r\r
+\r
+ #override CXXFLAGS:=$(subst $(space),,$(CXXFLAGS))\r
+\r
+endif#REMOVE_SPACE\r
+\r
+\r
+##########\r
+# chrono #\r
+##########\r
+\r
+override TIME_START:=$(shell date +%T)\r
+TIME_CURRENT=$(shell date +%T)\r
+#TIME_DELTA:=$(shell echo $(TIME_CURRENT) - $(TIME_START) | bc) #marche pas\r
+\r
+##############################################\r
+# Rules #\r
+##############################################\r
+\r
+# tabulation obligatoire before @\r
+\r
+TITLE:=$(TARGET_NAME)\r
+\r
+################\r
+# .o->.exe #\r
+################\r
+\r
+${TARGET_EXE}:$(TARGET_OBJ)\r
+#@echo "$(CXX) $(OUT_FILE_LINK)${TARGET_EXE} $^ $(LDFLAGS)"\r
+ @echo ""\r
+ @echo "[CBI] -> Linking to : "$(TARGET)\r
+ @echo ""\r
+ @echo "[CBI] -> Library Link :"\r
+ifeq (${OS},Win)\r
+ifeq (${COMPILATEUR},VISUAL)\r
+ @${ROOT_MAKEFILE_PRIVATE_COMMON_SCRIPT}/print.sh $(sort $(call containing,.${EXTENSION_LIB},$(LDFLAGS))) \r
+endif\r
+ifeq (${COMPILATEUR},INTEL)\r
+ @${ROOT_MAKEFILE_PRIVATE_COMMON_SCRIPT}/print.sh $(sort $(call containing,.${EXTENSION_LIB},$(LDFLAGS)))\r
+endif\r
+ifeq (${COMPILATEUR},MINGW)\r
+ @${ROOT_MAKEFILE_PRIVATE_COMMON_SCRIPT}/print.sh $(sort $(call containing,-${LIB_FLAG_SEPARATOR},$(LDFLAGS))) \r
+endif\r
+else\r
+ @${ROOT_MAKEFILE_PRIVATE_COMMON_SCRIPT}/print.sh $(sort $(call containing,-l,$(LDFLAGS))) \r
+endif\r
+ @$(CXX) $(OUT_FILE_LINK)${TARGET_EXE} $^ $(LDFLAGS)\r
+ @echo ""\r
+ @echo "=================================================================================="\r
+ @echo "[CBI] -> Target Name : "$(TARGET_NAME)\r
+ @echo "[CBI] -> Location : "$(TARGET)\r
+ @echo "[CBI] -> Deploy : "$(TARGET_DEPLOY_PATH_BIN)\r
+ @echo "[CBI] ->"\r
+ @echo "[CBI] -> Type : "$(TARGET_MODE)\r
+ @echo "[CBI] -> Arch : "$(ARCHI_32_64)\r
+ @echo "[CBI] -> OS : "$(OS)\r
+ @echo "[CBI] -> User : "$(USER)\r
+ @echo "[CBI] ->"\r
+ @echo "[CBI] -> Compilateur : ${COMPILATEUR} (${CXX})" \r
+ @echo "[CBI] -> Task : End Compiling-Linking !" \r
+ @echo "[CBI] -> Time : "${TIME_CURRENT} \r
+ @echo "=================================================================================="\r
+ @echo ""\r
+ \r
+################\r
+# .o->.dll #\r
+################\r
+\r
+${TARGET_DLL}:$(TARGET_OBJ)\r
+#@echo "$(CXX) $(OUT_FILE_LINK)${TARGET_DLL} $^ $(LDFLAGS)"\r
+ @echo ""\r
+ @echo "[$(TITLE)] -> Linking to : "$(TARGET)\r
+ @echo ""\r
+ @echo "[$(TITLE)] -> Library Link :"\r
+ @echo ""\r
+#@echo ${LDFLAGS}\r
+ifeq (${OS},Win)\r
+ifeq (${COMPILATEUR},VISUAL)\r
+ @${ROOT_MAKEFILE_PRIVATE_COMMON_SCRIPT}/print.sh $(sort $(call containing,.${EXTENSION_LIB},$(LDFLAGS)))\r
+endif\r
+ifeq (${COMPILATEUR},INTEL)\r
+ @${ROOT_MAKEFILE_PRIVATE_COMMON_SCRIPT}/print.sh $(sort $(call containing,.${EXTENSION_LIB},$(LDFLAGS))) \r
+endif\r
+ifeq (${COMPILATEUR},MINGW)\r
+ @${ROOT_MAKEFILE_PRIVATE_COMMON_SCRIPT}/print.sh $(sort $(call containing,-${LIB_FLAG_SEPARATOR},$(LDFLAGS)))\r
+endif\r
+else\r
+ @${ROOT_MAKEFILE_PRIVATE_COMMON_SCRIPT}/print.sh $(sort $(call containing,-l,$(LDFLAGS))) \r
+endif\r
+ @echo ""\r
+ @$(CXX) $(OUT_FILE_LINK)${TARGET_DLL} $^ $(LDFLAGS)\r
+ @echo ""\r
+ @echo "=================================================================================="\r
+ @echo "[CBI] -> Target Name : "$(TARGET_NAME)\r
+ @echo "[CBI] -> Location : "$(TARGET)\r
+ @echo "[CBI] -> Deploy : "$(TARGET_DEPLOY_PATH_BIN)\r
+ @echo "[CBI] ->"\r
+ @echo "[CBI] -> Type : "$(TARGET_MODE)\r
+ @echo "[CBI] -> Arch : "$(ARCHI_32_64)\r
+ @echo "[CBI] -> OS : "$(OS)\r
+ @echo "[CBI] -> User : "$(USER)\r
+ @echo "[CBI] ->"\r
+ @echo "[CBI] -> Compilateur : ${COMPILATEUR} (${CXX})" \r
+ @echo "[CBI] -> Task : End Compiling-Linking !" \r
+ @echo "[CBI] -> Time : "${TIME_CURRENT} \r
+ @echo "=================================================================================="\r
+ @echo ""\r
+ \r
+################\r
+# .o->.lib #\r
+################\r
+\r
+${TARGET_LIB}:$(TARGET_OBJ)\r
+#@echo "${AR} ${AR_OUT_FLAG}${TARGET_LIB} ${ARFLAGS} $^"\r
+ @echo ""\r
+ @${AR} ${AR_OUT_FLAG}${TARGET_LIB} ${ARFLAGS} $^\r
+ @echo ""\r
+ @echo "=================================================================================="\r
+ @echo "[CBI] -> Target Name : "$(TARGET_NAME)\r
+ @echo "[CBI] -> Location : "$(TARGET)\r
+ @echo "[CBI] -> Deploy : "$(TARGET_DEPLOY_PATH_BIN)\r
+ @echo "[CBI] ->"\r
+ @echo "[CBI] -> Type : "$(TARGET_MODE)\r
+ @echo "[CBI] -> Arch : "$(ARCHI_32_64)\r
+ @echo "[CBI] -> OS : "$(OS)\r
+ @echo "[CBI] -> User : "$(USER)\r
+ @echo "[CBI] ->"\r
+ @echo "[CBI] -> Compilateur : ${COMPILATEUR} (${CXX})" \r
+ @echo "[CBI] -> Task : End Compiling-Archive !" \r
+ @echo "[CBI] -> Time : "${TIME_CURRENT} \r
+ @echo "=================================================================================="\r
+ @echo ""\r
+ \r
+################\r
+# .cpp->.o #\r
+################\r
+\r
+$(TARGET_OBJ_PATH)/%.$(EXTENSION_OBJ):%.cpp \r
+#@echo "$(CXX) $(CXXFLAGS) $(OUT_FILE_COMPILE)$@ -c $<" \r
+#intelWin et visual affiche deja file\r
+ifeq (${COMPILATEUR},MINGW)\r
+ @echo "[$(TITLE)] -> ${CXX} compiling .cpp : "$<\r
+endif\r
+ifeq (${COMPILATEUR},g++)\r
+ @echo "[$(TITLE)] -> ${CXX} compiling .cpp : "$<\r
+endif\r
+ifeq (${COMPILATEUR},INTEL)\r
+ifeq (${OS},Linux)\r
+ @echo "[$(TITLE)] -> ${CXX} compiling .cpp : "$<\r
+endif\r
+endif\r
+ @$(CXX) $(CXXFLAGS) $(OUT_FILE_COMPILE)$@ -c $< \r
+ \r
+# -c = compilation\r
+\r
+################\r
+# .c->.o #\r
+################\r
+\r
+$(TARGET_OBJ_PATH)/%.$(EXTENSION_OBJ):%.c \r
+#@echo "" $(CXX) $(CXXFLAGS) $(OUT_FILE_COMPILE)$@ -c $< \r
+#intelWin et visual affiche deja file\r
+ifeq (${COMPILATEUR},MINGW)\r
+ @echo "[$(TITLE)] -> ${CXX} compiling .c : "$<\r
+endif\r
+ifeq (${COMPILATEUR},g++)\r
+ @echo "[$(TITLE)] -> ${CXX} compiling .c : "$<\r
+endif\r
+ifeq (${COMPILATEUR},INTEL)\r
+ifeq (${OS},Linux)\r
+ @echo "[$(TITLE)] -> ${CXX} compiling .cpp : "$<\r
+endif\r
+endif\r
+ @$(CXX) $(CXXFLAGS) $(OUT_FILE_COMPILE)$@ -c $< \r
+ \r
+# -c = compilation\r
+\r
+##############################################\r
+# TARGET #\r
+##############################################\r
+\r
+all: echoing init $(TARGET) deploy\r
+ @echo ""\r
+ @echo "[CBI] -> "$(TITLE)" : End ALL!"\r
+ \r
+version:\r
+ @echo ""\r
+ @$(VERSION_CXX)\r
+ @echo ""\r
+\r
+help:\r
+ @echo ""\r
+ @$(CXX_HELP)\r
+ @echo ""\r
+\r
+##########\r
+# init #\r
+##########\r
+\r
+init:\r
+#create folder heirerarchy TARGET_BIN_PATH iff don't exist\r
+ifeq (,$(findstring $(TARGET_BIN_PATH),$(wildcard $(TARGET_BIN_PATH) )))\r
+ @$(shell mkdir -p $(TARGET_BIN_PATH))\r
+ @echo "[CBI] -> Create folder : "$(TARGET_BIN_PATH)\r
+endif\r
+#create folder heirerarchy TARGET_OBJ_PATH iff don't exist\r
+ifeq (,$(findstring $(TARGET_OBJ_PATH),$(wildcard $(TARGET_OBJ_PATH) )))\r
+ @$(shell mkdir -p $(TARGET_OBJ_PATH))\r
+ @echo "[CBI] -> Create folder : "$(TARGET_OBJ_PATH)\r
+endif\r
+ifeq (,$(findstring $(TARGET_DEPLOY_PATH_BIN),$(wildcard $(TARGET_DEPLOY_PATH_BIN) )))\r
+ @$(shell mkdir -p $(TARGET_DEPLOY_PATH_BIN))\r
+ @echo "[CBI] -> Create folder : "$(TARGET_DEPLOY_PATH_BIN)\r
+endif\r
+ @echo ""\r
+\r
+# -p permet de cr�er l�arborescence complete si existe pas\r
+\r
+##########\r
+# run #\r
+##########\r
+\r
+.PHONY: run\r
+run: printRuntimeInfo\r
+ @echo ""\r
+ @echo "[CBI] -> Running : "$(TARGET) $(ARGS)\r
+ @echo ""\r
+ @echo "------------------------------------------------------------------------"\r
+ @echo ""\r
+ @echo ""\r
+ @$(TARGET) $(ARGS)\r
+#$(MAKECMDGOALS) donne liste des para de make, et ainsi les args du code en c si il y en a\r
+\r
+.PHONY: runDeploy \r
+runDeploy: printRuntimeInfo \r
+ @echo ""\r
+ @echo "[CBI] -> Running : "$(TARGET_DEPLOY) $(ARGS)\r
+ @echo ""\r
+ @echo "------------------------------------------------------------------------"\r
+ @echo ""\r
+ @echo ""\r
+ @$(TARGET_DEPLOY) $(ARGS)\r
+\r
+.PHONY: runGl\r
+runGl: printRuntimeInfo\r
+#gl is a wrapper of virtualgl\r
+#gl is necessary to run opengl remotely with turbovnc\r
+#OS : linux only\r
+ @echo ""\r
+ @echo "[CBI] -> Running remote-gl : "$(TARGET) $(ARGS)\r
+ @echo ""\r
+ @echo ""\r
+ @gl $(TARGET) $(ARGS)\r
+\r
+.PHONY: runGlDeploy\r
+runGlDeploy: printRuntimeInfo\r
+#gl is a wrapper of virtualgl\r
+#gl is necessary to run opengl remotely with turbovnc\r
+#OS : linux only!\r
+ @echo ""\r
+ @echo "[CBI] -> Running remote-gl : "$(TARGET_DEPLOY) $(ARGS)\r
+ @echo ""\r
+ @echo ""\r
+ @gl $(TARGET_DEPLOY) $(ARGS)\r
+\r
+\r
+.PHONY: printRuntimeInfo \r
+printRuntimeInfo:\r
+ @echo "[CBI] -> API BIN :"\r
+ @${ROOT_MAKEFILE_PRIVATE_COMMON_SCRIPT}/print.sh ${sort ${API_BIN}} \r
+ @echo ""\r
+ @echo "[CBI] -> ARGS :"\r
+ @${ROOT_MAKEFILE_PRIVATE_COMMON_SCRIPT}/print.sh ${sort ${ARGS}} \r
+\r
+\r
+##########\r
+# kill #\r
+##########\r
+\r
+.PHONY: killLinux \r
+killLinux:\r
+ @echo "[CBI] -> killing : "${TARGET_NAME_EXE}\r
+ @killall ${TARGET_NAME_EXE}\r
+ @echo "[CBI] -> ..."\r
+ @echo "[CBI] -> done!"\r
+\r
+.PHONY: killWin\r
+killWin:\r
+ @echo "[CBI] -> killing : "${TARGET_NAME_EXE}\r
+ @powershell stop-process -processname ${TARGET_NAME}\r
+ @echo "[CBI] -> ..."\r
+ @echo "[CBI] -> done"!\r
+\r
+##########\r
+# depends #\r
+##########\r
+ \r
+.PHONY: dependenciesLinux\r
+dependenciesLinux: printRuntimeInfo\r
+ @echo ""\r
+ifeq (${TARGET_MODE},STATIC_LIB) \r
+ @echo "[${TARGET_NAME}.${EXTENSION_LIB}] depends from :"\r
+ @echo ""\r
+ @ar -t ${TARGET_DEPLOY}\r
+else ifeq (${TARGET_MODE},SHARED_LIB)\r
+ @echo "[${TARGET_NAME}.${EXTENSION_DLL}] depends from :"\r
+ @echo ""\r
+ @ldd -v ${TARGET_DEPLOY}\r
+else\r
+ @echo "[${TARGET_NAME}.run] depends from :"\r
+ @echo ""\r
+ @ldd -v ${TARGET_DEPLOY}\r
+endif \r
+ @echo ""\r
+\r
+.PHONY: dependenciesWin\r
+dependenciesWin: printRuntimeInfo\r
+ @echo ""\r
+ @echo "[CBI] -> Dependencies .dll : "${TARGET_NAME_EXE}\r
+ @${DEPENDS_EXE} ${TARGET_DEPLOY}\r
+\r
+\r
+##########\r
+# contents #\r
+##########\r
+\r
+.PHONY: contentsLinux\r
+contentsLinux:\r
+ @echo ""\r
+ifeq (${TARGET_MODE},STATIC_LIB) \r
+ @echo "[${TARGET_NAME}.${EXTENSION_LIB}] export :"\r
+ @echo ""\r
+ @ar -t ${TARGET_DEPLOY}\r
+else ifeq (${TARGET_MODE},SHARED_LIB)\r
+ @echo "[${TARGET_NAME}.${EXTENSION_DLL}] export:"\r
+ @echo ""\r
+ @echo "[CBI] -> nm"\r
+ @echo ""\r
+ @nm -D --defined-only --extern--only ${TARGET_DEPLOY}\r
+ @echo ""\r
+ @echo "[CBI] -> readelf"\r
+ @echo ""\r
+ @readelf -s ${TARGET_DEPLOY}\r
+endif \r
+ @echo ""\r
+\r
+.PHONY: contententsWin\r
+contententsWin: printRuntimeInfo\r
+ @echo ""\r
+ @echo "[CBI] -> Dependencies .dll : "${TARGET_NAME_EXE}\r
+ @${DEPENDS_EXE} ${TARGET_DEPLOY}\r
+\r
+##########\r
+# deploy #\r
+##########\r
+\r
+.PHONY: deploy\r
+deploy:\r
+ifdef IS_DEPLOY\r
+ @$(shell cp $(TARGET) $(TARGET_DEPLOY)) \r
+ @echo ""\r
+ @echo "[CBI] -> Deploying : "$(TARGET_DEPLOY)\r
+ifneq ($(nbFileRessources),0)\r
+ @echo "[CBI] -> Copying : "$(RESOURCES_PATH)" -> "${TARGET_DEPLOY_PATH_BIN}\r
+ @cp -f -r $(RESOURCES_PATH)/* $(TARGET_DEPLOY_PATH_BIN)\r
+endif\r
+endif\r
+\r
+##########\r
+# doc #\r
+##########\r
+\r
+include ${ROOT_MAKEFILE_PRIVATE_DOC}/doxyCPP.mk\r
+\r
+##########\r
+# clean #\r
+##########\r
+\r
+.PHONY: clean \r
+clean:\r
+ @rm -f $(TARGET_OBJ_PATH)/*.o\r
+ @rm -f $(TARGET_OBJ_PATH)/*.obj\r
+ @rm -f $(TARGET_BIN_PATH)/*.exp\r
+ @rm -f $(TARGET_BIN_PATH)/*.html\r
+ @rm -f $(TARGET_BIN_PATH)/*.lib\r
+ @rm -f $(TARGET_BIN_PATH)/*.a\r
+ @rm -f $(TARGET_BIN_PATH)/*.def\r
+ @rm -f $(TARGET_BIN_PATH)/*.map\r
+ @rm -f $(TARGET)\r
+ @rm -f $(TARGET_DEPLOY)\r
+ @rm -f $(TARGET_DOC_DEPLOY_FILE)\r
+ @rm -f -r $(TARGET_DOC_PATH)\r
+ @echo ""\r
+ @echo "=================================================================================="\r
+ @echo "[CBI] -> Target : "$(TARGET_NAME)\r
+ @echo "[CBI] -> Task : DELETE"\r
+ @echo "[CBI] ->"\r
+ @echo "[CBI] -> Delete .obj : "$(TARGET_OBJ_PATH)\r
+ @echo "[CBI] -> Delete .bin : "$(TARGET_BIN_PATH)\r
+ @echo "[CBI] -> Delete doc : "$(TARGET_DOC_PATH)\r
+ @echo "[CBI] ->"\r
+ @echo "[CBI] -> Delete deploy : "$(TARGET_DEPLOY)\r
+ @echo "[CBI] -> Delete deploy doc : "$(TARGET_DOC_DEPLOY_FILE)\r
+ @echo "=================================================================================="\r
+ @echo ""\r
+\r
+# -v verbose\r
+# -r recursif\r
+# -f pas d'erreur si file existe pas\r
+#rm -rf #serait recursif (dangereux!!)\r
+\r
+.PHONY: cleanDeploy\r
+cleanDeploy:\r
+ @rm -f ${TARGET_DEPLOY_PATH_BIN}/*.lib\r
+ @rm -f ${TARGET_DEPLOY_PATH_BIN}/*.so\r
+ @rm -f ${TARGET_DEPLOY_PATH_BIN}/*.dll\r
+ @rm -f ${TARGET_DEPLOY_PATH_BIN}/*.run\r
+ @rm -f ${TARGET_DEPLOY_PATH_BIN}/*.exe\r
+ @rm -f ${TARGET_DEPLOY_PATH_BIN}/*.a\r
+ @rm -f ${TARGET_DEPLOY_PATH_DOC}/*.gz\r
+ \r
+\r
+.PHONY: cleanTemp\r
+cleanTemp:\r
+ @rm -f -r ${TARGET_PATH_ROOT}\r
+ \r
+.PHONY: cleanAll \r
+cleanAll: cleanTitleStart cleanDeploy cleanTemp cleanTitleEnd\r
+\r
+.PHONY: cleanTitleStart\r
+cleanTitleStart:\r
+ @echo "=================================================================================="\r
+ @echo "[CBI] -> Delete : "${TARGET_DEPLOY_PATH_BIN}"/*"\r
+ @echo "[CBI] -> Delete : "${TARGET_DEPLOY_PATH_DOC}"/*"\r
+ @echo "[CBI] -> Delete : "${TARGET_PATH_ROOT}\r
+ @echo "=================================================================================="\r
+ @echo ""\r
+ @echo "[CBI] -> Please wait ..."\r
+ @echo "[CBI] -> Deleting ..."\r
+ @echo ""\r
+\r
+.PHONY: cleanTitleEnd\r
+cleanTitleEnd:\r
+ @echo "=================================================================================="\r
+ @echo "[CBI] -> Delete : finished!"\r
+ @echo "=================================================================================="\r
+ \r
+##########\r
+# echo #\r
+##########\r
+\r
+.PHONY: echoing\r
+echoing:\r
+ @echo "=================================================================================="\r
+ @echo "[CBI] -> Target Name : "$(TARGET_NAME)\r
+ @echo "[CBI] ->"\r
+ @echo "[CBI] -> Build : "$(TARGET)\r
+ @echo "[CBI] -> Deploy : "$(TARGET_DEPLOY_PATH_BIN)\r
+ @echo "[CBI] ->"\r
+ @echo "[CBI] -> Type : "$(TARGET_MODE)\r
+ @echo "[CBI] -> Arch : "$(ARCHI_32_64)\r
+ @echo "[CBI] -> OS : "$(OS)\r
+ @echo "[CBI] -> User : "$(USER)\r
+ @echo "[CBI] ->"\r
+ @echo "[CBI] -> Task : Compiling-Linking" \r
+#@echo "[CBI]->Time : "${TIME_CURRENT} \r
+ @echo "=================================================================================="\r
+ @echo ""\r
+ @echo "[CBI] -> SRC AUX (Recursif) :"\r
+ @echo "[CBI] ->" \r
+#@echo $(SRC_AUX) \r
+ @${ROOT_MAKEFILE_PRIVATE_COMMON_SCRIPT}/print.sh $(sort $(SRC_AUX))\r
+ @echo "" \r
+ @echo "[CBI] -> CXXFLAGS (Partial) :"\r
+ @echo "[CBI] ->" \r
+#@echo $(CXXFLAGS)\r
+ @${ROOT_MAKEFILE_PRIVATE_COMMON_SCRIPT}/print.sh $(sort $(call not-containing,${OPTION_SEPARATOR}$(HEADER_OPTION),$(CXXFLAGS))) \r
+ @echo "" \r
+ifneq (${TARGET_MODE},STATIC_LIB)\r
+ @echo "[CBI] -> LDFLAGS (Partial) :"\r
+ @echo "[CBI] ->" \r
+#@echo $(LDFLAGS)\r
+ifeq (${OS},Win)\r
+ifeq (${COMPILATEUR},VISUAL)\r
+ @${ROOT_MAKEFILE_PRIVATE_COMMON_SCRIPT}/print.sh $(sort $(call not-containing,${LIB_PATH_SEPARATOR},$(call not-containing,.${EXTENSION_LIB},$(LDFLAGS)))) \r
+endif\r
+ifeq (${COMPILATEUR},INTEL)\r
+ @${ROOT_MAKEFILE_PRIVATE_COMMON_SCRIPT}/print.sh $(sort $(call not-containing,${LIB_PATH_SEPARATOR},$(call not-containing,.${EXTENSION_LIB},$(LDFLAGS))))\r
+endif\r
+ifeq (${COMPILATEUR},MINGW)\r
+ @${ROOT_MAKEFILE_PRIVATE_COMMON_SCRIPT}/print.sh $(sort $(call not-containing,-${LIB_FLAG_SEPARATOR},$(call not-containing,-${LIB_PATH_SEPARATOR},$(LDFLAGS)))) \r
+endif\r
+else\r
+ @${ROOT_MAKEFILE_PRIVATE_COMMON_SCRIPT}/print.sh $(sort $(call not-containing,-${LIB_FLAG_SEPARATOR},$(call not-containing,-${LIB_PATH_SEPARATOR},$(LDFLAGS)))) \r
+endif\r
+endif\r
+ @echo "" \r
+ @echo "[CBI] -> INC_PATH (auto detect):"\r
+ @${ROOT_MAKEFILE_PRIVATE_COMMON_SCRIPT}/print.sh $(sort $(INC_PATH))\r
+ @echo "" \r
+ @echo "" \r
+ @echo "[CBI] -> LIB_PATH (auto detect):"\r
+ @${ROOT_MAKEFILE_PRIVATE_COMMON_SCRIPT}/print.sh $(sort $(LIB_PATH))\r
+ @echo "" \r
+ \r
+\r
+##############################################\r
+# HELP #\r
+##############################################\r
+\r
+# target : dependencies\r
+#\r
+# $@ = name of the target\r
+# $^ = all dependencie of a target\r
+# $< =first (unique dependency of a target) (rm, compilation,linking)\r
+#\r
+# @ = diminue verbosite commande\r
+#\r
+# Attention : tabulation obligatoire avant commande dans rule!!\r
+#\r
+# http://www.gnu.org/software/make/manual/\r
+\r
+#############################################\r
+# END #\r
+#############################################\r
+\r
+endif#__CPP_MK__\r
+\r