some normalisation of file namingg and header file
This commit is contained in:
parent
5db14dcf47
commit
762a9ebe4c
@ -2,7 +2,6 @@
|
||||
|
||||
PROJECT_PACKAGE=$(PROJECT_NAME)package
|
||||
|
||||
USER_PACKAGES += $(EWOL_FOLDER)/Sources/
|
||||
TARGET_OS = Android
|
||||
TARGET_ARCH = ARM
|
||||
TARGET_CROSS = $(PROJECT_NDK)/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-
|
||||
@ -22,40 +21,52 @@ TARGET_GLOBAL_LDLIBS_SHARED = --sysroot=$(PROJECT_NDK)/platforms/android-$(ANDRO
|
||||
#generic makefile
|
||||
include $(EWOL_FOLDER)/Build/core/main.mk
|
||||
|
||||
ANDROID_BASIC_FOLDER=./out/$(TARGET_OS)/$(BUILD_DIRECTORY_MODE)/ant/
|
||||
JAVA_FOLDER=$(ANDROID_BASIC_FOLDER)src/com/$(PROJECT_VENDOR)/$(PROJECT_NAME)
|
||||
EWOL_JAVA_FOLDER=$(ANDROID_BASIC_FOLDER)src/org/ewol
|
||||
|
||||
java :
|
||||
@mkdir -p $(JAVA_FOLDER)/
|
||||
@mkdir -p $(EWOL_JAVA_FOLDER)/
|
||||
|
||||
FINAL_FOLDER_ANT=$(TARGET_OUT_FINAL)/ant
|
||||
FINAL_FOLDER_JAVA_PROJECT=$(FINAL_FOLDER_ANT)/src/com/$(PROJECT_VENDOR)/$(PROJECT_NAME)
|
||||
FINAL_FOLDER_JAVA_EWOL=$(FINAL_FOLDER_ANT)/src/org/ewol
|
||||
|
||||
FINAL_FILE_ABSTRACTION = $(FINAL_FOLDER_JAVA_PROJECT)/$(PROJECT_NAME).java
|
||||
|
||||
final : all
|
||||
@mkdir -p $(FINAL_FOLDER_JAVA_PROJECT)/
|
||||
@mkdir -p $(FINAL_FOLDER_JAVA_EWOL)/
|
||||
|
||||
@cp $(EWOL_FOLDER)/Java/PROJECT_NAME.java $(JAVA_FOLDER)/$(PROJECT_NAME).java
|
||||
@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
|
||||
@cp $(EWOL_FOLDER)/Java/PROJECT_NAME.java $(FINAL_FILE_ABSTRACTION)
|
||||
@sed -i "s|__PROJECT_VENDOR__|$(PROJECT_VENDOR)|" $(FINAL_FILE_ABSTRACTION)
|
||||
@sed -i "s|__PROJECT_NAME__|$(PROJECT_NAME)|" $(FINAL_FILE_ABSTRACTION)
|
||||
@sed -i "s|__PROJECT_PACKAGE__|$(PROJECT_PACKAGE)|" $(FINAL_FILE_ABSTRACTION)
|
||||
@# copy the Ewol java files :
|
||||
@cp $(EWOL_FOLDER)/Java/interfaceJNI.java $(EWOL_JAVA_FOLDER)/
|
||||
@cp $(EWOL_FOLDER)/Java/interfaceOpenGL.java $(EWOL_JAVA_FOLDER)/
|
||||
@cp $(EWOL_FOLDER)/Java/interfaceSurfaceView.java $(EWOL_JAVA_FOLDER)/
|
||||
@cp $(EWOL_FOLDER)/Java/interfaceAudio.java $(EWOL_JAVA_FOLDER)/
|
||||
@cp $(EWOL_FOLDER)/Java/interfaceJNI.java $(FINAL_FOLDER_JAVA_EWOL)/
|
||||
@cp $(EWOL_FOLDER)/Java/interfaceOpenGL.java $(FINAL_FOLDER_JAVA_EWOL)/
|
||||
@cp $(EWOL_FOLDER)/Java/interfaceSurfaceView.java $(FINAL_FOLDER_JAVA_EWOL)/
|
||||
@cp $(EWOL_FOLDER)/Java/interfaceAudio.java $(FINAL_FOLDER_JAVA_EWOL)/
|
||||
|
||||
@# copy android specific data :
|
||||
@cp -r Android/* $(ANDROID_BASIC_FOLDER)/
|
||||
@cp -r os-Android/* $(FINAL_FOLDER_ANT)/
|
||||
@# copy user data
|
||||
@cp -r share $(ANDROID_BASIC_FOLDER)/assets
|
||||
@mkdir -p $(ANDROID_BASIC_FOLDER)libs/armeabi/
|
||||
@cp -r share $(FINAL_FOLDER_ANT)/assets
|
||||
@mkdir -p $(FINAL_FOLDER_ANT)/libs/armeabi/
|
||||
@# note : this change the lib name ...
|
||||
@cp ./out/$(TARGET_OS)/$(BUILD_DIRECTORY_MODE)/obj/usr/lib/$(PROJECT_PACKAGE).so $(ANDROID_BASIC_FOLDER)libs/armeabi/lib$(PROJECT_PACKAGE).so
|
||||
@cp $(TARGET_OUT_STAGING)/usr/lib/$(PROJECT_PACKAGE).so $(FINAL_FOLDER_ANT)/libs/armeabi/lib$(PROJECT_PACKAGE).so
|
||||
@echo " (ant) build java code"
|
||||
@cd $(ANDROID_BASIC_FOLDER) ; PATH=$(PROJECT_SDK)/tools/:$(PROJECT_SDK)/platform-tools/:$(PATH) ant -Dsdk.dir=$(PROJECT_SDK) $(BUILD_DIRECTORY_MODE)
|
||||
@cd $(FINAL_FOLDER_ANT) ; PATH=$(PROJECT_SDK)/tools/:$(PROJECT_SDK)/platform-tools/:$(PATH) ant -Dsdk.dir=$(PROJECT_SDK) $(BUILD_DIRECTORY_MODE)
|
||||
@# cp the release package in the final folder to facilitate the find
|
||||
@cp -f $(FINAL_FOLDER_ANT)/bin/$(PROJECT_NAME)-$(BUILD_DIRECTORY_MODE).apk $(TARGET_OUT_FINAL)/$(PROJECT_NAME)-$(BUILD_DIRECTORY_MODE).apk
|
||||
|
||||
|
||||
install:
|
||||
@echo "------------------------------------------------------------------------"
|
||||
@echo ' INSTALL : ./bin/$(PROJECT_NAME)-debug.apk'
|
||||
@echo "------------------------------------------------------------------------"
|
||||
install: final
|
||||
@echo ------------------------------------------------------------------------
|
||||
@echo Install : $(TARGET_OUT_FINAL)/$(PROJECT_NAME)-$(BUILD_DIRECTORY_MODE).apk
|
||||
@echo ------------------------------------------------------------------------
|
||||
@# $(PROJECT_SDK)/platform-tools/adb kill-server
|
||||
@# install application
|
||||
sudo $(PROJECT_SDK)/platform-tools/adb install -r $(ANDROID_BASIC_FOLDER)bin/$(PROJECT_NAME)-$(BUILD_DIRECTORY_MODE).apk
|
||||
sudo $(PROJECT_SDK)/platform-tools/adb install -r $(TARGET_OUT_FINAL)/$(PROJECT_NAME)-$(BUILD_DIRECTORY_MODE).apk
|
||||
|
||||
uninstall:
|
||||
@echo ------------------------------------------------------------------------
|
||||
@echo UnInstall : $(ANDROID_BASIC_FOLDER)bin/$(PROJECT_NAME)-$(BUILD_DIRECTORY_MODE).apk
|
||||
@echo ------------------------------------------------------------------------
|
||||
@echo ... TODO ...
|
||||
|
||||
|
@ -1,37 +1,65 @@
|
||||
|
||||
USER_PACKAGES += $(EWOL_FOLDER)/Sources/
|
||||
|
||||
# include generic makefile :
|
||||
include $(EWOL_FOLDER)/Build/core/main.mk
|
||||
|
||||
|
||||
FINAL_FOLDER_DEBIAN= $(TARGET_OUT_FINAL)/$(PROJECT_NAME)/DEBIAN
|
||||
FINAL_FOLDER_BIN= $(TARGET_OUT_FINAL)/$(PROJECT_NAME)/usr/bin
|
||||
FINAL_FOLDER_LIB= $(TARGET_OUT_FINAL)/$(PROJECT_NAME)/usr/lib
|
||||
FINAL_FOLDER_SHARED_DOC= $(TARGET_OUT_FINAL)/$(PROJECT_NAME)/share/doc
|
||||
FINAL_FOLDER_SHARED_DATA=$(TARGET_OUT_FINAL)/$(PROJECT_NAME)/share/$(PROJECT_NAME)
|
||||
|
||||
FINAL_FILE_CONTROL=$(FINAL_FOLDER_DEBIAN)/control
|
||||
FINAL_FILE_POST_RM=$(FINAL_FOLDER_DEBIAN)/postrm
|
||||
|
||||
FINAL_VERSION_TAG_SHORT=$(shell git describe --tags --abbrev=0)
|
||||
|
||||
# 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)
|
||||
final: all
|
||||
@echo ------------------------------------------------------------------------
|
||||
@echo Final
|
||||
@echo ------------------------------------------------------------------------
|
||||
@echo 'Create Folders ...'
|
||||
@mkdir -p $(FINAL_FOLDER_DEBIAN)
|
||||
@mkdir -p $(FINAL_FOLDER_BIN)
|
||||
@mkdir -p $(FINAL_FOLDER_SHARED_DOC)
|
||||
@mkdir -p $(FINAL_FOLDER_SHARED_DATA)
|
||||
# Create the control file
|
||||
@echo "Package: "$(PROJECT_NAME) > $(FINAL_FILE_CONTROL)
|
||||
@echo "Version: "$(FINAL_VERSION_TAG_SHORT) >> $(FINAL_FILE_CONTROL)
|
||||
@echo "Section: Development,Editors" >> $(FINAL_FILE_CONTROL)
|
||||
@echo "Priority: optional" >> $(FINAL_FILE_CONTROL)
|
||||
@echo "Architecture: all" >> $(FINAL_FILE_CONTROL)
|
||||
@echo "Depends: bash" >> $(FINAL_FILE_CONTROL)
|
||||
@echo "Maintainer: Mr DUPIN Edouard <yui.heero@gmail.com>" >> $(FINAL_FILE_CONTROL)
|
||||
@echo "Description: Text editor for sources code with ctags management" >> $(FINAL_FILE_CONTROL)
|
||||
@echo "" >> $(FINAL_FILE_CONTROL)
|
||||
# Create the PostRm
|
||||
@echo "#!/bin/bash" > $(FINAL_FILE_POST_RM)
|
||||
@echo "rm ~/."$(PROJECT_NAME) >> $(FINAL_FILE_POST_RM)
|
||||
@echo "" >> $(FINAL_FILE_POST_RM)
|
||||
# Enable Execution in script
|
||||
@chmod 755 $(FINAL_FILE_POST_RM)*
|
||||
@#chmod 755 $(PROJECT_NAME)/DEBIAN/pre*
|
||||
# copy licence and information :
|
||||
@cp -f os-Linux/README $(FINAL_FOLDER_SHARED_DOC)/README
|
||||
@cp -f licence.txt $(FINAL_FOLDER_SHARED_DOC)/copyright
|
||||
@cp -f changelog $(FINAL_FOLDER_SHARED_DOC)/changelog
|
||||
@cp -f $(TARGET_OUT_STAGING)/usr/bin/* $(FINAL_FOLDER_BIN)
|
||||
$(if $(wildcard $(TARGET_OUT_STAGING)/usr/lib/*.so), cp -f $(TARGET_OUT_STAGING)/usr/lib/*.so $(FINAL_FOLDER_LIB))
|
||||
$(if $(wildcard ./share/*), cp -rf share/* $(FINAL_FOLDER_SHARED_DATA))
|
||||
@echo pachage <== $(TARGET_OUT_FINAL)/$(PROJECT_NAME).deb
|
||||
@cd $(TARGET_OUT_FINAL)/; dpkg-deb --build $(PROJECT_NAME)
|
||||
|
||||
install: final
|
||||
@echo ------------------------------------------------------------------------
|
||||
@echo Install : $(TARGET_OUT_FINAL)/$(PROJECT_NAME).deb
|
||||
@echo ------------------------------------------------------------------------
|
||||
sudo dpkg -i $(TARGET_OUT_FINAL)/$(PROJECT_NAME).deb
|
||||
|
||||
uninstall:
|
||||
@echo ------------------------------------------------------------------------
|
||||
@echo UnInstall : $(TARGET_OUT_FINAL)/$(PROJECT_NAME).deb
|
||||
@echo ------------------------------------------------------------------------
|
||||
sudo dpkg -r $(TARGET_OUT_FINAL)/$(PROJECT_NAME).deb
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
|
||||
USER_PACKAGES += $(EWOL_FOLDER)/Sources/
|
||||
|
||||
# defien the target OS of this system
|
||||
TARGET_OS=Windows
|
||||
@ -7,3 +6,23 @@ TARGET_OS=Windows
|
||||
TARGET_CROSS=i586-mingw32msvc-
|
||||
|
||||
include $(EWOL_FOLDER)/Build/core/main.mk
|
||||
|
||||
|
||||
final: all
|
||||
@echo ------------------------------------------------------------------------
|
||||
@echo Final :
|
||||
@echo ------------------------------------------------------------------------
|
||||
@echo ... TODO ...
|
||||
|
||||
install: final
|
||||
@echo ------------------------------------------------------------------------
|
||||
@echo Install :
|
||||
@echo ------------------------------------------------------------------------
|
||||
@echo ... TODO ...
|
||||
|
||||
uninstall:
|
||||
@echo ------------------------------------------------------------------------
|
||||
@echo UnInstall :
|
||||
@echo ------------------------------------------------------------------------
|
||||
@echo ... TODO ...
|
||||
|
||||
|
@ -10,7 +10,7 @@ PLATFORM?=$(DEFAULT_PLATFORM)
|
||||
|
||||
PROJECT_PATH=$(shell pwd)
|
||||
|
||||
PROJECT_MODULE=$(PROJECT_PATH)/../
|
||||
PROJECT_MODULE=$(shell realpath $(PROJECT_PATH)/../)
|
||||
|
||||
ifeq ($(PLATFORM), Linux)
|
||||
PROJECT_NDK?=$(realpath $(PROJECT_MODULE)/ewol/)
|
||||
|
@ -1,9 +1,10 @@
|
||||
###############################################################################
|
||||
## @file executable.mk
|
||||
## @author Y.M. Morgan
|
||||
## @date 2011/05/14
|
||||
## @author Edouard DUPIN
|
||||
## @date 17-08-2012
|
||||
## @project EWOL
|
||||
##
|
||||
## Build an executable.
|
||||
## Register an executable (can be build).
|
||||
###############################################################################
|
||||
|
||||
LOCAL_MODULE_CLASS := EXECUTABLE
|
@ -1,7 +1,8 @@
|
||||
###############################################################################
|
||||
## @file prebuilt.mk
|
||||
## @author Y.M. Morgan
|
||||
## @date 2012/08/08
|
||||
## @author Edouard DUPIN
|
||||
## @date 17-08-2012
|
||||
## @project EWOL
|
||||
##
|
||||
## Register a prebuilt module.
|
||||
###############################################################################
|
@ -1,9 +1,10 @@
|
||||
###############################################################################
|
||||
## @file shared.mk
|
||||
## @author Y.M. Morgan
|
||||
## @date 2011/05/14
|
||||
## @author Edouard DUPIN
|
||||
## @date 17-08-2012
|
||||
## @project EWOL
|
||||
##
|
||||
## Build a shared library.
|
||||
## Register a shared library (can be build).
|
||||
###############################################################################
|
||||
|
||||
LOCAL_MODULE_CLASS := SHARED_LIBRARY
|
@ -1,9 +1,10 @@
|
||||
###############################################################################
|
||||
## @file static.mk
|
||||
## @author Y.M. Morgan
|
||||
## @date 2011/05/14
|
||||
## @author Edouard DUPIN
|
||||
## @date 17-08-2012
|
||||
## @project EWOL
|
||||
##
|
||||
## Build a static library.
|
||||
## Register a static library (can be build).
|
||||
###############################################################################
|
||||
|
||||
LOCAL_MODULE_CLASS := STATIC_LIBRARY
|
@ -1,7 +1,8 @@
|
||||
###############################################################################
|
||||
## @file clearvars.mk
|
||||
## @author Y.M. Morgan
|
||||
## @date 2011/05/14
|
||||
## @author Edouard DUPIN
|
||||
## @date 17-08-2012
|
||||
## @project EWOL
|
||||
##
|
||||
## Clear out values of all variables used by rule templates.
|
||||
###############################################################################
|
||||
|
@ -1,7 +1,8 @@
|
||||
###############################################################################
|
||||
## @file config.mk
|
||||
## @author Y.M. Morgan
|
||||
## @date 2012/07/09
|
||||
## @author Edouard DUPIN
|
||||
## @date 17-08-2012
|
||||
## @project EWOL
|
||||
##
|
||||
## Configuration management.
|
||||
###############################################################################
|
||||
|
@ -1,7 +1,8 @@
|
||||
###############################################################################
|
||||
## @file defs.mk
|
||||
## @author Y.M. Morgan
|
||||
## @date 2011/05/14
|
||||
## @author Edouard DUPIN
|
||||
## @date 17-08-2012
|
||||
## @project EWOL
|
||||
##
|
||||
## This file contains macros used by other makefiles.
|
||||
###############################################################################
|
||||
|
18
core/main.mk
18
core/main.mk
@ -1,7 +1,8 @@
|
||||
###############################################################################
|
||||
## @file main.mk
|
||||
## @author Y.M. Morgan
|
||||
## @date 2011/05/14
|
||||
## @author Edouard DUPIN
|
||||
## @date 17-08-2012
|
||||
## @project EWOL
|
||||
##
|
||||
## Main Makefile.
|
||||
###############################################################################
|
||||
@ -53,23 +54,22 @@ TOP_DIR := $(shell pwd)
|
||||
BUILD_SYSTEM := $(call my-dir)
|
||||
|
||||
# Setup configuration
|
||||
include $(BUILD_SYSTEM)/setup-host.mk
|
||||
include $(BUILD_SYSTEM)/setup-target.mk
|
||||
include $(BUILD_SYSTEM)/setup.mk
|
||||
|
||||
# Setup macros definitions
|
||||
include $(BUILD_SYSTEM)/defs.mk
|
||||
|
||||
# Setup warnings flags
|
||||
include $(BUILD_SYSTEM)/warnings.mk
|
||||
|
||||
# Load configuration
|
||||
include $(BUILD_SYSTEM)/config.mk
|
||||
|
||||
# Names of makefiles that can be included by user Makefiles
|
||||
CLEAR_VARS := $(BUILD_SYSTEM)/clearvars.mk
|
||||
BUILD_STATIC_LIBRARY := $(BUILD_SYSTEM)/static.mk
|
||||
BUILD_SHARED_LIBRARY := $(BUILD_SYSTEM)/shared.mk
|
||||
BUILD_EXECUTABLE := $(BUILD_SYSTEM)/executable.mk
|
||||
BUILD_PREBUILT := $(BUILD_SYSTEM)/prebuilt.mk
|
||||
BUILD_STATIC_LIBRARY := $(BUILD_SYSTEM)/build-static.mk
|
||||
BUILD_SHARED_LIBRARY := $(BUILD_SYSTEM)/build-shared.mk
|
||||
BUILD_EXECUTABLE := $(BUILD_SYSTEM)/build-executable.mk
|
||||
BUILD_PREBUILT := $(BUILD_SYSTEM)/build-prebuilt.mk
|
||||
BUILD_RULES := $(BUILD_SYSTEM)/rules.mk
|
||||
|
||||
###############################################################################
|
||||
|
@ -1,7 +1,8 @@
|
||||
###############################################################################
|
||||
## @file module.mk
|
||||
## @author Y.M. Morgan
|
||||
## @date 2012/04/17
|
||||
## @author Edouard DUPIN
|
||||
## @date 17-08-2012
|
||||
## @project EWOL
|
||||
##
|
||||
## Build a module.
|
||||
###############################################################################
|
||||
|
@ -1,7 +1,8 @@
|
||||
###############################################################################
|
||||
## @file binary-rules.mk
|
||||
## @author Y.M. Morgan
|
||||
## @date 2011/05/14
|
||||
## @file rules.mk
|
||||
## @author Edouard DUPIN
|
||||
## @date 17-08-2012
|
||||
## @project EWOL
|
||||
##
|
||||
## Generate rules for building an executable or library.
|
||||
###############################################################################
|
||||
|
53
core/setup-host.mk
Normal file
53
core/setup-host.mk
Normal file
@ -0,0 +1,53 @@
|
||||
###############################################################################
|
||||
## @file setup-host.mk
|
||||
## @author Edouard DUPIN
|
||||
## @date 17-08-2012
|
||||
## @project EWOL
|
||||
###############################################################################
|
||||
|
||||
# check if the user does not decide to force an other HOST_OS
|
||||
ifneq ("$(HOST_OS)","")
|
||||
$(error User must not define $(HOST_OS))
|
||||
endif
|
||||
|
||||
###############################################################################
|
||||
## Tools for host.
|
||||
###############################################################################
|
||||
|
||||
ifneq ("$(CLANG)","1")
|
||||
HOST_CC := gcc
|
||||
HOST_CXX := g++
|
||||
else
|
||||
HOST_CC := clang
|
||||
HOST_CXX := clang++
|
||||
endif
|
||||
HOST_AR := ar
|
||||
HOST_LD := ld
|
||||
HOST_NM := nm
|
||||
HOST_STRIP := strip
|
||||
HOST_RANLIB := ranlib
|
||||
HOST_DLLTOOL := dlltool
|
||||
|
||||
###############################################################################
|
||||
# Target global variables.
|
||||
###############################################################################
|
||||
HOST_GLOBAL_C_INCLUDES ?=
|
||||
HOST_GLOBAL_CFLAGS ?=
|
||||
HOST_GLOBAL_CPPFLAGS ?=
|
||||
HOST_GLOBAL_ARFLAGS ?= rcs
|
||||
HOST_GLOBAL_LDFLAGS ?=
|
||||
HOST_GLOBAL_LDFLAGS_SHARED ?=
|
||||
HOST_GLOBAL_LDLIBS ?=
|
||||
HOST_GLOBAL_LDLIBS_SHARED ?=
|
||||
|
||||
# Host OS
|
||||
ifneq ("$(shell echo $$OSTYPE | grep msys)","")
|
||||
HOST_OS := Windows
|
||||
HOST_EXE_SUFFIX := .exe
|
||||
HOST_SHARED_LIB_SUFFIX := .dll
|
||||
else
|
||||
HOST_OS := Linux
|
||||
HOST_EXE_SUFFIX :=
|
||||
HOST_SHARED_LIB_SUFFIX := .so
|
||||
endif
|
||||
|
150
core/setup-target.mk
Normal file
150
core/setup-target.mk
Normal file
@ -0,0 +1,150 @@
|
||||
###############################################################################
|
||||
## @file setup-target.mk
|
||||
## @author Edouard DUPIN
|
||||
## @date 17-08-2012
|
||||
## @project EWOL
|
||||
###############################################################################
|
||||
|
||||
|
||||
|
||||
|
||||
###############################################################################
|
||||
## Tools for target.
|
||||
###############################################################################
|
||||
|
||||
ifneq ("$(CLANG)","1")
|
||||
TARGET_CC := $(TARGET_CROSS)gcc
|
||||
TARGET_CXX := $(TARGET_CROSS)g++
|
||||
else
|
||||
TARGET_CC := $(TARGET_CROSS)clang
|
||||
TARGET_CXX := $(TARGET_CROSS)clang++
|
||||
endif
|
||||
TARGET_AR := $(TARGET_CROSS)ar
|
||||
TARGET_LD := $(TARGET_CROSS)ld
|
||||
TARGET_NM := $(TARGET_CROSS)nm
|
||||
TARGET_STRIP := $(TARGET_CROSS)strip
|
||||
TARGET_STRIP := $(TARGET_CROSS)strip
|
||||
TARGET_RANLIB := $(TARGET_CROSS)ranlib
|
||||
TARGET_DLLTOOL := $(TARGET_CROSS)dlltool
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Target global variables.
|
||||
###############################################################################
|
||||
TARGET_GLOBAL_C_INCLUDES ?=
|
||||
TARGET_GLOBAL_CFLAGS ?=
|
||||
TARGET_GLOBAL_CPPFLAGS ?=
|
||||
TARGET_GLOBAL_ARFLAGS ?= rcs
|
||||
TARGET_GLOBAL_LDFLAGS ?=
|
||||
TARGET_GLOBAL_LDFLAGS_SHARED ?=
|
||||
TARGET_GLOBAL_LDLIBS ?=
|
||||
TARGET_GLOBAL_LDLIBS_SHARED ?=
|
||||
TARGET_GLOBAL_CFLAGS_ARM ?=
|
||||
TARGET_GLOBAL_CFLAGS_THUMB ?=
|
||||
|
||||
TARGET_PCH_FLAGS ?=
|
||||
TARGET_DEFAULT_ARM_MODE ?= THUMB
|
||||
|
||||
# Target OS : default to HOST_OS unless set
|
||||
ifndef TARGET_OS
|
||||
TARGET_OS := $(HOST_OS)
|
||||
endif
|
||||
|
||||
# Exe/dll suffix under mingw
|
||||
TARGET_STATIC_LIB_SUFFIX := .a
|
||||
ifeq ("$(TARGET_OS)","Windows")
|
||||
TARGET_EXE_SUFFIX := .exe
|
||||
TARGET_SHARED_LIB_SUFFIX := .dll
|
||||
else
|
||||
TARGET_EXE_SUFFIX :=
|
||||
TARGET_SHARED_LIB_SUFFIX := .so
|
||||
endif
|
||||
|
||||
ifeq ("$(TARGET_OS)","Windows")
|
||||
# may be overridden in make command line
|
||||
STATIC := 1
|
||||
TARGET_GLOBAL_CFLAGS += -D__MINGW_FEATURES__=0
|
||||
TARGET_GLOBAL_LDFLAGS += -Wl,--enable-auto-import
|
||||
ifeq ("$(STATIC)","1")
|
||||
TARGET_GLOBAL_LDFLAGS += -Wl,-Bstatic
|
||||
endif
|
||||
# remove CLANG if defined
|
||||
ifeq ("$(CLANG)","1")
|
||||
$(error CLANG is not supported on $(TARGET_OS) platform ==> disable it)
|
||||
endif
|
||||
else ifeq ("$(TARGET_OS)","Android")
|
||||
TARGET_GLOBAL_CFLAGS += -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ \
|
||||
-fpic -ffunction-sections -funwind-tables -fstack-protector \
|
||||
-Wno-psabi -march=armv5te -mtune=xscale -msoft-float -fno-exceptions -mthumb \
|
||||
-fomit-frame-pointer -fno-strict-aliasing -finline-limit=64
|
||||
TARGET_GLOBAL_CPPFLAGS += -fno-rtti -Wa,--noexecstack
|
||||
TARGET_GLOBAL_LDFLAGS +=
|
||||
# remove CLANG if defined ==> TODO : Support it later ...
|
||||
ifeq ("$(CLANG)","1")
|
||||
$(error CLANG is not supported on $(TARGET_OS) platform ==> disable it)
|
||||
endif
|
||||
else ifeq ("$(TARGET_OS)","Linux")
|
||||
|
||||
else ifeq ("$(TARGET_OS)","MacOs")
|
||||
|
||||
else ifeq ("$(TARGET_OS)","IOs")
|
||||
|
||||
endif
|
||||
|
||||
|
||||
# define the target OS type for the compilation system ...
|
||||
TARGET_GLOBAL_CFLAGS += -D__TARGET_OS__$(TARGET_OS)
|
||||
# basic define of the build time :
|
||||
TARGET_GLOBAL_CFLAGS += -DBUILD_TIME="\"$(shell date)\"" \
|
||||
|
||||
ifeq ($(DEBUG),1)
|
||||
TARGET_GLOBAL_CFLAGS += -DDEBUG_LEVEL=3
|
||||
ifeq ("$(OPTIMISE)","1")
|
||||
TARGET_GLOBAL_CFLAGS += -O2
|
||||
endif
|
||||
else
|
||||
TARGET_GLOBAL_CFLAGS += -DDEBUG_LEVEL=1
|
||||
endif
|
||||
|
||||
|
||||
# Pre-compiled header generation flag
|
||||
ifneq ("$(CLANG)","1")
|
||||
TARGET_PCH_FLAGS := -c
|
||||
else
|
||||
TARGET_PCH_FLAGS := -x c++-header
|
||||
endif
|
||||
|
||||
|
||||
|
||||
TARGET_GLOBAL_LDFLAGS += -L$(TARGET_OUT_STAGING)/lib
|
||||
TARGET_GLOBAL_LDFLAGS += -L$(TARGET_OUT_STAGING)/usr/lib
|
||||
TARGET_GLOBAL_LDFLAGS_SHARED += -L$(TARGET_OUT_STAGING)/lib
|
||||
TARGET_GLOBAL_LDFLAGS_SHARED += -L$(TARGET_OUT_STAGING)/usr/lib
|
||||
|
||||
###############################################################################
|
||||
## Determine CC path and version. and check if installed ...
|
||||
###############################################################################
|
||||
|
||||
TARGET_CC_PATH := $(shell which $(CC))
|
||||
|
||||
ifeq ("$(TARGET_CC_PATH)","")
|
||||
ifeq ("$(TARGET_OS)","Windows")
|
||||
$(error Compilator does not exist : $(TARGET_CC) ==> if not installed ... "apt-get install mingw32")
|
||||
else ifeq ("$(TARGET_OS)","Android")
|
||||
$(error Compilator does not exist : $(TARGET_CC) ==> add and define the android NDK "http://developer.android.com/tools/sdk/ndk/index.html")
|
||||
else
|
||||
ifneq ("$(CLANG)","1")
|
||||
$(error Compilator does not exist : $(TARGET_CC) ==> if not installed ... "apt-get install gcc g++")
|
||||
else
|
||||
$(error Compilator does not exist : $(TARGET_CC) ==> if not installed ... "apt-get install clang")
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ("$(CLANG)","1")
|
||||
TARGET_CC_VERSION := $(shell $(TARGET_CC) --version | head -1 | sed "s/.*\([0-9]\.[0-9]\.[0-9]\).*/\1/")
|
||||
else
|
||||
TARGET_CC_VERSION := $(shell $(TARGET_CC) --version | head -1 | sed "s/.*\([0-9]\.[0-9]-[0-9]\).*/\1/")
|
||||
endif
|
||||
|
||||
|
170
core/setup.mk
170
core/setup.mk
@ -1,7 +1,8 @@
|
||||
###############################################################################
|
||||
## @file config.mk
|
||||
## @author Y.M. Morgan
|
||||
## @date 2011/05/14
|
||||
## @file setup.mk
|
||||
## @author Edouard DUPIN
|
||||
## @date 17-08-2012
|
||||
## @project EWOL
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
@ -13,139 +14,7 @@ ifneq ("$(words $(shell pwd))","1")
|
||||
$(error Top directory contains space characters)
|
||||
endif
|
||||
|
||||
###############################################################################
|
||||
## Tools for target.
|
||||
###############################################################################
|
||||
|
||||
ifneq ("$(CLANG)","1")
|
||||
TARGET_CC := $(TARGET_CROSS)gcc
|
||||
TARGET_CXX := $(TARGET_CROSS)g++
|
||||
else
|
||||
TARGET_CC := $(TARGET_CROSS)clang
|
||||
TARGET_CXX := $(TARGET_CROSS)clang++
|
||||
endif
|
||||
TARGET_AR := $(TARGET_CROSS)ar
|
||||
TARGET_LD := $(TARGET_CROSS)ld
|
||||
TARGET_NM := $(TARGET_CROSS)nm
|
||||
TARGET_STRIP := $(TARGET_CROSS)strip
|
||||
TARGET_STRIP := $(TARGET_CROSS)strip
|
||||
TARGET_RANLIB := $(TARGET_CROSS)ranlib
|
||||
TARGET_DLLTOOL := $(TARGET_CROSS)dlltool
|
||||
|
||||
###############################################################################
|
||||
## Tools for host.
|
||||
###############################################################################
|
||||
HOST_GCC ?= gcc
|
||||
HOST_GXX ?= g++
|
||||
HOST_AR ?= ar
|
||||
HOST_LD ?= ld
|
||||
HOST_NM ?= nm
|
||||
HOST_STRIP ?= strip
|
||||
|
||||
###############################################################################
|
||||
# Target global variables.
|
||||
###############################################################################
|
||||
TARGET_GLOBAL_C_INCLUDES ?=
|
||||
TARGET_GLOBAL_CFLAGS ?=
|
||||
TARGET_GLOBAL_CPPFLAGS ?=
|
||||
TARGET_GLOBAL_ARFLAGS ?= rcs
|
||||
TARGET_GLOBAL_LDFLAGS ?=
|
||||
TARGET_GLOBAL_LDFLAGS_SHARED ?=
|
||||
TARGET_GLOBAL_LDLIBS ?=
|
||||
TARGET_GLOBAL_LDLIBS_SHARED ?=
|
||||
TARGET_GLOBAL_CFLAGS_ARM ?=
|
||||
TARGET_GLOBAL_CFLAGS_THUMB ?=
|
||||
|
||||
TARGET_PCH_FLAGS ?=
|
||||
TARGET_DEFAULT_ARM_MODE ?= THUMB
|
||||
|
||||
###############################################################################
|
||||
## Host/Target OS.
|
||||
###############################################################################
|
||||
|
||||
# Host OS
|
||||
ifneq ("$(shell echo $$OSTYPE | grep msys)","")
|
||||
HOST_OS := Windows
|
||||
HOST_EXE_SUFFIX := .exe
|
||||
HOST_SHARED_LIB_SUFFIX := .dll
|
||||
else
|
||||
HOST_OS := Linux
|
||||
HOST_EXE_SUFFIX :=
|
||||
HOST_SHARED_LIB_SUFFIX := .so
|
||||
endif
|
||||
|
||||
# Target OS : default to HOST_OS unless set
|
||||
ifndef TARGET_OS
|
||||
TARGET_OS := $(HOST_OS)
|
||||
endif
|
||||
|
||||
# Exe/dll suffix under mingw
|
||||
TARGET_STATIC_LIB_SUFFIX := .a
|
||||
ifeq ("$(TARGET_OS)","Windows")
|
||||
TARGET_EXE_SUFFIX := .exe
|
||||
TARGET_SHARED_LIB_SUFFIX := .dll
|
||||
else
|
||||
TARGET_EXE_SUFFIX :=
|
||||
TARGET_SHARED_LIB_SUFFIX := .so
|
||||
endif
|
||||
|
||||
ifeq ("$(TARGET_OS)","Windows")
|
||||
# may be overridden in make command line
|
||||
STATIC := 1
|
||||
TARGET_GLOBAL_CFLAGS += -D__MINGW_FEATURES__=0
|
||||
TARGET_GLOBAL_LDFLAGS += -Wl,--enable-auto-import
|
||||
ifeq ("$(STATIC)","1")
|
||||
TARGET_GLOBAL_LDFLAGS += -Wl,-Bstatic
|
||||
endif
|
||||
# remove CLANG if defined
|
||||
ifeq ("$(CLANG)","1")
|
||||
$(error CLANG is not supported on $(TARGET_OS) platform ==> disable it)
|
||||
endif
|
||||
else ifeq ("$(TARGET_OS)","Android")
|
||||
TARGET_GLOBAL_CFLAGS += -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ \
|
||||
-fpic -ffunction-sections -funwind-tables -fstack-protector \
|
||||
-Wno-psabi -march=armv5te -mtune=xscale -msoft-float -fno-exceptions -mthumb \
|
||||
-fomit-frame-pointer -fno-strict-aliasing -finline-limit=64
|
||||
TARGET_GLOBAL_CPPFLAGS += -fno-rtti -Wa,--noexecstack
|
||||
TARGET_GLOBAL_LDFLAGS +=
|
||||
# remove CLANG if defined ==> TODO : Support it later ...
|
||||
ifeq ("$(CLANG)","1")
|
||||
$(error CLANG is not supported on $(TARGET_OS) platform ==> disable it)
|
||||
endif
|
||||
endif
|
||||
|
||||
# define the target OS type for the compilation system ...
|
||||
TARGET_GLOBAL_CFLAGS += -D__TARGET_OS__$(TARGET_OS)
|
||||
# basic define of the build time :
|
||||
TARGET_GLOBAL_CFLAGS += -DBUILD_TIME="\"$(shell date)\"" \
|
||||
|
||||
ifeq ($(DEBUG),1)
|
||||
TARGET_GLOBAL_CFLAGS += -DDEBUG_LEVEL=3
|
||||
ifeq ("$(OPTIMISE)","1")
|
||||
TARGET_GLOBAL_CFLAGS += -O2
|
||||
endif
|
||||
else
|
||||
TARGET_GLOBAL_CFLAGS += -DDEBUG_LEVEL=1
|
||||
endif
|
||||
|
||||
|
||||
# To be able to use ccache with pre-complied headers, some env variables are required
|
||||
CCACHE :=
|
||||
ifeq ("$(CCACHE)","1")
|
||||
ifneq ("$(shell which ccache)","")
|
||||
CCACHE := CCACHE_SLOPPINESS=time_macros ccache
|
||||
TARGET_GLOBAL_CFLAGS += -fpch-preprocess
|
||||
endif
|
||||
else
|
||||
CCACHE :=
|
||||
endif
|
||||
|
||||
# Pre-compiled header generation flag
|
||||
ifneq ("$(CLANG)","1")
|
||||
TARGET_PCH_FLAGS := -c
|
||||
else
|
||||
TARGET_PCH_FLAGS := -x c++-header
|
||||
endif
|
||||
|
||||
# Architecture
|
||||
#ifndef TARGET_ARCH
|
||||
@ -163,34 +32,3 @@ endif
|
||||
#else
|
||||
# TARGET_GLOBAL_CFLAGS += -m32
|
||||
#endif
|
||||
|
||||
TARGET_GLOBAL_LDFLAGS += -L$(TARGET_OUT_STAGING)/lib
|
||||
TARGET_GLOBAL_LDFLAGS += -L$(TARGET_OUT_STAGING)/usr/lib
|
||||
TARGET_GLOBAL_LDFLAGS_SHARED += -L$(TARGET_OUT_STAGING)/lib
|
||||
TARGET_GLOBAL_LDFLAGS_SHARED += -L$(TARGET_OUT_STAGING)/usr/lib
|
||||
|
||||
###############################################################################
|
||||
## Determine CC path and version. and check if installed ...
|
||||
###############################################################################
|
||||
|
||||
TARGET_CC_PATH := $(shell which $(CC))
|
||||
|
||||
ifeq ("$(TARGET_CC_PATH)","")
|
||||
ifeq ("$(TARGET_OS)","Windows")
|
||||
$(error Compilator does not exist : $(TARGET_CC) ==> if not installed ... "apt-get install mingw32")
|
||||
else ifeq ("$(TARGET_OS)","Android")
|
||||
$(error Compilator does not exist : $(TARGET_CC) ==> add and define the android NDK "http://developer.android.com/tools/sdk/ndk/index.html")
|
||||
else
|
||||
ifneq ("$(CLANG)","1")
|
||||
$(error Compilator does not exist : $(TARGET_CC) ==> if not installed ... "apt-get install gcc g++")
|
||||
else
|
||||
$(error Compilator does not exist : $(TARGET_CC) ==> if not installed ... "apt-get install clang")
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ("$(CLANG)","1")
|
||||
TARGET_CC_VERSION := $(shell $(TARGET_CC) --version | head -1 | sed "s/.*\([0-9]\.[0-9]\.[0-9]\).*/\1/")
|
||||
else
|
||||
TARGET_CC_VERSION := $(shell $(TARGET_CC) --version | head -1 | sed "s/.*\([0-9]\.[0-9]-[0-9]\).*/\1/")
|
||||
endif
|
||||
|
@ -1,7 +1,8 @@
|
||||
###############################################################################
|
||||
## @file warnings.mk
|
||||
## @author Y.M. Morgan
|
||||
## @date 2012/06/09
|
||||
## @author Edouard DUPIN
|
||||
## @date 17-08-2012
|
||||
## @project EWOL
|
||||
##
|
||||
## Setup warning flags.
|
||||
###############################################################################
|
||||
|
Loading…
x
Reference in New Issue
Block a user