summaryrefslogtreecommitdiffstats
path: root/core/raw_executable.mk
diff options
context:
space:
mode:
Diffstat (limited to 'core/raw_executable.mk')
-rw-r--r--core/raw_executable.mk25
1 files changed, 25 insertions, 0 deletions
diff --git a/core/raw_executable.mk b/core/raw_executable.mk
new file mode 100644
index 0000000..9d1d0a3
--- /dev/null
+++ b/core/raw_executable.mk
@@ -0,0 +1,25 @@
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_MODULE_SUFFIX :=
+LOCAL_FORCE_STATIC_EXECUTABLE := true
+
+include $(BUILD_SYSTEM)/binary.mk
+
+$(LOCAL_BUILT_MODULE) : PRIVATE_ELF_FILE := $(intermediates)/$(PRIVATE_MODULE).elf
+$(LOCAL_BUILT_MODULE) : PRIVATE_LIBS := `$(TARGET_CC) -mthumb-interwork -print-libgcc-file-name`
+
+$(all_objects) : TARGET_PROJECT_INCLUDES :=
+$(all_objects) : TARGET_C_INCLUDES :=
+$(all_objects) : TARGET_GLOBAL_CFLAGS :=
+$(all_objects) : TARGET_GLOBAL_CPPFLAGS :=
+
+$(LOCAL_BUILT_MODULE): $(all_objects) $(all_libraries)
+ @$(mkdir -p $(dir $@)
+ @echo "target Linking: $(PRIVATE_MODULE)"
+ $(hide) $(TARGET_LD) \
+ --script $(PRIVATE_LINK_SCRIPT) \
+ -o $(PRIVATE_ELF_FILE) \
+ $(PRIVATE_ALL_OBJECTS) \
+ --start-group $(PRIVATE_ALL_STATIC_LIBRARIES) --end-group \
+ $(PRIVATE_LIBS)
+ $(hide) $(TARGET_OBJCOPY) -O binary $(PRIVATE_ELF_FILE) $@
+