blob: 21509609b80734aec3b640a3ea7f87150049dadc [file] [log] [blame]
The Android Open Source Project88b60792009-03-03 19:28:42 -08001# Configuration for Darwin (Mac OS X) on PPC.
2# Included by combo/select.make
3
4$(combo_target)GLOBAL_CFLAGS += -fPIC
5$(combo_target)NO_UNDEFINED_LDFLAGS := -Wl,-undefined,error
6
7$(combo_target)CC := $(CC)
8$(combo_target)CXX := $(CXX)
9$(combo_target)AR := $(AR)
10
11$(combo_target)SHLIB_SUFFIX := .dylib
12$(combo_target)JNILIB_SUFFIX := .jnilib
13
14$(combo_target)GLOBAL_CFLAGS += \
15 -include $(call select-android-config-h,darwin-x86)
16$(combo_target)RUN_RANLIB_AFTER_COPYING := true
17
18ifeq ($(combo_target),TARGET_)
19$(combo_target)CUSTOM_LD_COMMAND := true
20define transform-o-to-shared-lib-inner
21 $(TARGET_CXX) \
22 -dynamiclib -single_module -read_only_relocs suppress \
23 $(TARGET_GLOBAL_LD_DIRS) \
24 $(PRIVATE_ALL_OBJECTS) \
25 $(call normalize-target-libraries,$(PRIVATE_ALL_SHARED_LIBRARIES)) \
26 $(call normalize-target-libraries,$(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES)) \
27 $(call normalize-target-libraries,$(PRIVATE_ALL_STATIC_LIBRARIES)) \
28 $(PRIVATE_LDLIBS) \
29 -o $@ \
30 $(PRIVATE_LDFLAGS) \
31 $(if $(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES),-all_load) \
32 $(TARGET_LIBGCC)
33endef
34
35define transform-o-to-executable-inner
36 $(TARGET_CXX) \
37 -o $@ \
38 -Wl,-dynamic -headerpad_max_install_names \
39 $(TARGET_GLOBAL_LD_DIRS) \
40 $(call normalize-target-libraries,$(PRIVATE_ALL_SHARED_LIBRARIES)) \
41 $(PRIVATE_ALL_OBJECTS) \
42 $(PRIVATE_LDLIBS) \
43 $(call normalize-target-libraries,$(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES)) \
44 $(call normalize-target-libraries,$(PRIVATE_ALL_STATIC_LIBRARIES)) \
45 $(TARGET_LIBGCC)
46endef
47
48define transform-o-to-static-executable-inner
49 $(TARGET_CXX) \
50 -static \
51 -o $@ \
52 $(TARGET_GLOBAL_LD_DIRS) \
53 $(PRIVATE_LDFLAGS) \
54 $(PRIVATE_ALL_OBJECTS) \
55 $(PRIVATE_LDLIBS) \
56 $(call normalize-target-libraries,$(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES)) \
57 $(call normalize-target-libraries,$(PRIVATE_ALL_STATIC_LIBRARIES)) \
58 $(TARGET_LIBGCC)
59endef
60
61else
62$(combo_target)CUSTOM_LD_COMMAND := true
63
64define transform-host-o-to-shared-lib-inner
65 $(HOST_CXX) \
66 -dynamiclib -single_module -read_only_relocs suppress \
67 $(HOST_GLOBAL_LD_DIRS) \
68 $(PRIVATE_ALL_OBJECTS) \
69 $(call normalize-target-libraries,$(PRIVATE_ALL_SHARED_LIBRARIES)) \
70 $(call normalize-target-libraries,$(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES)) \
71 $(call normalize-target-libraries,$(PRIVATE_ALL_STATIC_LIBRARIES)) \
72 $(PRIVATE_LDLIBS) \
73 -o $@ \
74 $(PRIVATE_LDFLAGS) \
75 $(HOST_LIBGCC)
76endef
77
78define transform-host-o-to-executable-inner
79$(HOST_CXX) \
80 -o $@ \
81 -Wl,-dynamic -headerpad_max_install_names \
82 $(HOST_GLOBAL_LD_DIRS) \
83 $(call normalize-target-libraries,$(PRIVATE_ALL_SHARED_LIBRARIES)) \
84 $(PRIVATE_ALL_OBJECTS) \
85 $(PRIVATE_LDLIBS) \
86 $(call normalize-target-libraries,$(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES)) \
87 $(call normalize-target-libraries,$(PRIVATE_ALL_STATIC_LIBRARIES)) \
88 $(HOST_LIBGCC)
89endef
90
91# $(1): The file to check
92define get-file-size
93stat -f "%z" $(1)
94endef
95
96endif
97