Linux comilation is OK with the YM makefile system

This commit is contained in:
Edouard Dupin 2011-12-20 23:42:19 +01:00
parent 0296014be1
commit 5c27afd74e
14 changed files with 169 additions and 115 deletions

View File

@ -113,13 +113,13 @@ define transform-o-to-executable
@mkdir -p $(dir $@)
@echo "Executable: $(PRIVATE_MODULE) ($@)"
$(Q)$(GXX) \
$(TARGET_GLOBAL_LDFLAGS) \
-Wl,-Map -Wl,$(basename $@).map \
$(PRIVATE_LDFLAGS) \
$(PRIVATE_ALL_OBJECTS) \
-Wl,--no-whole-archive \
$(PRIVATE_ALL_STATIC_LIBRARIES) \
$(PRIVATE_ALL_SHARED_LIBRARIES) \
$(TARGET_GLOBAL_LDFLAGS) \
$(PRIVATE_LDFLAGS) \
-o $@ \
$(PRIVATE_LDLIBS)
endef
@ -172,39 +172,5 @@ endef
###############################################################################
## Commands for importing module files.
###############################################################################
define import-module
$(info subModule loading : submodule : $(PROJECT_MODULE)$1)
tmpname := $(shell find $(PROJECT_MODULE)$1 -name Linux.mk)
$(info list Makefile : $(tmpname))
endef
#makefiles += $(shell find $(PROJECT_MODULE)$1 -name Linux.mk)
#import-module = \
# $(eval __import_tag := $(strip $1))\
# $(if $(call seq,$(words $(__import_tag)),1),,\
# $(call __ndk_info,$(call local-makefile): Cannot import module with spaces in tag: '$(__import_tag)')\
# )\
# $(if $(call set_is_member,$(__ndk_import_list),$(__import_tag)),\
# $(call ndk_log,Skipping duplicate import for module with tag '$(__import_tag)')\
# ,\
# $(call ndk_log,Looking for imported module with tag '$(__import_tag)')\
# $(eval __imported_path := $(call import-find-module,$(__import_tag)))\
# $(if $(__imported_path),\
# $(call ndk_log, Found in $(__imported_path))\
# $(eval __ndk_import_depth := $(__ndk_import_depth)x) \
# $(eval __ndk_import_list := $(call set_insert,$(__ndk_import_list),$(__import_tag)))\
# $(eval include $(__imported_path)/Android.mk)\
# $(eval __ndk_import_depth := $(__ndk_import_depth:%x=%))\
# ,\
# $(call __ndk_info,$(call local-makefile): Cannot find module with tag '$(__import_tag)' in import path)\
# $(call __ndk_info,Are you sure your NDK_MODULE_PATH variable is properly defined ?)\
# $(call __ndk_info,The following directories were searched:)\
# $(for __import_dir,$(__ndk_import_dirs),\
# $(call __ndk_info, $(__import_dir))\
# )\
# $(call __ndk_error,Aborting.)\
# )\
# )
import-module = \
$(eval include $(shell find $(PROJECT_MODULE)$1 -name Linux.mk))

View File

@ -11,6 +11,6 @@ LOCAL_BUILDING_EXECUTABLE := 1
include $(RULES)
$(LOCAL_BUILT_MODULE): $(all_objects) $(all_libraries)
$(LOCAL_BUILT_MODULE): $(all_libraries) $(all_objects)
$(transform-o-to-executable)

View File

