Update the basic Makefile
This commit is contained in:
parent
011dd96f77
commit
979c103743
@ -1,61 +1,61 @@
|
||||
|
||||
|
||||
include $(EWOL_FOLDER)/Build/Makefile.common.mk
|
||||
|
||||
|
||||
PROJECT_PACKAGE=$(PROJECT_NAME)package
|
||||
JAVA_FOLDER=src/com/$(PROJECT_VENDOR)/$(PROJECT_NAME)
|
||||
|
||||
|
||||
all:
|
||||
@echo $(CADRE_HAUT_BAS)
|
||||
@echo $(CADRE_COTERS)
|
||||
@echo '
DEBUT DE COMPILATION DU PROGRAMME :'$(CADRE_COTERS)
|
||||
@echo '
Project name : $(F_BLUE)$(PROJECT_NAME)$(F_NORMALE)'$(CADRE_COTERS)
|
||||
@echo '
Project Vendor : $(F_CYAN)$(PROJECT_VENDOR)$(F_NORMALE)'$(CADRE_COTERS)
|
||||
@echo '
Build date : $(F_ROUGE)$(BUILD_TIME) $(F_NORMALE)'$(CADRE_COTERS)
|
||||
@echo '
Tag : $(F_VIOLET)$(PROJECT_VERSION_TAG) $(F_NORMALE)'$(CADRE_COTERS)
|
||||
@echo $(CADRE_COTERS)
|
||||
@echo $(CADRE_HAUT_BAS)
|
||||
@echo "------------------------------------------------------------------------"
|
||||
@echo ' Project name : $(PROJECT_NAME)'
|
||||
@echo ' Project Vendor : $(PROJECT_VENDOR)'
|
||||
@echo ' Build date : $(BUILD_TIME) '
|
||||
@echo ' Tag : $(PROJECT_VERSION_TAG) '
|
||||
@echo "------------------------------------------------------------------------"
|
||||
|
||||
@rm -rf bin
|
||||
|
||||
@echo $(F_ROUGE)"
(sh) Clear previous sources "$(F_NORMALE)
|
||||
@echo " (sh) Clear previous sources "
|
||||
@rm -rf src jni/ewolAndroidAbstraction.cpp
|
||||
@echo $(F_ROUGE)"
(sh) Create folder : $(JAVA_FOLDER)/ "$(F_NORMALE)
|
||||
@echo " (sh) Create folder : $(JAVA_FOLDER)/ "
|
||||
@mkdir -p $(JAVA_FOLDER)/
|
||||
|
||||
@echo $(F_ROUGE)"
(sh) copy the java File : "$(F_NORMALE)
|
||||
@echo " (sh) copy the java File : "
|
||||
@cp $(EWOL_FOLDER)/Java/PROJECT_NAME.java $(JAVA_FOLDER)/$(PROJECT_NAME).java
|
||||
@echo $(F_ROUGE)"
(sh) Replace __PROJECT_VENDOR__, __PROJECT_NAME__ and __PROJECT_PACKAGE__ with the correct intance "$(F_NORMALE)
|
||||
@echo " (sh) Replace __PROJECT_VENDOR__, __PROJECT_NAME__ and __PROJECT_PACKAGE__ with the correct intance "
|
||||
@sed -i "s|__PROJECT_VENDOR__|$(PROJECT_VENDOR)|" $(JAVA_FOLDER)/$(PROJECT_NAME).java
|
||||
@sed -i "s|__PROJECT_NAME__|$(PROJECT_NAME)|" $(JAVA_FOLDER)/$(PROJECT_NAME).java
|
||||
@sed -i "s|__PROJECT_PACKAGE__|$(PROJECT_PACKAGE)|" $(JAVA_FOLDER)/$(PROJECT_NAME).java
|
||||
|
||||
@echo $(F_ROUGE)"
(sh) copy the cpp for jni File : $(EWOL_FOLDER)/SourcesJava/ewolAndroidAbstraction.cpp"$(F_NORMALE)
|
||||
@echo " (sh) copy the cpp for jni File : $(EWOL_FOLDER)/SourcesJava/ewolAndroidAbstraction.cpp"
|
||||
@cp $(EWOL_FOLDER)/Java/ewolAndroidAbstraction.cpp jni/
|
||||
@echo $(F_ROUGE)"
(sh) Replace __PROJECT_VENDOR__, __PROJECT_NAME__ and __PROJECT_PACKAGE__ with the correct intance "$(F_NORMALE)
|
||||
@echo " (sh) Replace __PROJECT_VENDOR__, __PROJECT_NAME__ and __PROJECT_PACKAGE__ with the correct intance "
|
||||
@sed -i "s|__PROJECT_VENDOR__|$(PROJECT_VENDOR)|" jni/ewolAndroidAbstraction.cpp
|
||||
@sed -i "s|__PROJECT_NAME__|$(PROJECT_NAME)|" jni/ewolAndroidAbstraction.cpp
|
||||
@sed -i "s|__PROJECT_PACKAGE__|$(PROJECT_PACKAGE)|" jni/ewolAndroidAbstraction.cpp
|
||||
|
||||
@echo $(F_ROUGE)"
(ndk-build) build native code"$(F_NORMALE)
|
||||
@echo " (ndk-build) build native code"
|
||||
cd $(PROJECT_NDK) ; NDK_PROJECT_PATH=$(PROJECT_PATH) NDK_MODULE_PATH=$(PROJECT_MODULE) ./ndk-build
|
||||
@echo $(F_ROUGE)"
(ant) build java code"$(F_NORMALE)
|
||||
@echo " (ant) build java code"
|
||||
PATH=$(PROJECT_SDK)/tools/:$(PROJECT_SDK)/platform-tools/:$(PATH) ant -Dsdk.dir=$(PROJECT_SDK) debug
|
||||
@echo $(F_ROUGE)"
(sh) Clear previous sources "$(F_NORMALE)
|
||||
@echo " (sh) Clear previous sources "
|
||||
@rm -rf src jni/ewolAndroidAbstraction.cpp
|
||||
|
||||
install: all
|
||||
@echo $(CADRE_HAUT_BAS)
|
||||
@echo ' INSTALL : $(F_VIOLET)./bin/$(PROJECT_NAME)-debug.apk$(F_NORMALE)'$(CADRE_COTERS)
|
||||
@echo $(CADRE_HAUT_BAS)
|
||||
@echo "------------------------------------------------------------------------"
|
||||
@echo ' INSTALL : ./bin/$(PROJECT_NAME)-debug.apk'
|
||||
@echo "------------------------------------------------------------------------"
|
||||
@# $(PROJECT_SDK)/platform-tools/adb kill-server
|
||||
@# install application
|
||||
$(PROJECT_SDK)/platform-tools/adb install -r ./bin/$(PROJECT_NAME)-debug.apk
|
||||
|
||||
clean:
|
||||
@echo $(CADRE_HAUT_BAS)
|
||||
@echo ' CLEANING : bin libs gen obj'$(CADRE_COTERS)
|
||||
@echo $(CADRE_HAUT_BAS)
|
||||
@echo "------------------------------------------------------------------------"
|
||||
@echo ' CLEANING : bin libs gen obj'
|
||||
@echo "------------------------------------------------------------------------"
|
||||
cd $(PROJECT_NDK) ; NDK_PROJECT_PATH=$(PROJECT_PATH) NDK_MODULE_PATH=$(PROJECT_MODULE) ./ndk-build clean
|
||||
|
||||
localclean:
|
||||
@echo "------------------------------------------------------------------------"
|
||||
@echo ' Remove : bin libs gen obj'
|
||||
@echo "------------------------------------------------------------------------"
|
||||
rm -rf bin libs gen obj
|
||||
|
@ -1,39 +1,35 @@
|
||||
|
||||
|
||||
|
||||
include $(EWOL_FOLDER)/Build/coreLinux/main.mk
|
||||
|
||||
|
||||
|
||||
|
||||
#include $(EWOL_FOLDER)/Build/Makefile.common.mk
|
||||
|
||||
|
||||
|
||||
|
||||
#all:
|
||||
# @echo $(CADRE_HAUT_BAS)
|
||||
# @echo $(CADRE_COTERS)
|
||||
# @echo '
DEBUT DE COMPILATION DU PROGRAMME :'$(CADRE_COTERS)
|
||||
# @echo '
Project name : $(F_BLUE)$(PROJECT_NAME)$(F_NORMALE)'$(CADRE_COTERS)
|
||||
# @echo '
Project Vendor : $(F_CYAN)$(PROJECT_VENDOR)$(F_NORMALE)'$(CADRE_COTERS)
|
||||
# @echo '
Build date : $(F_ROUGE)$(BUILD_TIME) $(F_NORMALE)'$(CADRE_COTERS)
|
||||
# @echo '
Tag : $(F_VIOLET)$(PROJECT_VERSION_TAG) $(F_NORMALE)'$(CADRE_COTERS)
|
||||
# @echo $(CADRE_COTERS)
|
||||
# @echo $(CADRE_HAUT_BAS)
|
||||
#
|
||||
# @echo $(F_ROUGE)"
(ndk-build) build native code"$(F_NORMALE)
|
||||
# cd $(PROJECT_NDK) ; NDK_PROJECT_PATH=$(PROJECT_PATH) NDK_MODULE_PATH=$(PROJECT_MODULE) ./ndk-build
|
||||
# #cd $(PROJECT_NDK) ; NDK_PROJECT_PATH=$(PROJECT_PATH) NDK_MODULE_PATH=$(PROJECT_MODULE) NDK_LOG=~/.ndklog.txt make -f $(EWOL_FOLDER)/Build/coreLinux/build-local.mk
|
||||
|
||||
#install: all
|
||||
# @echo $(CADRE_HAUT_BAS)
|
||||
# @echo ' INSTALL : $(F_VIOLET)./bin/$(PROJECT_NAME)-debug.apk$(F_NORMALE)'$(CADRE_COTERS)
|
||||
# @echo $(CADRE_HAUT_BAS)
|
||||
# # TODO : Later ....
|
||||
|
||||
#clean:
|
||||
# @echo $(CADRE_HAUT_BAS)
|
||||
# @echo ' CLEANING : bin libs gen obj'$(CADRE_COTERS)
|
||||
# @echo $(CADRE_HAUT_BAS)
|
||||
# # TODO : Later ....
|
||||
# http://alp.developpez.com/tutoriels/debian/creer-paquet/
|
||||
#package: .encadrer
|
||||
# @echo 'Create Folders ...'
|
||||
# @mkdir -p package/$(PROJECT_NAME)/DEBIAN/
|
||||
# @mkdir -p package/$(PROJECT_NAME)/usr/bin/
|
||||
# @mkdir -p package/$(PROJECT_NAME)/usr/share/doc/
|
||||
# @mkdir -p package/$(PROJECT_NAME)/usr/share/edn/
|
||||
# # Create the control file
|
||||
# @echo "Package: "$(PROJECT_NAME) > package/$(PROJECT_NAME)/DEBIAN/control
|
||||
# @echo "Version: "$(VERSION_TAG_SHORT) >> package/$(PROJECT_NAME)/DEBIAN/control
|
||||
# @echo "Section: Development,Editors" >> package/$(PROJECT_NAME)/DEBIAN/control
|
||||
# @echo "Priority: optional" >>package/$(PROJECT_NAME)/DEBIAN/control
|
||||
# @echo "Architecture: all" >> package/$(PROJECT_NAME)/DEBIAN/control
|
||||
# @echo "Depends: bash" >> package/$(PROJECT_NAME)/DEBIAN/control
|
||||
# @echo "Maintainer: Mr DUPIN Edouard <yui.heero@gmail.com>" >> package/$(PROJECT_NAME)/DEBIAN/control
|
||||
# @echo "Description: Text editor for sources code with ctags management" >> package/$(PROJECT_NAME)/DEBIAN/control
|
||||
# @echo "" >> package/$(PROJECT_NAME)/DEBIAN/control
|
||||
# # Create the PostRm
|
||||
# @echo "#!/bin/bash" > package/$(PROJECT_NAME)/DEBIAN/postrm
|
||||
# @echo "rm ~/."$(PROJECT_NAME) >> package/$(PROJECT_NAME)/DEBIAN/postrm
|
||||
# @echo "" >> package/$(PROJECT_NAME)/DEBIAN/postrm
|
||||
# # Enable Execution in script
|
||||
# @chmod 755 package/$(PROJECT_NAME)/DEBIAN/post*
|
||||
# @#chmod 755 package/$(PROJECT_NAME)/DEBIAN/pre*
|
||||
# # copy licence and information :
|
||||
# @cp README package/$(PROJECT_NAME)/usr/share/doc/README
|
||||
# @cp licence.txt package/$(PROJECT_NAME)/usr/share/doc/copyright
|
||||
# @echo "First generation in progress" >> package/$(PROJECT_NAME)/usr/share/doc/changelog
|
||||
# @cp -vf $(PROJECT_NAME) package/$(PROJECT_NAME)/usr/bin/
|
||||
# @cp -vf data/*.xml package/$(PROJECT_NAME)/usr/share/edn/
|
||||
# @cd package; dpkg-deb --build $(PROJECT_NAME)
|
||||
|
@ -1,194 +0,0 @@
|
||||
|
||||
|
||||
|
||||
|
||||
include $(EWOL_FOLDER)/Build/Makefile.common.mk
|
||||
|
||||
#include $(EWOL_FOLDER)/Build/ewol.mk
|
||||
|
||||
###############################################################################
|
||||
### Compilateur base system ###
|
||||
###############################################################################
|
||||
CXX=g++
|
||||
CC=gcc
|
||||
AR=ar
|
||||
|
||||
|
||||
|
||||
X11FLAGS= -lGL -lGLU
|
||||
# some X11 mode availlable :
|
||||
# install package : libxxf86vm-dev
|
||||
X11FLAGS+= -lX11 -DEWOL_X11_MODE__XF86V -lXxf86vm
|
||||
# install package : libxrender-dev
|
||||
#X11FLAGS+= -lX11 -DEWOL_X11_MODE__XRENDER -lXrandr
|
||||
|
||||
|
||||
ifeq ($(shell if `pkg-config --exists freetype2` ; then echo "yes"; else echo "no"; fi), yes)
|
||||
FREETYPE_CFLAGS= `pkg-config --cflags freetype2` -DEWOL_USE_FREE_TYPE
|
||||
FREETYPE_LDFLAGS= `pkg-config --libs freetype2` -DEWOL_USE_FREE_TYPE
|
||||
else
|
||||
FREETYPE_CFLAGS=
|
||||
FREETYPE_LDFLAGS=
|
||||
$(Info libFreeType-dev is not installed)
|
||||
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) $(PROJECT_CXXFLAGS)
|
||||
|
||||
ifeq ("$(DEBUG)", "0")
|
||||
CXXFLAGS+= -O2
|
||||
else
|
||||
# Enable debug (cgdb ***)
|
||||
CXXFLAGS+= -g -O0
|
||||
endif
|
||||
# display all flags
|
||||
CXXFLAGS+= -Wall
|
||||
# ...
|
||||
CXXFLAGS+= -D_REENTRANT
|
||||
# internal defines
|
||||
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) $(PROJECT_LDFLAGS)
|
||||
|
||||
# Dynamic connection of the CALLBACK of the GUI
|
||||
LDFLAGS+= -Wl,--export-dynamic
|
||||
|
||||
# TODO : add the prefix ...
|
||||
CXXFILES = $(PROJECT_SOURCES)
|
||||
# create the list of module :
|
||||
LISTE_MODULES = $(sort $(dir $(CXXFILES)))
|
||||
|
||||
###############################################################################
|
||||
### Build Object Files List ###
|
||||
###############################################################################
|
||||
OBJ = $(addprefix $(OBJECT_DIRECTORY)/, $(CXXFILES:.cpp=.o))
|
||||
|
||||
|
||||
###############################################################################
|
||||
### Main Part of Makefile ###
|
||||
###############################################################################
|
||||
all: $(PROJECT_NAME)
|
||||
|
||||
-include $(OBJ:.o=.d)
|
||||
|
||||
.ewol:
|
||||
@cd $(EWOL_FOLDER) ; make -s PLATFORM=$(PLATFORM) DEBUG=$(DEBUG)
|
||||
|
||||
.ewol-clean:
|
||||
@cd $(EWOL_FOLDER) ; make -s PLATFORM=$(PLATFORM) clean
|
||||
|
||||
.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 PROJECT_FILE_DIRECTORY=$(PROJECT_FILE_DIRECTORY) ; OBJECT_DIRECTORY=$(OBJECT_DIRECTORY))
|
||||
|
||||
# build C++
|
||||
$(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
|
||||
$(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: .ewol-clean
|
||||
@echo $(CADRE_HAUT_BAS)
|
||||
@echo ' CLEANING : $(F_VIOLET)$(OUTPUT_NAME)$(F_NORMALE)'$(CADRE_COTERS)
|
||||
@echo $(CADRE_HAUT_BAS)
|
||||
@echo $(F_VERT)"
(rm) $(OBJECT_DIR)"$(F_NORMALE)
|
||||
@rm -rf $(OBJECT_DIR)
|
||||
@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 $(F_VERT)"
(rm) doxygen/*"$(F_NORMALE)
|
||||
@rm -rf doxygen
|
||||
@rm -f doxygen.log
|
||||
@echo $(F_VERT)"
(rm) *.bck"$(F_NORMALE)
|
||||
@rm -f `find . -name "*.bck"`
|
||||
|
||||
|
||||
count:
|
||||
wc -l Makefile `find $(FILE_DIRECTORY)/ -name "*.cpp"` `find $(PROJECT_FILE_DIRECTORY)/ -name "*.h"`
|
||||
|
||||
|
||||
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 " (copy) $(PROJECT_NAME) /usr/bin/ "
|
||||
@cp -vf $(PROJECT_NAME) /usr/bin/
|
||||
@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/
|
||||
package: .encadrer
|
||||
@echo 'Create Folders ...'
|
||||
@mkdir -p package/$(PROJECT_NAME)/DEBIAN/
|
||||
@mkdir -p package/$(PROJECT_NAME)/usr/bin/
|
||||
@mkdir -p package/$(PROJECT_NAME)/usr/share/doc/
|
||||
@mkdir -p package/$(PROJECT_NAME)/usr/share/edn/
|
||||
# Create the control file
|
||||
@echo "Package: "$(PROJECT_NAME) > package/$(PROJECT_NAME)/DEBIAN/control
|
||||
@echo "Version: "$(VERSION_TAG_SHORT) >> package/$(PROJECT_NAME)/DEBIAN/control
|
||||
@echo "Section: Development,Editors" >> package/$(PROJECT_NAME)/DEBIAN/control
|
||||
@echo "Priority: optional" >>package/$(PROJECT_NAME)/DEBIAN/control
|
||||
@echo "Architecture: all" >> package/$(PROJECT_NAME)/DEBIAN/control
|
||||
@echo "Depends: bash" >> package/$(PROJECT_NAME)/DEBIAN/control
|
||||
@echo "Maintainer: Mr DUPIN Edouard <yui.heero@gmail.com>" >> package/$(PROJECT_NAME)/DEBIAN/control
|
||||
@echo "Description: Text editor for sources code with ctags management" >> package/$(PROJECT_NAME)/DEBIAN/control
|
||||
@echo "" >> package/$(PROJECT_NAME)/DEBIAN/control
|
||||
# Create the PostRm
|
||||
@echo "#!/bin/bash" > package/$(PROJECT_NAME)/DEBIAN/postrm
|
||||
@echo "rm ~/."$(PROJECT_NAME) >> package/$(PROJECT_NAME)/DEBIAN/postrm
|
||||
@echo "" >> package/$(PROJECT_NAME)/DEBIAN/postrm
|
||||
# Enable Execution in script
|
||||
@chmod 755 package/$(PROJECT_NAME)/DEBIAN/post*
|
||||
@#chmod 755 package/$(PROJECT_NAME)/DEBIAN/pre*
|
||||
# copy licence and information :
|
||||
@cp README package/$(PROJECT_NAME)/usr/share/doc/README
|
||||
@cp licence.txt package/$(PROJECT_NAME)/usr/share/doc/copyright
|
||||
@echo "First generation in progress" >> package/$(PROJECT_NAME)/usr/share/doc/changelog
|
||||
@cp -vf $(PROJECT_NAME) package/$(PROJECT_NAME)/usr/bin/
|
||||
@cp -vf data/*.xml package/$(PROJECT_NAME)/usr/share/edn/
|
||||
@cd package; dpkg-deb --build $(PROJECT_NAME)
|
||||
|
||||
|
@ -1,56 +0,0 @@
|
||||
##################################################################################################################
|
||||
# #
|
||||
# Fichier : Makefile.common #
|
||||
# #
|
||||
# Type : common part of the ewol Makefile #
|
||||
# #
|
||||
# Auteur : Heero Yui #
|
||||
# #
|
||||
# Evolutions : Date Auteur Raison #
|
||||
# 2011-12-15 Heero Yui Mise en place du système de couleur et d'encart #
|
||||
# #
|
||||
##################################################################################################################
|
||||
export F_GRAS=[1m
|
||||
export F_INVERSER=[7m
|
||||
export F_SOUSLIGNER=[4m
|
||||
export F_NORMALE=[m
|
||||
export F_NOIR=[31m
|
||||
export F_ROUGE=[31m
|
||||
export F_VERT=[32m
|
||||
export F_MARRON=[33m
|
||||
export F_BLUE=[34m
|
||||
export F_VIOLET=[35m
|
||||
export F_CYAN=[36m
|
||||
export F_GRIS=[37m
|
||||
export CADRE_HAUT_BAS=' $(F_INVERSER) $(F_NORMALE)'
|
||||
export CADRE_COTERS='
$(F_INVERSER) $(F_NORMALE) $(F_INVERSER) $(F_NORMALE)'
|
||||
|
||||
###############################################################################
|
||||
### Platform specificity : ###
|
||||
###############################################################################
|
||||
SUPPORTED_PLATFORM=Linux IMac IPhone IPad Android AndroidTablet
|
||||
DEFAULT_PLATFORM=Linux
|
||||
|
||||
# default platform can be overridden
|
||||
PLATFORM?=$(DEFAULT_PLATFORM)
|
||||
|
||||
ifeq ($(PLATFORM), Linux)
|
||||
CXXFILES += base/guiX11.cpp
|
||||
else ifeq ($(PLATFORM), IMac)
|
||||
CXXFILES += base/guiIMac.cpp
|
||||
else ifeq ($(PLATFORM), IPhone)
|
||||
CXXFILES += base/guiIPhone.cpp
|
||||
else ifeq ($(PLATFORM), IPad)
|
||||
CXXFILES += base/guiIPad.cpp
|
||||
else ifeq ($(PLATFORM), Android)
|
||||
CXXFILES += base/guiAndroid.cpp
|
||||
else ifeq ($(PLATFORM), AndroidTablet)
|
||||
CXXFILES += base/guiAndroidTablet.cpp
|
||||
else
|
||||
$(error you must specify a corect platform : make PLATFORM=$(SUPPORTED_PLATFORM))
|
||||
endif
|
||||
|
||||
|
||||
BUILD_TIME=$(shell date)
|
||||
|
||||
|
33
Build/Makefile.mk
Normal file
33
Build/Makefile.mk
Normal file
@ -0,0 +1,33 @@
|
||||
|
||||
###############################################################################
|
||||
### Platform specificity : ###
|
||||
###############################################################################
|
||||
SUPPORTED_PLATFORM=Linux IMac IOs Android
|
||||
DEFAULT_PLATFORM=Linux
|
||||
|
||||
# default platform can be overridden
|
||||
PLATFORM?=$(DEFAULT_PLATFORM)
|
||||
|
||||
PROJECT_PATH=$(shell pwd)
|
||||
|
||||
PROJECT_MODULE=$(PROJECT_PATH)/../
|
||||
|
||||
ifeq ($(PLATFORM), Linux)
|
||||
PROJECT_NDK?=$(realpath $(PROJECT_MODULE)/ewol/)
|
||||
else ifeq ($(PLATFORM), IMac)
|
||||
|
||||
else ifeq ($(PLATFORM), IOs)
|
||||
|
||||
else ifeq ($(PLATFORM), Android)
|
||||
PROJECT_NDK?=$(realpath $(PROJECT_MODULE)/android/ndk/)
|
||||
PROJECT_SDK?=$(realpath $(PROJECT_MODULE)/android/sdk/)
|
||||
else
|
||||
$(error you must specify a corect platform : make PLATFORM=$(SUPPORTED_PLATFORM))
|
||||
endif
|
||||
|
||||
# get the compilation date and time :
|
||||
BUILD_TIME=$(shell date)
|
||||
|
||||
EWOL_FOLDER?=$(realpath $(PROJECT_MODULE)/ewol)
|
||||
|
||||
include $(EWOL_FOLDER)/Build/Makefile.$(PLATFORM).mk
|
@ -1,79 +0,0 @@
|
||||
|
||||
|
||||
EWOL_VERSION_TAG=$(shell cd $(EWOL_FOLDER); git describe --tags)
|
||||
#$(info $(VERSION_TAG))
|
||||
|
||||
EWOL_VERSION_TAG_SHORT=$(shell cd $(EWOL_FOLDER); git describe --tags --abbrev=0)
|
||||
#$(info $(VERSION_TAG_SHORT))
|
||||
|
||||
###############################################################################
|
||||
### Compilation Define ###
|
||||
###############################################################################
|
||||
ifeq ("$(DEBUG)", "0")
|
||||
EWOL_CXXFLAGS = -DETK_DEBUG_LEVEL=1
|
||||
EWOL_CXXFLAGS+= -DEWOL_DEBUG_LEVEL=1
|
||||
EWOL_CXXFLAGS+= -DNDEBUG
|
||||
EWOL_CXXFLAGS+= -DEWOL_VERSION_TAG_NAME="\"$(EWOL_VERSION_TAG)-release\""
|
||||
else
|
||||
EWOL_CXXFLAGS = -DETK_DEBUG_LEVEL=3
|
||||
EWOL_CXXFLAGS+= -DEWOL_DEBUG_LEVEL=3
|
||||
EWOL_CXXFLAGS+= -DEWOL_VERSION_TAG_NAME="\"$(EWOL_VERSION_TAG)-debug\""
|
||||
endif
|
||||
EWOL_CXXFLAGS+= -DVERSION_BUILD_TIME="\"$(BUILD_TIME)\""
|
||||
|
||||
|
||||
|
||||
# tiny XML (extern OPEN Sources) :
|
||||
EWOL_CXXFILES += tinyXML/tinyxml.cpp \
|
||||
tinyXML/tinyxmlparser.cpp \
|
||||
tinyXML/tinyxmlerror.cpp \
|
||||
tinyXML/tinystr.cpp
|
||||
|
||||
# Ewol Tool Kit :
|
||||
EWOL_CXXFILES += etk/Debug.cpp \
|
||||
etk/DebugInternal.cpp \
|
||||
etk/Memory.cpp \
|
||||
etk/String.cpp \
|
||||
etk/Stream.cpp \
|
||||
etk/File.cpp \
|
||||
etk/RegExp.cpp
|
||||
|
||||
# Ewol Sources :
|
||||
EWOL_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)", "")
|
||||
EWOL_CXXFILES += ewol/FontBitmap.cpp
|
||||
else
|
||||
EWOL_CXXFILES += ewol/FontFreeType.cpp
|
||||
endif
|
||||
EWOL_CXXFILES += ewol/Widget.cpp \
|
||||
ewol/WidgetManager.cpp \
|
||||
ewol/Windows.cpp
|
||||
# list of widgets :
|
||||
EWOL_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 ...
|
||||
EWOL_CXXFILES += ewol/widget/Test.cpp
|
||||
# theme management :
|
||||
EWOL_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
|
||||
|
@ -2,7 +2,15 @@ LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
# name of the librairy
|
||||
LOCAL_MODULE := ewol
|
||||
|
||||
# get the tag of the current project :
|
||||
LOCAL_VERSION_TAG=$(shell cd $(LOCAL_PATH) ; git describe --tags)
|
||||
LOCAL_VERSION_TAG_SHORT=$(shell cd $(LOCAL_PATH) ; git describe --tags --abbrev=0)
|
||||
$(info $(LOCAL_MODULE) version TAG : $(LOCAL_VERSION_TAG))
|
||||
|
||||
# name of the dependency
|
||||
LOCAL_STATIC_LIBRARIES := etk libfreetype tinyxml libzip libpng agg parsersvg
|
||||
|
||||
LOCAL_C_INCLUDES := -I$(LOCAL_PATH)
|
||||
@ -15,7 +23,7 @@ LOCAL_CFLAGS := -D__PLATFORM__Linux \
|
||||
-Wno-write-strings \
|
||||
-DETK_DEBUG_LEVEL=3 \
|
||||
-DEWOL_DEBUG_LEVEL=3 \
|
||||
-DEWOL_VERSION_TAG_NAME="\"UNKNOW-debug\"" \
|
||||
-DEWOL_VERSION_TAG_NAME="\"$(LOCAL_VERSION_TAG_SHORT)-debug\"" \
|
||||
-DVERSION_BUILD_TIME="\"pasd_heure\"" \
|
||||
-DEWOL_USE_FREE_TYPE \
|
||||
-Wall
|
||||
@ -25,7 +33,7 @@ LOCAL_CFLAGS := -D__PLATFORM__Linux \
|
||||
-Wno-write-strings \
|
||||
-DETK_DEBUG_LEVEL=1 \
|
||||
-DEWOL_DEBUG_LEVEL=1 \
|
||||
-DEWOL_VERSION_TAG_NAME="\"UNKNOW-debug\"" \
|
||||
-DEWOL_VERSION_TAG_NAME="\"$(LOCAL_VERSION_TAG_SHORT)-debug\"" \
|
||||
-DVERSION_BUILD_TIME="\"pasd_heure\"" \
|
||||
-DEWOL_USE_FREE_TYPE
|
||||
|
||||
|
@ -221,6 +221,10 @@ uint8_t * ewol::texture::TextureBMP::Data(void)
|
||||
{
|
||||
return m_dataGenerate;
|
||||
};
|
||||
uint8_t * ewol::texture::TextureBMP::RawData(void)
|
||||
{
|
||||
return m_data;
|
||||
};
|
||||
|
||||
uint32_t ewol::texture::TextureBMP::DataSize(void)
|
||||
{
|
||||
|
@ -83,6 +83,7 @@ namespace ewol
|
||||
int32_t Width(void);
|
||||
int32_t Height(void);
|
||||
uint8_t * Data(void);
|
||||
uint8_t * RawData(void);
|
||||
uint32_t DataSize(void);
|
||||
void Display(void);
|
||||
};
|
||||
|
@ -186,6 +186,11 @@ void EWOL_NativeRender(void)
|
||||
|
||||
|
||||
|
||||
void ewol::SetTitle(etk::UString title)
|
||||
{
|
||||
// can not set the title in Android ...
|
||||
}
|
||||
|
||||
|
||||
#undef __class__
|
||||
#define __class__ "guiAbstraction"
|
||||
|
@ -24,12 +24,14 @@
|
||||
|
||||
|
||||
#include <ewol/Debug.h>
|
||||
#include <ewol/ewol.h>
|
||||
#include <etk/UString.h>
|
||||
#include <etk/unicode.h>
|
||||
#include <ewol/WidgetManager.h>
|
||||
#include <ewol/base/gui.h>
|
||||
|
||||
#include <ewol/Texture.h>
|
||||
#include <ewol/Texture/TextureBMP.h>
|
||||
#include <ewol/base/MainThread.h>
|
||||
|
||||
#include <unistd.h>
|
||||
@ -134,9 +136,8 @@ bool CreateX11Context(void)
|
||||
XWMHints *StartupState;
|
||||
XTextProperty textprop;
|
||||
XSetWindowAttributes attr;
|
||||
static char *title = (char*)"APPLICATION Title ... (todo)";
|
||||
|
||||
EWOL_INFO("X11 Mode XF86 Video");
|
||||
// basic title of the windows ...
|
||||
static char *title = (char*)"Ewol";
|
||||
|
||||
// Connect to the X server
|
||||
m_display = XOpenDisplay(NULL);
|
||||
@ -246,6 +247,80 @@ bool CreateX11Context(void)
|
||||
return true;
|
||||
}
|
||||
|
||||
void ewol::SetTitle(etk::UString title)
|
||||
{
|
||||
XTextProperty tp;
|
||||
tp.value = (unsigned char *)title.Utf8Data();
|
||||
tp.encoding = XA_WM_NAME;
|
||||
tp.format = 8;
|
||||
tp.nitems = strlen((const char*)tp.value);
|
||||
XSetWMName(m_display, WindowHandle, &tp);
|
||||
XStoreName(m_display, WindowHandle, (const char*)tp.value);
|
||||
XSetIconName(m_display, WindowHandle, (const char*)tp.value);
|
||||
XSetWMIconName(m_display, WindowHandle, &tp);
|
||||
}
|
||||
|
||||
/* this variable will contain the ID of the newly created pixmap. */
|
||||
Pixmap icon_pixmap;
|
||||
|
||||
// TODO : I don't understand why it does not work ....
|
||||
void SetIcon(etk::File bitmapFile)
|
||||
{
|
||||
// load bitmap
|
||||
EWOL_INFO("try to set icon : " << bitmapFile);
|
||||
if (false == bitmapFile.Exist()) {
|
||||
EWOL_ERROR("X11 Icon File does not Exist ... " << bitmapFile);
|
||||
} else {
|
||||
etk::UString fileExtention = bitmapFile.GetExtention();
|
||||
if (fileExtention == "bmp") {
|
||||
// pointer to the WM hints structure.
|
||||
XWMHints* win_hints;
|
||||
|
||||
unsigned int bitmap_width, bitmap_height;
|
||||
int hotspot_x, hotspot_y;
|
||||
int rc = XReadBitmapFile(m_display, WindowHandle,
|
||||
"assets/iconEdn.xpm",
|
||||
&bitmap_width, &bitmap_height,
|
||||
&icon_pixmap,
|
||||
&hotspot_x, &hotspot_y);
|
||||
switch (rc) {
|
||||
case BitmapOpenFailed:
|
||||
EWOL_ERROR("XReadBitmapFile - could not open file ");
|
||||
return;
|
||||
case BitmapFileInvalid:
|
||||
EWOL_ERROR("XReadBitmapFile - file doesn't contain a valid bitmap.");
|
||||
return;
|
||||
case BitmapNoMemory:
|
||||
EWOL_ERROR("XReadBitmapFile - not enough memory.");
|
||||
return;
|
||||
case BitmapSuccess:
|
||||
/* bitmap loaded successfully - do something with it... */
|
||||
EWOL_INFO("XReadBitmapFile - bitmap loaded successfully.");
|
||||
break;
|
||||
}
|
||||
// allocate a WM hints structure.
|
||||
win_hints = XAllocWMHints();
|
||||
if (!win_hints) {
|
||||
EWOL_ERROR("XAllocWMHints - out of memory");
|
||||
return;
|
||||
}
|
||||
// initialize the structure appropriately. first, specify which size hints we want to fill in. in our case - setting the icon's pixmap.
|
||||
win_hints->flags = IconPixmapHint;
|
||||
// next, specify the desired hints data. in our case - supply the icon's desired pixmap.
|
||||
win_hints->icon_pixmap = icon_pixmap;
|
||||
// pass the hints to the window manager.
|
||||
XSetWMHints(m_display, WindowHandle, win_hints);
|
||||
EWOL_INFO(" ==> might be done ");
|
||||
// finally, we can free the WM hints structure.
|
||||
XFree(win_hints);
|
||||
|
||||
} else {
|
||||
EWOL_ERROR("X11 Icon Extention not managed " << bitmapFile << " Sopported extention : .bmp ");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void RemoveDecoration(void)
|
||||
{
|
||||
Hints hints;
|
||||
@ -731,7 +806,8 @@ etk::UString ewol::CmdLineGet(int32_t id)
|
||||
}
|
||||
return *listArgs[id];
|
||||
}
|
||||
|
||||
// might be declared by the application ....
|
||||
etk::File APP_Icon(void);
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
@ -747,6 +823,10 @@ int main(int argc, char *argv[])
|
||||
//start the basic thread :
|
||||
EWOL_SystemStart();
|
||||
usleep(500);
|
||||
// get the icon file :
|
||||
etk::File myIcon = APP_Icon();
|
||||
SetIcon(myIcon);
|
||||
|
||||
// Run ...
|
||||
X11_Run();
|
||||
// close X11 :
|
||||
|
@ -28,6 +28,7 @@
|
||||
|
||||
#include <etk/Types.h>
|
||||
#include <etk/UString.h>
|
||||
#include <etk/File.h>
|
||||
#include <ewol/Widget.h>
|
||||
#include <ewol/Windows.h>
|
||||
|
||||
@ -67,6 +68,8 @@ namespace ewol {
|
||||
// TODO : This is dangerous and might be deprecated ... Soon
|
||||
int32_t GetCurrentWidth(void);
|
||||
int32_t GetCurrentHeight(void);
|
||||
|
||||
void SetTitle(etk::UString title);
|
||||
};
|
||||
// get current time in ms...
|
||||
int64_t GetCurrentTime(void);
|
||||
|
@ -15,12 +15,10 @@ LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
|
||||
ifeq ($(DEBUG),1)
|
||||
LOCAL_CFLAGS := -D__PLATFORM__Linux \
|
||||
-DSVG_DEBUG_LEVEL=3 \
|
||||
-DPARSER_SVG_VERSION_TAG_NAME="\"???-debug\"" \
|
||||
-Wall
|
||||
else
|
||||
LOCAL_CFLAGS := -D__PLATFORM__Linux \
|
||||
-DSVG_DEBUG_LEVEL=1 \
|
||||
-DPARSER_SVG_VERSION_TAG_NAME="\"???-release\""
|
||||
-DSVG_DEBUG_LEVEL=1
|
||||
endif
|
||||
|
||||
# load the common sources file of the platform
|
||||
|
Loading…
x
Reference in New Issue
Block a user