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)