@ -38,7 +38,7 @@ endif
# Directories
TOP_DIR := .
#BUILD_SYSTEM := $(TOP_DIR)/Build/coreLinux
BUILD_SYSTEM := /home/edupin/progperso/ewol/Build/coreLinux/
BUILD_SYSTEM := $(PROJECT_NDK)/Build/coreLinux/
# This is the default target. It must be the first declared target.
all:
@ -62,13 +62,9 @@ TARGET_GLOBAL_LDFLAGS += -Wl,-rpath,\$$ORIGIN
###############################################################################
# Version
###############################################################################
#VERSION_FILE := $(TOP_DIR)/App/Res/Version.h
#VERSION_MAJOR := $(shell grep "VERSINFO_PRODUCT_VERSION_MAJOR" $(VERSION_FILE) | sed -e "s/.*\([0-9]\+\).*/\\1/")
#VERSION_MINOR := $(shell grep "VERSINFO_PRODUCT_VERSION_MINOR" $(VERSION_FILE) | sed -e "s/.*\([0-9]\+\).*/\\1/")
#VERSION_REVISION := $(shell grep "VERSINFO_PRODUCT_VERSION_REVISION" $(VERSION_FILE) | sed -e "s/.*\([0-9]\+\).*/\\1/")
VERSION_MAJOR := 1
VERSION_MINOR := 2
VERSION_REVISION := 3
VERSION_MAJOR := 111
VERSION_MINOR := 2222
VERSION_REVISION := 3453
VERSION := $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_REVISION)
###############################################################################
@ -96,37 +92,6 @@ GCC_FLAGS_WARNINGS :=
GXX_FLAGS_WARNINGS :=
COMMON_FLAGS_WARNINGS += -Wall
COMMON_FLAGS_WARNINGS += -Wno-unused -Wunused-value -Wunused-variable -Wunused-label
COMMON_FLAGS_WARNINGS += -Wextra
COMMON_FLAGS_WARNINGS += -Wshadow
COMMON_FLAGS_WARNINGS += -Wswitch-default
COMMON_FLAGS_WARNINGS += -Wwrite-strings
COMMON_FLAGS_WARNINGS += -Wundef
COMMON_FLAGS_WARNINGS += -Wpointer-arith
# C specific
GCC_FLAGS_WARNINGS += -Wmissing-declarations
GCC_FLAGS_WARNINGS += -Wmissing-prototypes
# Extra warnings
ifeq ("$(W)","1")
COMMON_FLAGS_WARNINGS += -Wconversion
COMMON_FLAGS_WARNINGS += -Wswitch-enum
COMMON_FLAGS_WARNINGS += -Wcast-qual
# gcc >= 4.4.0
ifneq (0,$(shell expr $(GCC_VERSION) \>= 4.4.0))
COMMON_FLAGS_WARNINGS += -Wframe-larger-than=1024
endif
# c++ specific
GXX_FLAGS_WARNINGS += -Wctor-dtor-privacy
GXX_FLAGS_WARNINGS += -Wnon-virtual-dtor
GXX_FLAGS_WARNINGS += -Wreorder
GXX_FLAGS_WARNINGS += -Woverloaded-virtual
endif
# Add common flags to specific flags
GCC_FLAGS_WARNINGS += $(COMMON_FLAGS_WARNINGS)
@ -139,6 +104,8 @@ GXX_FLAGS_WARNINGS += $(COMMON_FLAGS_WARNINGS)
makefiles += $(shell find $(TOP_DIR) -name Linux.mk)
include $(makefiles)
TARGET_GLOBAL_CPPFLAGS := $(addprefix -I, $(LIB_EXTERN_C_INCLUDE))
TARGET_GLOBAL_LDFLAGS := $(TARGET_GLOBAL_LDFLAGS) $(LIB_EXTERN_LDLIBS)
###############################################################################
# Main rules.
###############################################################################

View File

@ -119,28 +119,28 @@ endif
# cpp files
ifneq ("$(strip $(cpp_objects))","")
$(cpp_objects): $(intermediates)/%.o: $(TOP_DIR)/$(LOCAL_PATH)/%.cpp
$(cpp_objects): $(intermediates)/%.o: $(LOCAL_PATH)/%.cpp
$(transform-cpp-to-o)
-include $(cpp_objects:%.o=%.d)
endif
# cxx files
ifneq ("$(strip $(cxx_objects))","")
$(cxx_objects): $(intermediates)/%.o: $(TOP_DIR)/$(LOCAL_PATH)/%.cxx
$(cxx_objects): $(intermediates)/%.o: $(LOCAL_PATH)/%.cxx
$(transform-cpp-to-o)
-include $(cxx_objects:%.o=%.d)
endif
# c files
ifneq ("$(strip $(c_objects))","")
$(c_objects): $(intermediates)/%.o: $(TOP_DIR)/$(LOCAL_PATH)/%.c
$(c_objects): $(intermediates)/%.o: $(LOCAL_PATH)/%.c
$(transform-c-to-o)
-include $(c_objects:%.o=%.d)
endif
# rc files
ifneq ("$(strip $(rc_objects))","")
$(rc_objects): $(addprefix $(TOP_DIR)/$(LOCAL_PATH)/,$(LOCAL_RC_DEPS))
$(rc_objects): $(addprefix $(LOCAL_PATH)/,$(LOCAL_RC_DEPS))
$(rc_objects): $(intermediates)/%.rc.o: $(TOP_DIR)/$(LOCAL_PATH)/%.rc
$(transform-rc-to-o)
endif

View File

@ -11,6 +11,9 @@ LOCAL_BUILDING_STATIC_LIBRARY := 1
include $(RULES)
$(LOCAL_BUILT_MODULE): $(all_objects)
#$(info plopppppp=$(LOCAL_BUILT_MODULE)= $(all_libraries))
$(LOCAL_BUILT_MODULE): $(all_libraries) $(all_objects)
$(transform-o-to-static-lib)
LIB_EXTERN_C_INCLUDE := $(LIB_EXTERN_C_INCLUDE) $(LOCAL_EXPORT_C_INCLUDES)
LIB_EXTERN_LDLIBS := $(LIB_EXTERN_LDLIBS) $(LOCAL_EXPORT_LDLIBS)

