From e9c47ba8a713c3a46fd2f557fdc750d5e0a36c4b Mon Sep 17 00:00:00 2001 From: Edouard Dupin Date: Fri, 16 Dec 2011 17:29:24 +0100 Subject: [PATCH] Comipation work on Linux and Android --- Build/Makefile.Linux.mk | 151 ++++++++++----------------- Build/Makefile.common.mk | 22 +--- Makefile | 190 ++++++++++++++++++---------------- Sources/base/guiX11.cpp | 20 ++-- Sources/etk/File.cpp | 17 +-- Sources/ewol/Android.mk | 35 +++++++ Sources/ewol/FontFreeType.cpp | 2 +- Sources/ewol/Linux.mk | 36 +++++++ Sources/ewol/Texture.cpp | 8 +- Sources/ewol/ewol.cpp | 4 +- Sources/ewol/file.mk | 46 ++++++++ Sources/importgl.h | 2 +- 12 files changed, 304 insertions(+), 229 deletions(-) create mode 100644 Sources/ewol/Android.mk create mode 100644 Sources/ewol/Linux.mk create mode 100644 Sources/ewol/file.mk diff --git a/Build/Makefile.Linux.mk b/Build/Makefile.Linux.mk index 87a2999d..09f2c2ca 100644 --- a/Build/Makefile.Linux.mk +++ b/Build/Makefile.Linux.mk @@ -4,7 +4,7 @@ include $(EWOL_FOLDER)/Build/Makefile.common.mk -include $(EWOL_FOLDER)/Build/ewol.mk +#include $(EWOL_FOLDER)/Build/ewol.mk ############################################################################### ### Compilateur base system ### @@ -33,12 +33,25 @@ else endif + +OBJECT_DIR=Object_$(PLATFORM) + +ifeq ("$(DEBUG)", "0") + OBJECT_DIRECTORY=$(OBJECT_DIR)/release + OUTPUT_NAME = $(OUTPUT_NAME_RELEASE) +else + OBJECT_DIRECTORY=$(OBJECT_DIR)/debug + OUTPUT_NAME = $(OUTPUT_NAME_DEBUG) +endif + + + ############################################################################### ### Basic C flags ### ############################################################################### # basic X11 librairy ==> show if we can une under lib ... -CXXFLAGS= $(X11FLAGS) $(FREETYPE_CFLAGS) -D__PLATFORM__$(PLATFORM) +CXXFLAGS= $(X11FLAGS) $(FREETYPE_CFLAGS) -D__PLATFORM__$(PLATFORM) $(PROJECT_CXXFLAGS) ifeq ("$(DEBUG)", "0") CXXFLAGS+= -O2 @@ -55,145 +68,95 @@ CXXFLAGS+= $(DEFINE) # remove warning from the convertion char* CXXFLAGS+= -Wno-write-strings +CXXFLAGS+= -DPROJECT_NAME="$(PROJECT_NAME)" + CFLAGS= $(CXXFLAGS) -std=c99 # basic extern librairy -LDFLAGS= $(X11FLAGS) $(FREETYPE_LDFLAGS) +LDFLAGS= $(X11FLAGS) $(FREETYPE_LDFLAGS) $(PROJECT_LDFLAGS) # Dynamic connection of the CALLBACK of the GUI LDFLAGS+= -Wl,--export-dynamic # TODO : add the prefix ... -CXXFILES = $(EWOL_CXXFILES) $(PROJECT_SOURCES) - - -############################################################################### -### Basic Project description Files ### -############################################################################### -FILE_DIRECTORY=Sources -OUTPUT_NAME_RELEASE=$(PROJECT_NAME)_release -OUTPUT_NAME_DEBUG=$(PROJECT_NAME)_debug -OBJECT_DIR=Object_$(PLATFORM) - -ifeq ("$(DEBUG)", "0") - OBJECT_DIRECTORY=$(OBJECT_DIR)/release - OUTPUT_NAME = $(OUTPUT_NAME_RELEASE) -else - OBJECT_DIRECTORY=$(OBJECT_DIR)/debug - OUTPUT_NAME = $(OUTPUT_NAME_DEBUG) -endif - - - -############################################################################### -### Generique dependency ### -############################################################################### -MAKE_DEPENDENCE=Makefile - -############################################################################### -### Files Listes ### -############################################################################### - - -# get all data file in the specific folder -DATA_FOLDER=dataTest -DATA_FILE=$(shell find $(DATA_FOLDER)/*) - -############################################################################### -### Liste of folder where .h can be ### -############################################################################### +CXXFILES = $(PROJECT_SOURCES) +# create the list of module : LISTE_MODULES = $(sort $(dir $(CXXFILES))) -$(info liste des modules : $(LISTE_MODULES)) - -#$(info listeModule=$(LISTE_MODULES)) -INCLUDE_DIRECTORY = $(addprefix -I$(FILE_DIRECTORY)/, $(LISTE_MODULES)) -I../ewol/Sources/ -# overwrite if needed the directory folder : -INCLUDE_DIRECTORY = -I$(FILE_DIRECTORY)/ - ############################################################################### ### Build Object Files List ### ############################################################################### -OBJ = $(addprefix $(OBJECT_DIRECTORY)/, $(CXXFILES:.cpp=.o)) - +OBJ = $(addprefix $(OBJECT_DIRECTORY)/, $(CXXFILES:.cpp=.o)) ############################################################################### ### Main Part of Makefile ### ############################################################################### -all: build +all: $(PROJECT_NAME) -include $(OBJ:.o=.d) -build: .encadrer .versionFile $(OUTPUT_NAME) +.ewol: + @cd $(EWOL_FOLDER) ; make -s PLATFORM=$(PLATFORM) DEBUG=$(DEBUG) + +.ewol-clean: + @cd $(EWOL_FOLDER) ; make -s PLATFORM=$(PLATFORM) clean -.versionFile: - @#rm -f $(OBJECT_DIRECTORY)/ewol/ewol.o +.encadrer: + @echo $(CADRE_HAUT_BAS) + @echo $(CADRE_COTERS) + @echo ' DEBUT DE COMPILATION DU PROGRAMME :'$(CADRE_COTERS) + @echo ' Repertoire Sources : $(PROJECT_FILE_DIRECTORY)/'$(CADRE_COTERS) + @echo ' Repertoire object : $(OBJECT_DIRECTORY)/'$(CADRE_COTERS) + @echo ' Binaire de sortie : $(F_VIOLET)$(PROJECT_NAME) $(F_NORMALE)'$(CADRE_COTERS) + @echo $(CADRE_COTERS) + @echo $(CADRE_HAUT_BAS) + @mkdir -p $(addprefix $(OBJECT_DIRECTORY)/, $(LISTE_MODULES)) - -$(info ploploplooop $(OBJ)) +$(info PROJECT_FILE_DIRECTORY=$(PROJECT_FILE_DIRECTORY) ; OBJECT_DIRECTORY=$(OBJECT_DIRECTORY)) # build C++ -$(OBJECT_DIRECTORY)/%.o: $(FILE_DIRECTORY)/%.cpp $(MAKE_DEPENDENCE) - @echo $(F_VERT)" (.o) $<"$(F_NORMALE) - @$(CXX) $< -c -o $@ $(INCLUDE_DIRECTORY) $(CXXFLAGS) -MMD - -$(OBJECT_DIRECTORY)/%.o: ../ewol/$(FILE_DIRECTORY)/%.cpp $(MAKE_DEPENDENCE) +$(OBJECT_DIRECTORY)/%.o: $(PROJECT_FILE_DIRECTORY)/%.cpp $(MAKE_DEPENDENCE) @echo $(F_VERT)" (.o) $<"$(F_NORMALE) @$(CXX) $< -c -o $@ $(INCLUDE_DIRECTORY) $(CXXFLAGS) -MMD # build binary Release Mode -$(OUTPUT_NAME_RELEASE): $(OBJ) $(MAKE_DEPENDENCE) - @echo $(F_ROUGE)" (bin) $@ "$(F_NORMALE) - @$(CXX) $(OBJ) $(LDFLAGS) -o $@ - @cp $@ $(PROJECT_NAME) - -# build binary Debug Mode -$(OUTPUT_NAME_DEBUG): $(OBJ) $(MAKE_DEPENDENCE) - @echo $(F_ROUGE)" (bin) $@ "$(F_NORMALE) - @$(CXX) $(OBJ) $(LDFLAGS) -o $@ - @cp $@ $(PROJECT_NAME) +$(PROJECT_NAME): .ewol .encadrer $(PROJECT_LIB_DEPENDENCY) $(OBJ) $(MAKE_DEPENDENCE) + @echo $(F_ROUGE)" (bin) $(PROJECT_NAME) "$(F_NORMALE) + @$(CXX) $(OBJ) $(EWOL_FOLDER)/libewol.a $(LDFLAGS) -o $@ -clean: + +clean: .ewol-clean @echo $(CADRE_HAUT_BAS) @echo ' CLEANING : $(F_VIOLET)$(OUTPUT_NAME)$(F_NORMALE)'$(CADRE_COTERS) @echo $(CADRE_HAUT_BAS) - @echo Remove Folder : $(OBJECT_DIR) + @echo $(F_VERT)" (rm) $(OBJECT_DIR)"$(F_NORMALE) @rm -rf $(OBJECT_DIR) - @echo Remove File : $(PROJECT_NAME) $(OUTPUT_NAME_DEBUG) $(OUTPUT_NAME_RELEASE) + @echo $(F_VERT)" (rm) $(PROJECT_NAME) $(OUTPUT_NAME_DEBUG) $(OUTPUT_NAME_RELEASE)"$(F_NORMALE) @rm -f $(PROJECT_NAME) $(OUTPUT_NAME_DEBUG) $(OUTPUT_NAME_RELEASE) - @echo Remove File : pngToCpp - @rm -f pngToCpp - @echo Remove File : $(FILE_DIRECTORY)/GuiTools/myImage.* - @rm -f $(FILE_DIRECTORY)/GuiTools/myImage.* - @echo Remove doxygen files : doxygen/* + @echo $(F_VERT)" (rm) doxygen/*"$(F_NORMALE) @rm -rf doxygen @rm -f doxygen.log - @echo Remove temporary files *.bck + @echo $(F_VERT)" (rm) *.bck"$(F_NORMALE) @rm -f `find . -name "*.bck"` count: - wc -l Makefile `find $(FILE_DIRECTORY)/ -name "*.cpp"` `find $(FILE_DIRECTORY)/ -name "*.h"` + wc -l Makefile `find $(FILE_DIRECTORY)/ -name "*.cpp"` `find $(PROJECT_FILE_DIRECTORY)/ -name "*.h"` -install: .encadrer .versionFile $(OUTPUT_NAME_RELEASE) - @echo $(CADRE_HAUT_BAS) - @echo ' INSTALL : $(F_VIOLET)$(OUTPUT_NAME_RELEASE)=>$(PROJECT_NAME)$(F_NORMALE)'$(CADRE_COTERS) - @echo $(CADRE_HAUT_BAS) - @echo $(F_ROUGE)" (stripped) $(OUTPUT_NAME_RELEASE) => $(PROJECT_NAME) "$(F_NORMALE) +install: .encadrer .versionFile $(PROJECT_NAME) + @echo ' INSTALL : $(OUTPUT_NAME_RELEASE)=>$(PROJECT_NAME)' + @echo " (stripped) $(OUTPUT_NAME_RELEASE) => $(PROJECT_NAME) " @cp $(OUTPUT_NAME_RELEASE) $(PROJECT_NAME) @strip -s $(PROJECT_NAME) - @echo $(F_VERT)" (copy) $(PROJECT_NAME) /usr/bin/ "$(F_NORMALE) + @echo " (copy) $(PROJECT_NAME) /usr/bin/ " @cp -vf $(PROJECT_NAME) /usr/bin/ - @echo $(F_VERT)" (data) data/* ==> /usr/share/edn/ "$(F_NORMALE) - @mkdir -p /usr/share/edn/ - @rm -rf /usr/share/edn/* - @cp -vf data/*.xml /usr/share/edn/ - @mkdir -p /usr/share/edn/images/ - @cp -vf data/imagesSources/icone.png /usr/share/edn/images/ - @cp -vf data/imagesSources/delete-24px.png /usr/share/edn/images/ + @echo " (data) data/* ==> /usr/share/$(PROJECT_NAME)/ " + @mkdir -p /usr/share/$(PROJECT_NAME)/ + @rm -rf /usr/share/$(PROJECT_NAME)/* + @cp -vf assets/* /usr/share/$(PROJECT_NAME)/ # http://alp.developpez.com/tutoriels/debian/creer-paquet/ diff --git a/Build/Makefile.common.mk b/Build/Makefile.common.mk index 101d92e5..349f7bc1 100644 --- a/Build/Makefile.common.mk +++ b/Build/Makefile.common.mk @@ -9,9 +9,6 @@ # Evolutions : Date Auteur Raison # # 2011-12-15 Heero Yui Mise en place du système de couleur et d'encart # # # -# Notes : This makefile might be edited with an editor compatible with escape char and carrer return # -# char # -# # ################################################################################################################## export F_GRAS= export F_INVERSER= @@ -25,9 +22,8 @@ export F_BLUE= export F_VIOLET= export F_CYAN= export F_GRIS= -export CADRE_HAUT_BAS=' $(F_INVERSER) $(F_NORMALE)' -export CADRE_COTERS=' $(F_INVERSER) $(F_NORMALE) $(F_INVERSER) $(F_NORMALE)' - +export CADRE_HAUT_BAS=' $(F_INVERSER) $(F_NORMALE)' +export CADRE_COTERS=' $(F_INVERSER) $(F_NORMALE) $(F_INVERSER) $(F_NORMALE)' ############################################################################### ### Platform specificity : ### @@ -55,20 +51,6 @@ else endif - - -.encadrer: - @echo $(CADRE_HAUT_BAS) - @echo $(CADRE_COTERS) - @echo ' DEBUT DE COMPILATION DU PROGRAMME :'$(CADRE_COTERS) - @echo ' Repertoire Sources : $(FILE_DIRECTORY)/'$(CADRE_COTERS) - @echo ' Repertoire object : $(OBJECT_DIRECTORY)/'$(CADRE_COTERS) - @echo ' Binaire de sortie : $(F_VIOLET)$(OUTPUT_NAME) $(F_NORMALE)'$(CADRE_COTERS) - @echo $(CADRE_COTERS) - @echo $(CADRE_HAUT_BAS) - @mkdir -p $(addprefix $(OBJECT_DIRECTORY)/, $(LISTE_MODULES)) - - BUILD_TIME=$(shell date) diff --git a/Makefile b/Makefile index 9a64aa4c..b7a463ad 100644 --- a/Makefile +++ b/Makefile @@ -16,6 +16,21 @@ # Concu Pour le projet ewol # # # ################################################################################################################## +export F_GRAS= +export F_INVERSER= +export F_SOUSLIGNER= +export F_NORMALE= +export F_NOIR= +export F_ROUGE= +export F_VERT= +export F_MARRON= +export F_BLUE= +export F_VIOLET= +export F_CYAN= +export F_GRIS= +export CADRE_HAUT_BAS=' $(F_INVERSER) $(F_NORMALE)' +export CADRE_COTERS=' $(F_INVERSER) $(F_NORMALE) $(F_INVERSER) $(F_NORMALE)' + VERSION_TAG=$(shell git describe --tags) #$(info $(VERSION_TAG)) @@ -25,7 +40,8 @@ VERSION_TAG_SHORT=$(shell git describe --tags --abbrev=0) VERSION_BUILD_TIME=$(shell date) #$(info $(VERSION_BUILD_TIME)) - +PLATFORM?=Linux +CXXFILES += base/guiX11.cpp ############################################################################### ### Compilateur base system ### @@ -36,6 +52,20 @@ AR=ar DEBUG:=1 +############################################################################### +### Compilation Define ### +############################################################################### +ifeq ("$(DEBUG)", "0") + DEFINE = -DETK_DEBUG_LEVEL=1 + DEFINE+= -DEWOL_DEBUG_LEVEL=1 + DEFINE+= -DNDEBUG + DEFINE+= -DEWOL_VERSION_TAG_NAME="\"$(VERSION_TAG)-release\"" +else + DEFINE = -DETK_DEBUG_LEVEL=3 + DEFINE+= -DEWOL_DEBUG_LEVEL=3 + DEFINE+= -DEWOL_VERSION_TAG_NAME="\"$(VERSION_TAG)-debug\"" +endif +DEFINE+= -DVERSION_BUILD_TIME="\"$(VERSION_BUILD_TIME)\"" X11FLAGS= -lGL -lGLU # some X11 mode availlable : @@ -126,6 +156,67 @@ MAKE_DEPENDENCE=Makefile ### Files Listes ### ############################################################################### +#data File of the program : +ifeq ($(DATA_MODE), MEMORY) +CXXFILES += GeneratedData.cpp +endif + + +# tiny XML (extern OPEN Sources) : +CXXFILES += tinyXML/tinyxml.cpp \ + tinyXML/tinyxmlparser.cpp \ + tinyXML/tinyxmlerror.cpp \ + tinyXML/tinystr.cpp + +# Ewol Tool Kit : +CXXFILES += etk/Debug.cpp \ + etk/DebugInternal.cpp \ + etk/Memory.cpp \ + etk/String.cpp \ + etk/Stream.cpp \ + etk/File.cpp \ + etk/RegExp.cpp + +# Ewol Sources : +CXXFILES += ewol/ewol.cpp \ + ewol/Debug.cpp \ + ewol/OObject.cpp \ + ewol/OObject/2DText.cpp \ + ewol/OObject/2DColored.cpp \ + ewol/OObject/2DTextured.cpp \ + ewol/Texture.cpp +ifeq ("$(FREETYPE_CFLAGS)", "") + CXXFILES += ewol/FontBitmap.cpp +else + CXXFILES += ewol/FontFreeType.cpp +endif +CXXFILES += ewol/Widget.cpp \ + ewol/WidgetManager.cpp \ + ewol/Windows.cpp +# list of widgets : +CXXFILES += ewol/widget/Button.cpp \ + ewol/widget/CheckBox.cpp \ + ewol/widget/Entry.cpp \ + ewol/widget/List.cpp \ + ewol/widget/SizerHori.cpp \ + ewol/widget/SizerVert.cpp +# only to test son internal element ... +CXXFILES += ewol/widget/Test.cpp +# theme management : +CXXFILES += ewol/themeManager.cpp \ + ewol/theme/Theme.cpp \ + ewol/theme/EolElement.cpp \ + ewol/theme/EolElementFrame.cpp \ + ewol/theme/EolColor.cpp \ + ewol/theme/EolBase.cpp \ + ewol/theme/EolBaseCircle.cpp \ + ewol/theme/EolBaseCirclePart.cpp \ + ewol/theme/EolBaseLine.cpp \ + ewol/theme/EolBasePolygone.cpp \ + ewol/theme/EolBaseRect.cpp \ + ewol/theme/EolBaseTriangle.cpp + + # get all data file in the specific folder DATA_FOLDER=dataTest @@ -154,7 +245,10 @@ all: build -include $(OBJ:.o=.d) -build: .encadrer .versionFile $(OUTPUT_NAME) +build : .encadrer .versionFile $(OBJ) $(MAKE_DEPENDENCE) + @echo $(F_ROUGE)" (.a) lib$(PROG_NAME).a "$(F_NORMALE) + @ar rcs lib$(PROG_NAME).a $(OBJ) + .encadrer: @echo $(CADRE_HAUT_BAS) @@ -175,103 +269,21 @@ $(OBJECT_DIRECTORY)/%.o: $(FILE_DIRECTORY)/%.cpp $(MAKE_DEPENDENCE) @echo $(F_VERT)" (.o) $<"$(F_NORMALE) @$(CXX) $< -c -o $@ $(INCLUDE_DIRECTORY) $(CXXFLAGS) -MMD -# build binary Release Mode -$(OUTPUT_NAME_RELEASE): $(OBJ) $(MAKE_DEPENDENCE) - @echo $(F_ROUGE)" (bin) $@ "$(F_NORMALE) - @$(CXX) $(OBJ) $(LDFLAGS) -o $@ - @cp $@ $(PROG_NAME) - -# build binary Debug Mode -ifeq ($(PLATFORM), Android) -$(OUTPUT_NAME_DEBUG): $(MAKE_DEPENDENCE) - cd $(PROJECT_NDK) ; NDK_PROJECT_PATH=$(shell pwd) ./ndk-build - # V=1 - PATH=$(PROJECT_SDK)/tools/:$(PROJECT_SDK)/platform-tools/:$(PATH) ant -Dsdk.dir=$(PROJECT_SDK) debug -else -$(OUTPUT_NAME_DEBUG): $(OBJ) $(MAKE_DEPENDENCE) - @echo $(F_ROUGE)" (bin) $@ "$(F_NORMALE) - @$(CXX) $(OBJ) $(LDFLAGS) -o $@ - @cp $@ $(PROG_NAME) -endif - clean: @echo $(CADRE_HAUT_BAS) @echo ' CLEANING : $(F_VIOLET)$(OUTPUT_NAME)$(F_NORMALE)'$(CADRE_COTERS) @echo $(CADRE_HAUT_BAS) -ifeq ($(PLATFORM), Android) - rm -rf bin libs gen obj -else - @echo Remove Folder : $(OBJECT_DIR) + @echo $(F_VERT)" (rm) $(OBJECT_DIR)"$(F_NORMALE) @rm -rf $(OBJECT_DIR) - @echo Remove File : $(PROG_NAME) $(OUTPUT_NAME_DEBUG) $(OUTPUT_NAME_RELEASE) + @echo $(F_VERT)" (rm) $(PROJECT_NAME) $(OUTPUT_NAME_DEBUG) $(OUTPUT_NAME_RELEASE)"$(F_NORMALE) @rm -f $(PROG_NAME) $(OUTPUT_NAME_DEBUG) $(OUTPUT_NAME_RELEASE) - @echo Remove File : pngToCpp - @rm -f pngToCpp - @echo Remove File : $(FILE_DIRECTORY)/GuiTools/myImage.* - @rm -f $(FILE_DIRECTORY)/GuiTools/myImage.* - @echo Remove doxygen files : doxygen/* + @echo $(F_VERT)" (rm) doxygen/*"$(F_NORMALE) @rm -rf doxygen @rm -f doxygen.log - @echo Remove temporary files *.bck + @echo $(F_VERT)" (rm) *.bck"$(F_NORMALE) @rm -f `find . -name "*.bck"` -endif + count: wc -l Makefile `find $(FILE_DIRECTORY)/ -name "*.cpp"` `find $(FILE_DIRECTORY)/ -name "*.h"` - -ifeq ($(PLATFORM), Android) -install: - sudo $(PROJECT_SDK)/platform-tools/adb install -r ./bin/EwolActivity-debug.apk -else -install: .encadrer .versionFile $(OUTPUT_NAME_RELEASE) - @echo $(CADRE_HAUT_BAS) - @echo ' INSTALL : $(F_VIOLET)$(OUTPUT_NAME_RELEASE)=>$(PROG_NAME)$(F_NORMALE)'$(CADRE_COTERS) - @echo $(CADRE_HAUT_BAS) - @echo $(F_ROUGE)" (stripped) $(OUTPUT_NAME_RELEASE) => $(PROG_NAME) "$(F_NORMALE) - @cp $(OUTPUT_NAME_RELEASE) $(PROG_NAME) - @strip -s $(PROG_NAME) - @echo $(F_VERT)" (copy) $(PROG_NAME) /usr/bin/ "$(F_NORMALE) - @cp -vf $(PROG_NAME) /usr/bin/ - @echo $(F_VERT)" (data) data/* ==> /usr/share/edn/ "$(F_NORMALE) - @mkdir -p /usr/share/edn/ - @rm -rf /usr/share/edn/* - @cp -vf data/*.xml /usr/share/edn/ - @mkdir -p /usr/share/edn/images/ - @cp -vf data/imagesSources/icone.png /usr/share/edn/images/ - @cp -vf data/imagesSources/delete-24px.png /usr/share/edn/images/ -endif - -# http://alp.developpez.com/tutoriels/debian/creer-paquet/ -package: .encadrer - @echo 'Create Folders ...' - @mkdir -p package/$(PROG_NAME)/DEBIAN/ - @mkdir -p package/$(PROG_NAME)/usr/bin/ - @mkdir -p package/$(PROG_NAME)/usr/share/doc/ - @mkdir -p package/$(PROG_NAME)/usr/share/edn/ - # Create the control file - @echo "Package: "$(PROG_NAME) > package/$(PROG_NAME)/DEBIAN/control - @echo "Version: "$(VERSION_TAG_SHORT) >> package/$(PROG_NAME)/DEBIAN/control - @echo "Section: Development,Editors" >> package/$(PROG_NAME)/DEBIAN/control - @echo "Priority: optional" >>package/$(PROG_NAME)/DEBIAN/control - @echo "Architecture: all" >> package/$(PROG_NAME)/DEBIAN/control - @echo "Depends: bash" >> package/$(PROG_NAME)/DEBIAN/control - @echo "Maintainer: Mr DUPIN Edouard " >> package/$(PROG_NAME)/DEBIAN/control - @echo "Description: Text editor for sources code with ctags management" >> package/$(PROG_NAME)/DEBIAN/control - @echo "" >> package/$(PROG_NAME)/DEBIAN/control - # Create the PostRm - @echo "#!/bin/bash" > package/$(PROG_NAME)/DEBIAN/postrm - @echo "rm ~/."$(PROG_NAME) >> package/$(PROG_NAME)/DEBIAN/postrm - @echo "" >> package/$(PROG_NAME)/DEBIAN/postrm - # Enable Execution in script - @chmod 755 package/$(PROG_NAME)/DEBIAN/post* - @#chmod 755 package/$(PROG_NAME)/DEBIAN/pre* - # copy licence and information : - @cp README package/$(PROG_NAME)/usr/share/doc/README - @cp licence.txt package/$(PROG_NAME)/usr/share/doc/copyright - @echo "First generation in progress" >> package/$(PROG_NAME)/usr/share/doc/changelog - @cp -vf $(PROG_NAME) package/$(PROG_NAME)/usr/bin/ - @cp -vf data/*.xml package/$(PROG_NAME)/usr/share/edn/ - @cd package; dpkg-deb --build $(PROG_NAME) - - diff --git a/Sources/base/guiX11.cpp b/Sources/base/guiX11.cpp index 3ee112fd..9beb312d 100644 --- a/Sources/base/guiX11.cpp +++ b/Sources/base/guiX11.cpp @@ -486,12 +486,12 @@ namespace guiAbstraction { switch (event.type) { case ConfigureNotify: - EWOL_DEBUG("X11 event : " << event.type << " = \"ConfigureNotify\" Origin(" << event.xconfigure.x << "," << event.xconfigure.y << ") Size(" << event.xconfigure.width << "," << event.xconfigure.height << ")"); + EWOL_VERBOSE("X11 event : " << event.type << " = \"ConfigureNotify\" Origin(" << event.xconfigure.x << "," << event.xconfigure.y << ") Size(" << event.xconfigure.width << "," << event.xconfigure.height << ")"); m_uniqueWindows->CalculateSize((etkFloat_t)event.xconfigure.width, (etkFloat_t)event.xconfigure.height); m_uniqueWindows->SetOrigin(event.xconfigure.x, event.xconfigure.y); break; case Expose: - EWOL_DEBUG("X11 event : " << event.type << " = \"Expose\""); + EWOL_VERBOSE("X11 event : " << event.type << " = \"Expose\""); m_uniqueWindows->SysOnExpose(); break; case ButtonPress: @@ -499,7 +499,7 @@ namespace guiAbstraction { m_moveMode = false; m_resizeMode = false; int32_t btId = event.xbutton.button; - EWOL_DEBUG("X11 bt=" << btId << " event : " << event.type << "=\"ButtonPress\" (" << (etkFloat_t)event.xbutton.x << "," << (etkFloat_t)event.xbutton.y << ")"); + EWOL_VERBOSE("X11 bt=" << btId << " event : " << event.type << "=\"ButtonPress\" (" << (etkFloat_t)event.xbutton.x << "," << (etkFloat_t)event.xbutton.y << ")"); // Send Down message m_uniqueWindows->GenEventInput(btId, ewol::EVENT_INPUT_TYPE_DOWN, (etkFloat_t)event.xbutton.x, (etkFloat_t)event.xbutton.y); // Check double or triple click event ... @@ -530,7 +530,7 @@ namespace guiAbstraction { m_moveMode = false; m_resizeMode = false; int32_t btId = event.xbutton.button; - EWOL_DEBUG("X11 bt=" << btId << " event : " << event.type << "=\"ButtonRelease\" (" << (etkFloat_t)event.xbutton.x << "," << (etkFloat_t)event.xbutton.y << ")"); + EWOL_VERBOSE("X11 bt=" << btId << " event : " << event.type << "=\"ButtonRelease\" (" << (etkFloat_t)event.xbutton.x << "," << (etkFloat_t)event.xbutton.y << ")"); // send Up event ... m_uniqueWindows->GenEventInput(btId, ewol::EVENT_INPUT_TYPE_UP, (etkFloat_t)event.xbutton.x, (etkFloat_t)event.xbutton.y); @@ -629,13 +629,13 @@ namespace guiAbstraction { bool findOne = false; for (int32_t iii=0; iiiGenEventInput(iii+1, ewol::EVENT_INPUT_TYPE_MOVE, (etkFloat_t)event.xmotion.x, (etkFloat_t)event.xmotion.y); findOne = true; } } if (false == findOne) { - EWOL_DEBUG("X11 event: bt=" << 0 << " " << event.type << " = \"MotionNotify\" (" << (etkFloat_t)event.xmotion.x << "," << (etkFloat_t)event.xmotion.y << ")"); + EWOL_VERBOSE("X11 event: bt=" << 0 << " " << event.type << " = \"MotionNotify\" (" << (etkFloat_t)event.xmotion.x << "," << (etkFloat_t)event.xmotion.y << ")"); m_uniqueWindows->GenEventInput(0, ewol::EVENT_INPUT_TYPE_MOVE, (etkFloat_t)event.xmotion.x, (etkFloat_t)event.xmotion.y); } } @@ -649,13 +649,13 @@ namespace guiAbstraction { case FocusIn: m_resizeMode = false; m_moveMode = false; - EWOL_DEBUG("X11 event : " << event.type << " = \"FocusIn\""); + EWOL_VERBOSE("X11 event : " << event.type << " = \"FocusIn\""); m_uniqueWindows->SetFocus(); break; case FocusOut: m_resizeMode = false; m_moveMode = false; - EWOL_DEBUG("X11 event : " << event.type << " = \"FocusOut\""); + EWOL_VERBOSE("X11 event : " << event.type << " = \"FocusOut\""); m_uniqueWindows->RmFocus(); break; case KeyPress: @@ -685,11 +685,11 @@ namespace guiAbstraction { //case DestroyNotify: // break; case MapNotify: - EWOL_DEBUG("X11 event : " << event.type << " = \"MapNotify\""); + EWOL_VERBOSE("X11 event : " << event.type << " = \"MapNotify\""); m_uniqueWindows->SysOnShow(); break; case UnmapNotify: - EWOL_DEBUG("X11 event : " << event.type << " = \"UnmapNotify\""); + EWOL_VERBOSE("X11 event : " << event.type << " = \"UnmapNotify\""); m_uniqueWindows->SysOnHide(); break; default: diff --git a/Sources/etk/File.cpp b/Sources/etk/File.cpp index 321611b4..6b484527 100644 --- a/Sources/etk/File.cpp +++ b/Sources/etk/File.cpp @@ -167,7 +167,7 @@ bool etk::File::operator!= (const etk::File &etkF) const } -etk::String baseFolderData = ""; +etk::String baseFolderData = "assets/"; #ifdef DATA_IN_APK static etk::String s_fileAPK = ""; @@ -260,14 +260,14 @@ void etk::File::SetCompleateName(etk::String &newFilename, etk::FileType_te type } } bool needUnpack = false; - #if ETK_DEBUG_LEVEL > 3 + #if ETK_DEBUG_LEVEL > 2 char *mode = NULL; #endif switch (m_type) { case etk::FILE_TYPE_DATA: { - #if ETK_DEBUG_LEVEL > 3 + #if ETK_DEBUG_LEVEL > 2 mode = "FILE_TYPE_DATA"; #endif #ifdef DATA_INTERNAL_BINARY @@ -304,7 +304,7 @@ void etk::File::SetCompleateName(etk::String &newFilename, etk::FileType_te type break; case etk::FILE_TYPE_USER_DATA: { - #if ETK_DEBUG_LEVEL > 3 + #if ETK_DEBUG_LEVEL > 2 mode = "FILE_TYPE_USER_DATA"; #endif etk::String tmpFilename = destFilename; @@ -315,7 +315,7 @@ void etk::File::SetCompleateName(etk::String &newFilename, etk::FileType_te type break; case etk::FILE_TYPE_CACHE: { - #if ETK_DEBUG_LEVEL > 3 + #if ETK_DEBUG_LEVEL > 2 mode = "FILE_TYPE_CACHE"; #endif etk::String tmpFilename = destFilename; @@ -326,7 +326,7 @@ void etk::File::SetCompleateName(etk::String &newFilename, etk::FileType_te type break; default: // nothing to do ... - #if ETK_DEBUG_LEVEL > 3 + #if ETK_DEBUG_LEVEL > 2 mode = "FILE_TYPE_DIRECT"; #endif needUnpack = true; @@ -381,7 +381,7 @@ void etk::File::SetCompleateName(etk::String &newFilename, etk::FileType_te type m_shortFilename = destFilename; } } - TK_VERBOSE("Set FileName :\"" << m_folder << "\" / \"" << m_shortFilename << "\" mode=" << mode); + TK_DEBUG("Set FileName :\"" << m_folder << "\" / \"" << m_shortFilename << "\" mode=" << mode); } int32_t etk::File::GetLineNumber(void) @@ -616,9 +616,9 @@ bool etk::File::fClose(void) char * etk::File::fGets(char * elementLine, int32_t maxData) { - char * element = elementLine; memset(elementLine, 0, maxData); #ifdef DATA_INTERNAL_BINARY + char * element = elementLine; if (etk::FILE_TYPE_DATA == m_type) { if (m_idInternal >= -1 && m_idInternal < internalDataFilesSize) { //char * tmpData = internalDataFiles[iii].data + m_readingOffset; @@ -649,6 +649,7 @@ char * etk::File::fGets(char * elementLine, int32_t maxData) return NULL; } #elif defined(DATA_IN_APK) + char * element = elementLine; if (etk::FILE_TYPE_DATA == m_type) {//char * tmpData = internalDataFiles[iii].data + m_readingOffset; if (NULL == m_zipData) { element[0] = '\0'; diff --git a/Sources/ewol/Android.mk b/Sources/ewol/Android.mk new file mode 100644 index 00000000..6c56c22a --- /dev/null +++ b/Sources/ewol/Android.mk @@ -0,0 +1,35 @@ +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := ewol +LOCAL_STATIC_LIBRARIES := libzip libpng + +LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Sources $(LOCAL_PATH)/../libzip/ $(LOCAL_PATH)/../libpng/ + +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../Sources +LOCAL_EXPORT_LDLIBS := -lGLESv1_CM -ldl -llog -lz + +LOCAL_CFLAGS := -D__PLATFORM__Android \ + -Wno-write-strings \ + -DETK_DEBUG_LEVEL=3 \ + -DEWOL_DEBUG_LEVEL=3 \ + -DEWOL_VERSION_TAG_NAME="\"UNKNOW-debug\"" \ + -DVERSION_BUILD_TIME="\"pasd_heure\"" \ + -DDATA_IN_APK \ + +# load the common sources file of the platform +include $(LOCAL_PATH)/file.mk + +LOCAL_SRC_FILES := \ + ../../Sources/base/guiAndroid.cpp \ + $(addprefix ../../Sources/, $(FILE_LIST)) + +#for freetype : https://github.com/cdave1/freetype2-android + +# Ewol Test Software : +LOCAL_LDLIBS := -lGLESv1_CM -ldl -llog -lz + +include $(BUILD_STATIC_LIBRARY) + + diff --git a/Sources/ewol/FontFreeType.cpp b/Sources/ewol/FontFreeType.cpp index 15fd59e0..f51e51be 100644 --- a/Sources/ewol/FontFreeType.cpp +++ b/Sources/ewol/FontFreeType.cpp @@ -37,7 +37,7 @@ #endif */ #include -#if defined(__PLATFORM__X11) +#if defined(__PLATFORM__Linux) # include #else # include diff --git a/Sources/ewol/Linux.mk b/Sources/ewol/Linux.mk new file mode 100644 index 00000000..7c50271f --- /dev/null +++ b/Sources/ewol/Linux.mk @@ -0,0 +1,36 @@ +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := ewol +LOCAL_STATIC_LIBRARIES := libzip libpng + +LOCAL_C_INCLUDES := $(LOCAL_PATH)/ $(LOCAL_PATH)/../libzip/ $(LOCAL_PATH)/../libpng/ + +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../Sources +LOCAL_EXPORT_LDLIBS := -lGLESv1_CM -ldl -llog -lz + +LOCAL_CFLAGS := -D__PLATFORM__Linux \ + -Wno-write-strings \ + -DETK_DEBUG_LEVEL=3 \ + -DEWOL_DEBUG_LEVEL=3 \ + -DEWOL_VERSION_TAG_NAME="\"UNKNOW-debug\"" \ + -DVERSION_BUILD_TIME="\"pasd_heure\"" \ + -DDATA_IN_APK \ + +# load the common sources file of the platform +include $(LOCAL_PATH)/file.mk + +LOCAL_SRC_FILES := \ + base/guiX11.cpp \ + $(FILE_LIST) + +#for freetype : https://github.com/cdave1/freetype2-android + +# Ewol Test Software : +LOCAL_LDLIBS := -lGLESv1_CM -ldl -llog -lz + + +include $(BUILD_STATIC_LIBRARY) + + diff --git a/Sources/ewol/Texture.cpp b/Sources/ewol/Texture.cpp index ef3b4855..636bb2ba 100644 --- a/Sources/ewol/Texture.cpp +++ b/Sources/ewol/Texture.cpp @@ -341,7 +341,7 @@ void ewol::TextureOGLContext(bool enable) //--- mode nearest //glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); //glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - //#ifdef __PLATFORM__X11 + //#ifdef __PLATFORM__Linux //--- Mode linear glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); @@ -413,7 +413,7 @@ int32_t ewol::LoadTexture(etk::File fileName) //--- mode nearest //glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); //glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); - //#ifdef __PLATFORM__X11 + //#ifdef __PLATFORM__Linux //--- Mode linear glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); @@ -440,7 +440,7 @@ int32_t ewol::LoadTexture(etk::File fileName) void ewol::UnLoadTexture(uint32_t textureID) { - if (textureID>=0 && textureID=0 && (int32_t)textureIDm_nbTimeLoaded--; if (0 == listLoadedTexture[textureID]->m_nbTimeLoaded) { EWOL_DEBUG("Remove openGL texture ID=" << textureID << " file:" << listLoadedTexture[textureID]->m_filename); @@ -458,7 +458,7 @@ void ewol::UnLoadTexture(uint32_t textureID) uint32_t ewol::GetTextureGLID(uint32_t textureID) { - if (textureID>=0 && textureID=0 && (int32_t)textureIDm_openGlTextureID; } return -1; diff --git a/Sources/ewol/ewol.cpp b/Sources/ewol/ewol.cpp index 5ba92d4e..6c7b68de 100644 --- a/Sources/ewol/ewol.cpp +++ b/Sources/ewol/ewol.cpp @@ -93,14 +93,14 @@ void ewol::GetAbsPos(int32_t & x, int32_t & y) void ewol::StartResizeSystem(void) { -#ifdef __PLATFORM__X11 +#ifdef __PLATFORM__Linux guiAbstraction::StartResizeSystem(); #endif } void ewol::StartMoveSystem(void) { -#ifdef __PLATFORM__X11 +#ifdef __PLATFORM__Linux guiAbstraction::StartMoveSystem(); #endif } diff --git a/Sources/ewol/file.mk b/Sources/ewol/file.mk new file mode 100644 index 00000000..bdcc70ef --- /dev/null +++ b/Sources/ewol/file.mk @@ -0,0 +1,46 @@ + + +FILE_LIST = \ + tinyXML/tinyxml.cpp \ + tinyXML/tinyxmlparser.cpp \ + tinyXML/tinyxmlerror.cpp \ + tinyXML/tinystr.cpp \ + etk/Debug.cpp \ + etk/DebugInternal.cpp \ + etk/Memory.cpp \ + etk/String.cpp \ + etk/Stream.cpp \ + etk/File.cpp \ + etk/RegExp.cpp \ + ewol/ewol.cpp \ + ewol/Debug.cpp \ + ewol/OObject.cpp \ + ewol/OObject/2DText.cpp \ + ewol/OObject/2DColored.cpp \ + ewol/OObject/2DTextured.cpp \ + ewol/Texture.cpp \ + ewol/FontBitmap.cpp \ + ewol/Widget.cpp \ + ewol/WidgetManager.cpp \ + ewol/Windows.cpp \ + ewol/widget/Button.cpp \ + ewol/widget/CheckBox.cpp \ + ewol/widget/Entry.cpp \ + ewol/widget/List.cpp \ + ewol/widget/SizerHori.cpp \ + ewol/widget/SizerVert.cpp \ + ewol/widget/Test.cpp \ + ewol/themeManager.cpp \ + ewol/theme/Theme.cpp \ + ewol/theme/EolElement.cpp \ + ewol/theme/EolElementFrame.cpp \ + ewol/theme/EolColor.cpp \ + ewol/theme/EolBase.cpp \ + ewol/theme/EolBaseCircle.cpp \ + ewol/theme/EolBaseCirclePart.cpp \ + ewol/theme/EolBaseLine.cpp \ + ewol/theme/EolBasePolygone.cpp \ + ewol/theme/EolBaseRect.cpp \ + ewol/theme/EolBaseTriangle.cpp + + diff --git a/Sources/importgl.h b/Sources/importgl.h index 5a21617c..db83feb3 100644 --- a/Sources/importgl.h +++ b/Sources/importgl.h @@ -6,7 +6,7 @@ extern "C" { #endif -#if defined(__PLATFORM__X11) +#if defined(__PLATFORM__Linux) #include #include #elif defined(__PLATFORM__DoubleBuffer)