OSDN Git Service

Add rules to build musl-libc executables
[android-x86/external-musl-libc.git] / binary.mk
1 #
2 # Copyright (C) 2019 The Android-x86 Open Source Project
3 #
4 # Licensed under the standard MIT license.
5 # See the COPYRIGHT in the same directory.
6 #
7
8 LOCAL_CC := $(MUSL_GCC)
9 LOCAL_SHARED_LIBRARIES += libc-musl
10 LOCAL_VENDOR_MODULE := true
11
12 intermediates := $(call local-intermediates-dir)
13
14 LOCAL_PREBUILT_MODULE_FILE := $(intermediates)/$(LOCAL_MODULE)-musl
15 LOCAL_GENERATED_SOURCES := $(LOCAL_PREBUILT_MODULE_FILE)
16
17 c_normal_sources := $(filter-out ../%,$(filter %.c,$(LOCAL_SRC_FILES)))
18 c_normal_objects := $(addprefix $(intermediates)/,$(c_normal_sources:.c=.o))
19 $(c_normal_objects): PRIVATE_CC := $(MUSL_GCC)
20 $(c_normal_objects): PRIVATE_CFLAGS := $(LOCAL_CFLAGS)
21 $(c_normal_objects): $(intermediates)/%.o: $(LOCAL_PATH)/%.c | $(MUSL_GCC)
22         $(transform-c-to-o)
23
24 LOCAL_CPP_EXTENSION := $(if $(LOCAL_CPP_EXTENSION),$(LOCAL_CPP_EXTENSION),.cpp)
25 cpp_normal_sources := $(filter-out ../%,$(filter %$(LOCAL_CPP_EXTENSION),$(LOCAL_SRC_FILES)))
26 cpp_normal_objects := $(addprefix $(intermediates)/,$(cpp_normal_sources:$(LOCAL_CPP_EXTENSION)=.o))
27 $(cpp_normal_objects): PRIVATE_CXX := $(MUSL_GCC)
28 $(cpp_normal_objects): PRIVATE_CPPFLAGS := $(LOCAL_CPPFLAGS)
29 $(cpp_normal_objects): $(intermediates)/%.o: $(LOCAL_PATH)/%$(LOCAL_CPP_EXTENSION) | $(MUSL_GCC)
30         $(transform-cpp-to-o)
31
32 all_objects := $(c_normal_objects) $(cpp_normal_objects)