View File

@ -5,10 +5,10 @@ include $(CLEAR_VARS)
LOCAL_MODULE := etk
LOCAL_STATIC_LIBRARIES :=
LOCAL_C_INCLUDES := $(LOCAL_PATH)/ $(LOCAL_PATH)/../libzip/ $(LOCAL_PATH)/../libpng/
LOCAL_C_INCLUDES := -I$(LOCAL_PATH)
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../Sources
LOCAL_EXPORT_LDLIBS := -lGLESv1_CM -ldl -llog -lz
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
LOCAL_EXPORT_LDLIBS :=
LOCAL_CFLAGS := -D__PLATFORM__Linux \
-Wno-write-strings \
@ -25,10 +25,7 @@ LOCAL_SRC_FILES := $(FILE_LIST)
#for freetype : https://github.com/cdave1/freetype2-android
# Ewol Test Software :
LOCAL_LDLIBS := -lGLESv1_CM -ldl -llog -lz
LOCAL_LDLIBS :=
include $(BUILD_STATIC_LIBRARY)
$(info ====> Sub-Module ETK ...)

View File

@ -69,8 +69,8 @@ void TOOLS_DisplayTime(void);
#define ETK_DBG_COMMON(libName, color, info, data) do { \
etk::cout << color; \
TOOLS_DisplayTime(); \
TOOLS_DisplayFuncName(__LINE__, __class__, __func__, libName); \
/*TOOLS_DisplayTime();*/ \
/*TOOLS_DisplayFuncName(__LINE__, __class__, __func__, libName);*/ \
etk::cout << "[" << info << "] " << data; \
etk::cout << ETK_BASH_COLOR_NORMAL <<etk::endl; \
}while(0)

View File

