aml_commonlib: Remove build result from source folder [1/2]
PD#SWPL-159633
Problem:
Remove build result from git folder to build result folder
Solution:
add output folder from bb to Makefile,
and set the make output files(.o, .so) to output folder
Verify:
local
Signed-off-by: guoping.li <guoping.li@amlogic.com>
Change-Id: Ic64b441009b8f728314e1f415d72ac66a78cb667
diff --git a/aml_deviceproperty/Makefile b/aml_deviceproperty/Makefile
index d095420..f759ef8 100644
--- a/aml_deviceproperty/Makefile
+++ b/aml_deviceproperty/Makefile
@@ -1,29 +1,32 @@
+OUT_DIR ?= .
#LIBLOG_SRC_DIR ?= .
CC ?= gcc
LD ?= ld
OBJC = aml_device_property.o
CFLAGS += -fPIC
-LDFLAGS +=
+LDFLAGS += -L $(OUT_DIR)/
LDLIBS = -L./ -lamldeviceproperty
TARGET=libamldeviceproperty.so
+$(info "OUT_DIR : $(OUT_DIR)")
+
# rules
all: $(TARGET)
$(TARGET): $(OBJC)
- $(CC) -shared -o $@ $^
+ $(CC) -shared $(patsubst %, $(OUT_DIR)/%, $^) -o $(OUT_DIR)/$@
test_property: test_property.o $(TARGET)
- $(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS)
+ $(CC) $(LDFLAGS) $(patsubst %, $(OUT_DIR)/%, $^) -o $(OUT_DIR)/$@ $(LDLIBS)
-$(OBJC):%.o:%.c
- $(CC) -c $(CFLAGS) $< -o $@
+%.o:%.c
+ $(CC) -c $(CFLAGS) $< -o $(OUT_DIR)/$@
.PHONY: clean
clean:
- rm -f $(OBJC) $(TARGET)
- rm -f test_property test_property.o
+ rm -f $(OUT_DIR)/*.o $(OUT_DIR)/$(TARGET)
+ rm -f $(OUT_DIR)/test_property
#install:
# install -m 755 $(TARGET) $(STAGING_DIR)/usr/lib
diff --git a/bootloader_message/Makefile b/bootloader_message/Makefile
index 4fe5a1a..458f86e 100644
--- a/bootloader_message/Makefile
+++ b/bootloader_message/Makefile
@@ -1,6 +1,7 @@
+OUT_DIR ?= .
+LDFLAGS += -L $(OUT_DIR)/
LIB = libbootloader_message.a
OBJS = bootloader_message.o bootloader_avb.o avb_crc32.o
-OUT_DIR ?= .
.PHONY: all install clean
%.o: %.c
diff --git a/libbinder/Makefile b/libbinder/Makefile
index 525e3e2..8d9d641 100644
--- a/libbinder/Makefile
+++ b/libbinder/Makefile
@@ -1,4 +1,5 @@
LOCAL_PATH := $(shell pwd)
+OUT_DIR ?= .
LOCAL_INCLUDES := -I. -Iinclude -I$(STAGING_DIR)/usr/include
LOCAL_LIBS := -L$(STAGING_DIR)/usr/lib -lpthread
@@ -8,6 +9,7 @@
CFLAGS += $(LOCAL_INCLUDES) $(LOCAL_DEFINES) $(CFLAGS_EXTRA)
LDFLAGS += $(LOCAL_LIBS)
+LDFLAGS += -L $(OUT_DIR)/
# binder src and obj
BINDER_CPP_SRCS := $(wildcard binder/*.cpp)
@@ -22,26 +24,33 @@
SVCMGR_SRCS := $(wildcard servicemgr/*.c)
SVCMGR_OBJS := $(patsubst %.c, %.o, $(SVCMGR_SRCS))
+
+$(info "OUT_DIR : $(OUT_DIR)")
+$(info "BINDER_OBJS : $(BINDER_OBJS)")
+$(info "SVCMGR_OBJS : $(SVCMGR_OBJS)")
+
LOCAL_TARGETS := libbinder.so servicemanager
+LOCAL_TARGETS_FULLPATH := $(patsubst %, $(OUT_DIR)/%, $(LOCAL_TARGETS))
+$(info LOCAL_TARGETS_FULLPATH = $(LOCAL_TARGETS_FULLPATH))
.PHONY: all clean install
# rules
all: $(LOCAL_TARGETS)
libbinder.so: $(BINDER_OBJS)
- $(CXX) -shared -O3 -g $(LDFLAGS) -o $@ $^
+ $(CXX) -shared -O3 -g $(LDFLAGS) $(patsubst %, $(OUT_DIR)/%, $^) -o $(OUT_DIR)/$@
servicemanager: $(SVCMGR_OBJS)
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
+ $(CC) $(CFLAGS) $(LDFLAGS) $(patsubst %, $(OUT_DIR)/%, $^) -o $(OUT_DIR)/$@
%.o: %.c
- $(CC) -c $(CFLAGS) $(LDFLAGS) $< -o $@
+ $(CC) -c $(CFLAGS) $(LDFLAGS) $< -o $(OUT_DIR)/$@
%.lo: %.cpp
- $(CXX) -c $(CFLAGS) $(LDFLAGS) $< -o $@
+ $(CXX) -c $(CFLAGS) $(LDFLAGS) $< -o $(OUT_DIR)/$@
clean:
- rm -f *.o $(LOCAL_TARGETS)
+ rm -f $(OUT_DIR)/*.o $(OUT_DIR)/*.lo $(LOCAL_TARGETS_FULLPATH)
rm -rf $(STAGING_DIR)/usr/include/libbinder
rm -rf $(STAGING_DIR)/usr/lib/libbinder.so
rm -rf $(TARGET_DIR)/usr/lib/libbinder.so
@@ -49,14 +58,16 @@
rm -rf $(TARGET_DIR)/usr/bin/servicemanager
install:
- install -m 644 libbinder.so $(STAGING_DIR)/usr/lib
- install -m 644 libbinder.so $(TARGET_DIR)/usr/lib
+ install -m 644 $(OUT_DIR)/libbinder.so $(STAGING_DIR)/usr/lib
+ install -m 644 $(OUT_DIR)/libbinder.so $(TARGET_DIR)/usr/lib
$(STRIP) $(TARGET_DIR)/usr/lib/libbinder.so
mkdir -p $(STAGING_DIR)/usr/include/binder
mkdir -p $(STAGING_DIR)/usr/include/utils
install -m 644 $(LOCAL_PATH)/include/binder/* $(STAGING_DIR)/usr/include/binder
install -m 644 $(LOCAL_PATH)/include/utils/* $(STAGING_DIR)/usr/include/utils
- install -m 755 servicemanager $(STAGING_DIR)/usr/bin
- install -m 755 servicemanager $(TARGET_DIR)/usr/bin
+ install -m 755 $(OUT_DIR)/servicemanager $(STAGING_DIR)/usr/bin
+ install -m 755 $(OUT_DIR)/servicemanager $(TARGET_DIR)/usr/bin
$(STRIP) $(TARGET_DIR)/usr/bin/servicemanager
install -m 755 $(LOCAL_PATH)/servicemgr/S52_binderSmr $(TARGET_DIR)/etc/init.d/S52_binderSmr
+
+$(shell mkdir -p $(OUT_DIR)/binder $(OUT_DIR)/utils $(OUT_DIR)/cutils $(OUT_DIR)/servicemgr)
diff --git a/liblog/Makefile b/liblog/Makefile
index a6da031..60c1d69 100644
--- a/liblog/Makefile
+++ b/liblog/Makefile
@@ -1,40 +1,45 @@
+OUT_DIR ?= .
+
SO_VERSION = 1
SO_REALNAME = 1.0.0
LIBLOG_SRC_DIR ?= .
-OBJC = logd_write.o logprint.o event_tag_map.o fake_log_device.o
+OBJC = $(OUT_DIR)/logd_write.o $(OUT_DIR)/logprint.o $(OUT_DIR)/event_tag_map.o $(OUT_DIR)/fake_log_device.o
CFLAGS += -fPIC -I$(LIBLOG_SRC_DIR)/include/
LDFLAGS += -L./lib -lglibc_bridge -lc++.so -lc++abi.so
TARGET=liblog.so
SONAME_TARGET=liblog.so.${SO_VERSION}
REAL_TARGET=liblog.so.${SO_REALNAME}
+
+$(info "OUT_DIR : $(OUT_DIR)")
+
# rules
all: $(TARGET) ${SONAME_TARGET} ${REAL_TARGET}
$(REAL_TARGET): $(OBJC)
- $(CC) -fPIC -g -shared -Wl,-soname,${SONAME_TARGET} -o $@ $^
+ $(CC) -fPIC -g -shared -Wl,-soname,${SONAME_TARGET} -o $(OUT_DIR)/$@ $^
$(SONAME_TARGET): $(REAL_TARGET)
- ln -s $^ $@
+ ln -s $^ $(OUT_DIR)/$@
$(TARGET): $(SONAME_TARGET)
- ln -s $^ $@
+ ln -s $^ $(OUT_DIR)/$@
-$(OBJC):%.o:%.c
+$(OUT_DIR)/%.o: %.c
$(CC) -c $(CFLAGS) $< -o $@
.PHONY: clean
clean:
- rm -f $(OBJC) $(TARGET)
+ rm -f $(OBJC) $(OUT_DIR)/$(TARGET)
install:
- install -m 755 $(TARGET) $(STAGING_DIR)/usr/lib
- install -m 755 $(TARGET) $(TARGET_DIR)/usr/lib
- install -m 755 $(SONAME_TARGET) $(STAGING_DIR)/usr/lib
- install -m 755 $(SONAME_TARGET) $(TARGET_DIR)/usr/lib
- install -m 755 $(REAL_TARGET) $(STAGING_DIR)/usr/lib
- install -m 755 $(REAL_TARGET) $(TARGET_DIR)/usr/lib
+ install -m 755 $(OUT_DIR)/$(TARGET) $(STAGING_DIR)/usr/lib
+ install -m 755 $(OUT_DIR)/$(TARGET) $(TARGET_DIR)/usr/lib
+ install -m 755 $(OUT_DIR)/$(SONAME_TARGET) $(STAGING_DIR)/usr/lib
+ install -m 755 $(OUT_DIR)/$(SONAME_TARGET) $(TARGET_DIR)/usr/lib
+ install -m 755 $(OUT_DIR)/$(REAL_TARGET) $(STAGING_DIR)/usr/lib
+ install -m 755 $(OUT_DIR)/$(REAL_TARGET) $(TARGET_DIR)/usr/lib
mkdir -p $(STAGING_DIR)/usr/include/android
mkdir -p $(STAGING_DIR)/usr/include/cutils
install -m 755 $(LIBLOG_SRC_DIR)/include/android/* $(STAGING_DIR)/usr/include/android/
diff --git a/logcat/Makefile b/logcat/Makefile
index ccdfd7e..c0c6662 100644
--- a/logcat/Makefile
+++ b/logcat/Makefile
@@ -2,6 +2,7 @@
## sample Makefile for logcat
#
#
+OUT_DIR ?= .
LOGCAT_DIR ?= .
OBJ = logcat.o
CFLAGS = -Wall -Wextra -I $(LOGCAT_DIR)/include -DHAVE_IOCTL
@@ -9,22 +10,28 @@
TARGET=logcat
TEST := logcat_test
+$(info "OUT_DIR : $(OUT_DIR)")
+$(info "TARGET_DIR : $(TARGET_DIR)")
+$(info "STAGING_DIR : $(STAGING_DIR)")
+$(info "DESTDIR : $(DESTDIR)")
+$(info "LOGCAT_DIR : $(LOGCAT_DIR)")
+
# rules
all: $(TARGET) $(TEST)
$(TARGET): $(OBJ)
- $(CXX) $(LDFLAGS) $^ -o $@
+ $(CXX) $(LDFLAGS) $(OUT_DIR)/$^ -o $(OUT_DIR)/$@
$(TEST): logcat_test.c
- $(CC) $(LDFLAGS) $^ -o $@
+ $(CC) $(LDFLAGS) $^ -o $(OUT_DIR)/$@
%.o: %.cpp
- $(CXX) -c $(CFLAGS) $^ -o $@
+ $(CXX) -c $(CFLAGS) $^ -o $(OUT_DIR)/$@
.PHONY: clean
clean:
- rm -f $(OBJ)
+ rm -f $(OUT_DIR)/$(OBJ)
install:
- install -m 755 $(TARGET) $(TARGET_DIR)/usr/bin
+ install -m 755 $(OUT_DIR)/$(TARGET) $(TARGET_DIR)/usr/bin
diff --git a/utils/Makefile b/utils/Makefile
index 134003d..a0ce3d8 100644
--- a/utils/Makefile
+++ b/utils/Makefile
@@ -1,3 +1,4 @@
+OUT_DIR ?= .
UTILS = wifi_power multi_wifi_load_driver input_eventd usbpower usbtestpm usbtestpm_mx usbtestpm_mx_iddq usbpower_mx_iddq usb_monitor
ifeq ($(USE_SIMULATE_KEY),y)
UTILS += simulate_key
@@ -12,60 +13,63 @@
.PHONY: all install clean
#CFLAGS += $(AML_UTIL_PRIV_FLAGS)
+$(info OUT_DIR = $(OUT_DIR))
$(info CFLAGS = $(CFLAGS))
wifi_power: wifi_power.c
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(OUT_DIR)/$@ $^ $(LDLIBS)
multi_wifi_load_driver: multi_wifi_load_driver.c
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(OUT_DIR)/$@ $^ $(LDLIBS)
input_eventd: input_eventd.cpp events_process.cpp events.cpp
- $(CXX) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS) -lpthread
+ $(CXX) $(CFLAGS) $(LDFLAGS) -o $(OUT_DIR)/$@ $^ $(LDLIBS) -lpthread
usbpower: usbpower.cpp usbctrl.cpp
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(OUT_DIR)/$@ $^ $(LDLIBS)
usbtestpm: usbtestpm.cpp usbctrl.cpp
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(OUT_DIR)/$@ $^ $(LDLIBS)
usbtestpm_mx: usbtestpm_mx.cpp usbctrl.cpp
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(OUT_DIR)/$@ $^ $(LDLIBS)
usbtestpm_mx_iddq: usbtestpm_mx_iddq.cpp usbctrl_mx_iddq.cpp
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(OUT_DIR)/$@ $^ $(LDLIBS)
usbpower_mx_iddq: usbpower_mx_iddq.cpp usbctrl_mx_iddq.cpp
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(OUT_DIR)/$@ $^ $(LDLIBS)
usb_monitor: usb_monitor.c
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(OUT_DIR)/$@ $^ $(LDLIBS)
simulate_key: simulate_key.c
- $(CC) $(CFLAGS) $(LDFLAGS) -D IR_REMOTE_DEVICE=\"$(IR_REMOTE_DEVICE)\" -o $@ $^ $(LDLIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -D IR_REMOTE_DEVICE=\"$(IR_REMOTE_DEVICE)\" -o $(OUT_DIR)/$@ $^ $(LDLIBS)
ioctl: ioctl.c
- $(CC) -g3 -Wall -o $@ $^ -static
+ $(CC) -g3 -Wall -o $(OUT_DIR)/$@ $^ -static
auto_shutdown: auto_shutdown.c
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS) -lpthread
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(OUT_DIR)/$@ $^ $(LDLIBS) -lpthread
battery_monitor: battery_monitor.c
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(OUT_DIR)/$@ $^ $(LDLIBS)
fota_upgrade: fota_upgrade.c ../aml_utility/unifykey.c
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS) -L../fota -ldmgr -lamldeviceproperty -lm -ldl -lpthread
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(OUT_DIR)/$@ $^ $(LDLIBS) -L../fota -ldmgr -lamldeviceproperty -lm -ldl -lpthread
all: $(UTILS)
+UTILS_FULLPATH := $(patsubst %, $(OUT_DIR)/%, $(UTILS))
+$(info UTILS_FULLPATH = $(UTILS_FULLPATH))
clean:
- rm -f *.o $(UTILS)
+ rm -f $(OUT_DIR)/*.o $(UTILS_FULLPATH)
install_ioctl:
- install -m 755 ioctl $(TARGET_DIR)/usr/bin/
+ install -m 755 $(OUT_DIR)/ioctl $(TARGET_DIR)/usr/bin/
install:
- install -m 755 $(UTILS) $(TARGET_DIR)/usr/bin/
+ install -m 755 $(UTILS_FULLPATH) $(TARGET_DIR)/usr/bin/
uninstall:
rm -f $(TARGET_DIR)/usr/bin/$(UTILS)