[DEV] add objective-C file compiling
This commit is contained in:
parent
7674fedbe9
commit
0a3b7ca530
50
core/defs.mk
50
core/defs.mk
@ -541,6 +541,48 @@ $(Q)$(CCACHE) $(TARGET_CXX) \
|
||||
$(call path-from-top,$<)
|
||||
endef
|
||||
|
||||
###############################################################################
|
||||
## Commands for running gcc to compile a m++ file.
|
||||
###############################################################################
|
||||
|
||||
define transform-mm-to-o
|
||||
@mkdir -p $(dir $@)
|
||||
@echo "$(DISPLAY_ARM_MODE)m++: $(PRIVATE_MODULE) <== $(call path-from-top,$<)"
|
||||
$(call check-pwd-is-top-dir)
|
||||
$(Q)$(CCACHE) $(TARGET_CXX) \
|
||||
-o $@ \
|
||||
$(TARGET_GLOBAL_C_INCLUDES) \
|
||||
$(PRIVATE_C_INCLUDES) \
|
||||
$(TARGET_GLOBAL_CFLAGS_$(PRIVATE_ARM_MODE)) \
|
||||
$(TARGET_GLOBAL_CFLAGS) $(TARGET_GLOBAL_CPPFLAGS) $(CXX_FLAGS_WARNINGS) \
|
||||
$(PRIVATE_CFLAGS) $(PRIVATE_CPPFLAGS) \
|
||||
-D__EWOL_APPL_NAME__="$(PROJECT_NAME2)" \
|
||||
-c -MMD -MP -g \
|
||||
-fgnu-runtime \
|
||||
$(call path-from-top,$<)
|
||||
endef
|
||||
|
||||
###############################################################################
|
||||
## Commands for running gcc to compile a m file.
|
||||
###############################################################################
|
||||
|
||||
define transform-m-to-o
|
||||
@mkdir -p $(dir $@)
|
||||
@echo "$(DISPLAY_ARM_MODE)m++: $(PRIVATE_MODULE) <== $(call path-from-top,$<)"
|
||||
$(call check-pwd-is-top-dir)
|
||||
$(Q)$(CCACHE) $(TARGET_CC) \
|
||||
-o $@ \
|
||||
$(TARGET_GLOBAL_C_INCLUDES) \
|
||||
$(PRIVATE_C_INCLUDES) \
|
||||
$(TARGET_GLOBAL_CFLAGS_$(PRIVATE_ARM_MODE)) \
|
||||
$(TARGET_GLOBAL_CFLAGS) $(TARGET_GLOBAL_CPPFLAGS) $(CXX_FLAGS_WARNINGS) \
|
||||
$(PRIVATE_CFLAGS) $(PRIVATE_CPPFLAGS) \
|
||||
-D__EWOL_APPL_NAME__="$(PROJECT_NAME2)" \
|
||||
-c -MMD -MP -g \
|
||||
-fgnu-runtime \
|
||||
$(call path-from-top,$<)
|
||||
endef
|
||||
|
||||
###############################################################################
|
||||
## Commands for running gcc to compile a C++ file.
|
||||
###############################################################################
|
||||
@ -667,15 +709,9 @@ $(call check-pwd-is-top-dir)
|
||||
$(Q)$(TARGET_CXX) \
|
||||
-o $@ \
|
||||
$(TARGET_GLOBAL_LDFLAGS) \
|
||||
-Wl,-Map -Wl,$(basename $@).map \
|
||||
-Wl,-rpath-link=$(TARGET_OUT_STAGING)/lib \
|
||||
-Wl,-rpath-link=$(TARGET_OUT_STAGING)/usr/lib \
|
||||
-Wl,-map -Wl,$(basename $@).map \
|
||||
$(PRIVATE_LDFLAGS) \
|
||||
$(PRIVATE_ALL_OBJECTS) \
|
||||
-Wl,--whole-archive \
|
||||
$(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES) \
|
||||
-Wl,--no-whole-archive \
|
||||
-Wl,--as-needed \
|
||||
$(PRIVATE_ALL_STATIC_LIBRARIES) \
|
||||
$(PRIVATE_ALL_SHARED_LIBRARIES) \
|
||||
$(PRIVATE_LDLIBS) \
|
||||
|
@ -57,6 +57,12 @@ endif
|
||||
## List of sources, objects and libraries.
|
||||
###############################################################################
|
||||
|
||||
mm_sources := $(filter %.mm,$(LOCAL_SRC_FILES))
|
||||
mm_objects := $(addprefix $(build_dir)/,$(mm_sources:.mm=.o))
|
||||
|
||||
m_sources := $(filter %.m,$(LOCAL_SRC_FILES))
|
||||
m_objects := $(addprefix $(build_dir)/,$(m_sources:.m=.o))
|
||||
|
||||
cpp_sources := $(filter %.cpp,$(LOCAL_SRC_FILES))
|
||||
cpp_objects := $(addprefix $(build_dir)/,$(cpp_sources:.cpp=.o))
|
||||
|
||||
@ -73,6 +79,8 @@ S_sources := $(filter %.S,$(LOCAL_SRC_FILES))
|
||||
S_objects := $(addprefix $(build_dir)/,$(S_sources:.S=.o))
|
||||
|
||||
all_objects := \
|
||||
$(mm_objects) \
|
||||
$(m_objects) \
|
||||
$(cpp_objects) \
|
||||
$(cxx_objects) \
|
||||
$(c_objects) \
|
||||
@ -173,6 +181,20 @@ LOCAL_CFLAGS += $(foreach __mod,$(all_depends), \
|
||||
## Actual rules.
|
||||
###############################################################################
|
||||
|
||||
# mm files
|
||||
ifneq ("$(strip $(mm_objects))","")
|
||||
$(mm_objects): $(build_dir)/%.o: $(LOCAL_PATH)/%.mm
|
||||
$(transform-mm-to-o)
|
||||
-include $(mm_objects:%.o=%.d)
|
||||
endif
|
||||
|
||||
# m files
|
||||
ifneq ("$(strip $(m_objects))","")
|
||||
$(m_objects): $(build_dir)/%.o: $(LOCAL_PATH)/%.m
|
||||
$(transform-m-to-o)
|
||||
-include $(m_objects:%.o=%.d)
|
||||
endif
|
||||
|
||||
# cpp files
|
||||
ifneq ("$(strip $(cpp_objects))","")
|
||||
$(cpp_objects): $(build_dir)/%.o: $(LOCAL_PATH)/%.cpp
|
||||
|
Loading…
x
Reference in New Issue
Block a user