external/busybox
Révision | 1a5125fd9b962e32254fea9002ebd133ac0ad79b (tree) |
---|---|
l'heure | 2017-09-08 20:18:15 |
Auteur | Chih-Wei Huang <cwhuang@linu...> |
Commiter | Chih-Wei Huang |
Android: change the generated path
Move all generated files to $(local-generated-sources-dir).
@@ -38,28 +38,6 @@ ifeq ($(HOST_OS),darwin) | ||
38 | 38 | BB_PREPARE_FLAGS := HOSTCC=$(BB_HOSTCC) |
39 | 39 | endif |
40 | 40 | |
41 | -# On aosp (master), path is relative, not on cm (kitkat) | |
42 | -bb_gen := $(abspath $(TARGET_OUT_INTERMEDIATES)/busybox) | |
43 | - | |
44 | -busybox_prepare_full := $(bb_gen)/full/.config | |
45 | -$(busybox_prepare_full): $(BB_PATH)/busybox-full.config | |
46 | - @echo -e ${CL_YLW}"Prepare config for busybox binary"${CL_RST} | |
47 | - @rm -rf $(bb_gen)/full | |
48 | - @rm -f $(shell find $(abspath $(call intermediates-dir-for,EXECUTABLES,busybox)) -name "*.o") | |
49 | - @mkdir -p $(@D) | |
50 | - @cat $^ > $@ && echo "CONFIG_CROSS_COMPILER_PREFIX=\"$(BUSYBOX_CROSS_COMPILER_PREFIX)\"" >> $@ | |
51 | - make -C $(BB_PATH) prepare O=$(@D) $(BB_PREPARE_FLAGS) | |
52 | - | |
53 | -busybox_prepare_minimal := $(bb_gen)/minimal/.config | |
54 | -$(busybox_prepare_minimal): $(BB_PATH)/busybox-minimal.config | |
55 | - @echo -e ${CL_YLW}"Prepare config for libbusybox"${CL_RST} | |
56 | - @rm -rf $(bb_gen)/minimal | |
57 | - @rm -f $(shell find $(abspath $(call intermediates-dir-for,STATIC_LIBRARIES,libbusybox)) -name "*.o") | |
58 | - @mkdir -p $(@D) | |
59 | - @cat $^ > $@ && echo "CONFIG_CROSS_COMPILER_PREFIX=\"$(BUSYBOX_CROSS_COMPILER_PREFIX)\"" >> $@ | |
60 | - make -C $(BB_PATH) prepare O=$(@D) $(BB_PREPARE_FLAGS) | |
61 | - | |
62 | - | |
63 | 41 | ##################################################################### |
64 | 42 | |
65 | 43 | KERNEL_MODULES_DIR ?= /system/lib/modules |
@@ -95,7 +73,6 @@ BUSYBOX_CFLAGS = \ | ||
95 | 73 | -DNDEBUG \ |
96 | 74 | -fno-strict-aliasing \ |
97 | 75 | -fno-builtin-stpcpy \ |
98 | - -include $(bb_gen)/$(BUSYBOX_CONFIG)/include/autoconf.h \ | |
99 | 76 | -D'CONFIG_DEFAULT_MODULES_DIR="$(KERNEL_MODULES_DIR)"' \ |
100 | 77 | -D'BB_VER="$(BB_VER) $(BUSYBOX_SUFFIX)"' -DBB_BT=AUTOCONF_TIMESTAMP |
101 | 78 |
@@ -116,7 +93,6 @@ endif | ||
116 | 93 | BUSYBOX_CONFIG:=minimal |
117 | 94 | BUSYBOX_SUFFIX:=static |
118 | 95 | LOCAL_SRC_FILES := $(BUSYBOX_SRC_FILES) |
119 | -LOCAL_C_INCLUDES := $(bb_gen)/minimal/include $(BUSYBOX_C_INCLUDES) | |
120 | 96 | LOCAL_CFLAGS := -Dmain=busybox_driver $(BUSYBOX_CFLAGS) |
121 | 97 | LOCAL_CFLAGS += \ |
122 | 98 | -DRECOVERY_VERSION \ |
@@ -129,8 +105,19 @@ LOCAL_CFLAGS += \ | ||
129 | 105 | LOCAL_ASFLAGS := $(BUSYBOX_AFLAGS) |
130 | 106 | LOCAL_MODULE := libbusybox |
131 | 107 | LOCAL_MODULE_TAGS := eng debug |
108 | +LOCAL_MODULE_CLASS := STATIC_LIBRARIES | |
132 | 109 | LOCAL_STATIC_LIBRARIES := libcutils libc libm libselinux |
133 | -LOCAL_ADDITIONAL_DEPENDENCIES := $(busybox_prepare_minimal) | |
110 | +busybox_autoconf_minimal_h := $(local-generated-sources-dir)/include/autoconf.h | |
111 | +LOCAL_CFLAGS := $(BUSYBOX_CFLAGS) -include $(busybox_autoconf_minimal_h) | |
112 | +LOCAL_C_INCLUDES := $(dir $(busybox_autoconf_minimal_h)) $(BUSYBOX_C_INCLUDES) | |
113 | +LOCAL_GENERATED_SOURCES := $(busybox_autoconf_minimal_h) | |
114 | +$(busybox_autoconf_minimal_h): $(BB_PATH)/busybox-minimal.config | |
115 | + @echo -e ${CL_YLW}"Prepare config for libbusybox"${CL_RST} | |
116 | + @rm -rf $(dir $($D)) $(local-intermediates-dir) | |
117 | + @mkdir -p $(@D) | |
118 | + $(hide) ( cat $^ && echo "CONFIG_CROSS_COMPILER_PREFIX=\"$(BUSYBOX_CROSS_COMPILER_PREFIX)\"" ) > $(dir $($D)).config | |
119 | + make -C $(BB_PATH) prepare O=$(abspath $(dir $(@D))) $(BB_PREPARE_FLAGS) | |
120 | + | |
134 | 121 | include $(BUILD_STATIC_LIBRARY) |
135 | 122 | |
136 | 123 |
@@ -141,15 +128,24 @@ include $(CLEAR_VARS) | ||
141 | 128 | BUSYBOX_CONFIG:=full |
142 | 129 | BUSYBOX_SUFFIX:=bionic |
143 | 130 | LOCAL_SRC_FILES := $(BUSYBOX_SRC_FILES) |
144 | -LOCAL_C_INCLUDES := $(bb_gen)/full/include $(BUSYBOX_C_INCLUDES) | |
145 | -LOCAL_CFLAGS := $(BUSYBOX_CFLAGS) | |
146 | 131 | LOCAL_ASFLAGS := $(BUSYBOX_AFLAGS) |
147 | 132 | LOCAL_MODULE := busybox |
148 | 133 | LOCAL_MODULE_TAGS := eng debug |
134 | +LOCAL_MODULE_CLASS := EXECUTABLES | |
149 | 135 | LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) |
150 | 136 | LOCAL_SHARED_LIBRARIES := libc libcutils libm |
151 | 137 | LOCAL_STATIC_LIBRARIES := libclearsilverregex libuclibcrpc libselinux |
152 | -LOCAL_ADDITIONAL_DEPENDENCIES := $(busybox_prepare_full) | |
138 | +busybox_autoconf_full_h := $(local-generated-sources-dir)/include/autoconf.h | |
139 | +LOCAL_CFLAGS := $(BUSYBOX_CFLAGS) -include $(busybox_autoconf_full_h) | |
140 | +LOCAL_C_INCLUDES := $(dir $(busybox_autoconf_full_h)) $(BUSYBOX_C_INCLUDES) | |
141 | +LOCAL_GENERATED_SOURCES := $(busybox_autoconf_full_h) | |
142 | +$(busybox_autoconf_full_h): $(BB_PATH)/busybox-full.config | |
143 | + @echo -e ${CL_YLW}"Prepare config for busybox binary"${CL_RST} | |
144 | + @rm -rf $(dir $($D)) $(local-intermediates-dir) | |
145 | + @mkdir -p $(@D) | |
146 | + $(hide) ( cat $^ && echo "CONFIG_CROSS_COMPILER_PREFIX=\"$(BUSYBOX_CROSS_COMPILER_PREFIX)\"" ) > $(dir $(@D)).config | |
147 | + make -C $(BB_PATH) prepare O=$(abspath $(dir $(@D))) $(BB_PREPARE_FLAGS) | |
148 | + | |
153 | 149 | include $(BUILD_EXECUTABLE) |
154 | 150 | |
155 | 151 | BUSYBOX_LINKS := $(shell cat $(BB_PATH)/busybox-$(BUSYBOX_CONFIG).links) |
@@ -178,8 +174,6 @@ include $(CLEAR_VARS) | ||
178 | 174 | BUSYBOX_CONFIG:=full |
179 | 175 | BUSYBOX_SUFFIX:=static |
180 | 176 | LOCAL_SRC_FILES := $(BUSYBOX_SRC_FILES) |
181 | -LOCAL_C_INCLUDES := $(bb_gen)/full/include $(BUSYBOX_C_INCLUDES) | |
182 | -LOCAL_CFLAGS := $(BUSYBOX_CFLAGS) | |
183 | 177 | LOCAL_CFLAGS += \ |
184 | 178 | -Dgetusershell=busybox_getusershell \ |
185 | 179 | -Dsetusershell=busybox_setusershell \ |
@@ -196,5 +190,7 @@ LOCAL_STATIC_LIBRARIES := libclearsilverregex libc libcutils libm libuclibcrpc l | ||
196 | 190 | LOCAL_MODULE_CLASS := UTILITY_EXECUTABLES |
197 | 191 | LOCAL_MODULE_PATH := $(PRODUCT_OUT)/utilities |
198 | 192 | LOCAL_UNSTRIPPED_PATH := $(PRODUCT_OUT)/symbols/utilities |
199 | -LOCAL_ADDITIONAL_DEPENDENCIES := $(busybox_prepare_full) | |
193 | +LOCAL_CFLAGS := $(BUSYBOX_CFLAGS) -include $(busybox_autoconf_full_h) | |
194 | +LOCAL_C_INCLUDES := $(dir $(busybox_autoconf_full_h)) $(BUSYBOX_C_INCLUDES) | |
195 | +LOCAL_GENERATED_SOURCES := $(busybox_autoconf_full_h) | |
200 | 196 | include $(BUILD_EXECUTABLE) |