@ -296,9 +296,9 @@ void etk::File::SetCompleateName(etk::String &newFilename, etk::FileType_te type
TK_ERROR("File Does not existed ... in APK : \"" << tmpFilename << "\"");
}
#else
etk::String tmpFilename = destFilename;
destFilename = baseFolderData;
destFilename += tmpFilename;
//etk::String tmpFilename = destFilename;
//destFilename = baseFolderData;
//destFilename += tmpFilename;
#endif
}
break;
@ -486,7 +486,7 @@ int32_t etk::File::Size(void)
}
#endif
FILE *myFile=NULL;
etk::String myCompleateName = GetCompleateName();
etk::String myCompleateName = baseFolderData + GetCompleateName();
myFile=fopen(myCompleateName.c_str(),"rb");
if(NULL == myFile) {
//EWOL_ERROR("Can not find the file name=\"" << m_folder << "\" / \"" << m_shortFilename << "\"");
@ -519,7 +519,7 @@ bool etk::File::Exist(void)
}
#endif
FILE *myFile=NULL;
etk::String myCompleateName = GetCompleateName();
etk::String myCompleateName = baseFolderData + GetCompleateName();
myFile=fopen(myCompleateName.c_str(),"rb");
if(NULL == myFile) {
return false;
@ -550,7 +550,8 @@ bool etk::File::fOpenRead(void)
TK_CRITICAL("File Already open : \"" << GetCompleateName() << "\"");
return true;
}
m_PointerFile=fopen(GetCompleateName().c_str(),"rb");
etk::String myCompleateName = baseFolderData + GetCompleateName();
m_PointerFile=fopen(myCompleateName.c_str(),"rb");
if(NULL == m_PointerFile) {
TK_ERROR("Can not find the file name=\"" << GetCompleateName() << "\"");
return false;
@ -574,7 +575,8 @@ bool etk::File::fOpenWrite(void)
TK_CRITICAL("File Already open : \"" << GetCompleateName() << "\"");
return true;
}
m_PointerFile=fopen(GetCompleateName().c_str(),"wb");
etk::String myCompleateName = baseFolderData + GetCompleateName();
m_PointerFile=fopen(myCompleateName.c_str(),"wb");
if(NULL == m_PointerFile) {
TK_ERROR("Can not find the file name=\"" << GetCompleateName() << "\"");
return false;

View File

@ -25,7 +25,9 @@
#ifndef __TOOLS_MEMORY_H__
#define __TOOLS_MEMORY_H__
#ifndef ETK_MEMORY_CHECKER
#define ETK_MEMORY_CHECKER 0
#endif
// General
#if ETK_MEMORY_CHECKER > 0

View File

@ -3,34 +3,32 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := ewol
LOCAL_STATIC_LIBRARIES := libetk libtinyxml libzip libpng
LOCAL_STATIC_LIBRARIES := etk tinyxml libzip libpng
LOCAL_C_INCLUDES := $(LOCAL_PATH) $(LOCAL_PATH)/../libzip/ $(LOCAL_PATH)/../libpng/ $(LOCAL_PATH)/../libtinyxml/ $(LOCAL_PATH)/../libetk/
LOCAL_C_INCLUDES := -I$(LOCAL_PATH) -I$(LOCAL_PATH)/../libzip/ -I$(LOCAL_PATH)/../libpng/ -I$(LOCAL_PATH)/../libtinyxml/ -I$(LOCAL_PATH)/../libetk/
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../Sources
LOCAL_EXPORT_LDLIBS := -lGLESv1_CM -ldl -llog -lz
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
LOCAL_EXPORT_LDLIBS := -lGL -lGLU -lz -lX11 -lXxf86vm
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\""
-DVERSION_BUILD_TIME="\"pasd_heure\"" \
-DEWOL_X11_MODE__XF86V
# load the common sources file of the platform
include $(LOCAL_PATH)/file.mk
LOCAL_SRC_FILES := \
base/guiX11.cpp \
ewol/base/guiX11.cpp \
$(FILE_LIST)
#for freetype : https://github.com/cdave1/freetype2-android
# Ewol Test Software :
LOCAL_LDLIBS := -lGLESv1_CM -ldl -llog -lz
LOCAL_LDLIBS := -lGL -lGLU -lz -lX11 -lXxf86vm
include $(BUILD_STATIC_LIBRARY)
$(info ====> Sub-Module EWOL ...)

View File

@ -26,7 +26,7 @@
#include <ewol/Debug.h>
#include <etk/String.h>
#include <ewol/WidgetManager.h>
#include <base/gui.h>
#include <ewol/base/gui.h>
#include <ewol/Texture.h>

42
Sources/libpng/Linux.mk Normal file
View File

@ -0,0 +1,42 @@
# Copyright (C) 2009 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_CFLAGS :=
LOCAL_MODULE := libpng
LOCAL_SRC_FILES :=\
png.c \
pngerror.c \
pngget.c \
pngmem.c \
pngpread.c \
pngread.c \
pngrio.c \
pngrtran.c \
pngrutil.c \
pngset.c \
pngtrans.c \
pngwio.c \
pngwrite.c \
pngwtran.c \
pngwutil.c
LOCAL_LDLIBS := -lz
#include $(BUILD_SHARED_LIBRARY)
include $(BUILD_STATIC_LIBRARY)

View File

@ -5,10 +5,12 @@ include $(CLEAR_VARS)
LOCAL_MODULE := tinyxml
LOCAL_STATIC_LIBRARIES :=
LOCAL_C_INCLUDES := $(LOCAL_PATH)/
LOCAL_C_INCLUDES := -I$(LOCAL_PATH)/
LOCAL_CFLAGS :=
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
# load the common sources file of the platform
include $(LOCAL_PATH)/file.mk
@ -21,6 +23,3 @@ LOCAL_LDLIBS :=
include $(BUILD_STATIC_LIBRARY)
$(info ====> Sub-Module tinyXML ...)

78
Sources/libzip/Linux.mk Normal file
View File

@ -0,0 +1,78 @@
# Copyright (C) 2009 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libzip
LOCAL_SRC_FILES :=\
zip_add.c \
zip_add_dir.c \
zip_close.c \
zip_delete.c \
zip_dirent.c \
zip_entry_free.c \
zip_entry_new.c \
zip_err_str.c \
zip_error.c \
zip_error_clear.c \
zip_error_get.c \
zip_error_get_sys_type.c \
zip_error_strerror.c \
zip_error_to_str.c \
zip_fclose.c \
zip_file_error_clear.c \
zip_file_error_get.c \
zip_file_get_offset.c \
zip_file_strerror.c \
zip_filerange_crc.c \
zip_fopen.c \
zip_fopen_index.c \
zip_fread.c \
zip_free.c \
zip_get_archive_comment.c \
zip_get_archive_flag.c \
zip_get_file_comment.c \
zip_get_num_files.c \
zip_get_name.c \
zip_memdup.c \
zip_name_locate.c \
zip_new.c \
zip_open.c \
zip_rename.c \
zip_replace.c \
zip_set_archive_comment.c \
zip_set_archive_flag.c \
zip_set_file_comment.c \
zip_source_buffer.c \
zip_source_file.c \
zip_source_filep.c \
zip_source_free.c \
zip_source_function.c \
zip_source_zip.c \
zip_set_name.c \
zip_stat.c \
zip_stat_index.c \
zip_stat_init.c \
zip_strerror.c \
zip_unchange.c \
zip_unchange_all.c \
zip_unchange_archive.c \
zip_unchange_data.c
LOCAL_LDLIBS := -lz
#include $(BUILD_SHARED_LIBRARY)
include $(BUILD_STATIC_LIBRARY)