Yocto: Optimize Makefile to support output path. [1/1]

PD#SWPL-143855

Problem:
Generate object file locate on local, it cause build fail when
support both 32bit and 64bit application on Yocto

Solution:
Add OUT_DIR parameter to implement assign output directory

Verify:
AV400

Signed-off-by: Peipeng.Zhao <peipeng.zhao@amlogic.com>
Change-Id: I71b305d764a3cbf1db76ccb2c9cbb4c86494b538
diff --git a/aml_log/Makefile b/aml_log/Makefile
index 46167fa..d35b4fc 100644
--- a/aml_log/Makefile
+++ b/aml_log/Makefile
@@ -1,12 +1,13 @@
 CFLAGS += -Wall -g
 SRC = aml_log.c
 TARGET = libaml_log.so
+OUT_DIR ?= .
 
 all: $(TARGET)
 
 $(TARGET): $(SRC)
 	$(CC) $(CFLAGS) $(LDFLAGS) -shared -fPIC \
-	-o $@ $^ $(LDLIBS)
+	$(patsubst %.o, $(OUT_DIR)/%.o, $<) -o $(OUT_DIR)/$@
 
 .PHONY: clean
 
diff --git a/bootloader_message/Makefile b/bootloader_message/Makefile
index e7ccaed..4fe5a1a 100644
--- a/bootloader_message/Makefile
+++ b/bootloader_message/Makefile
@@ -1,24 +1,25 @@
 LIB = libbootloader_message.a
 OBJS = bootloader_message.o bootloader_avb.o avb_crc32.o
+OUT_DIR ?= .
 .PHONY: all install clean
 
-#bootloader_message.o: bootloader_message.c
-#	$(CC) -c bootloader_message.c
+%.o: %.c
+	$(CC) $(CFLAGS) -c $< -o $(OUT_DIR)/$@
 
-all: urlmisc bootloader_message.o bootloader_slot
-	$(AR) rc $(LIB) $(OBJS)
+all: $(LIB)  urlmisc bootloader_slot
+
+$(LIB): $(OBJS)
+	$(AR) rc $(OUT_DIR)/$(LIB) $(patsubst %.o, $(OUT_DIR)/%.o, $(OBJS))
 
 urlmisc: urlmisc.o $(OBJS)
-	$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@
+	$(CC) $(CFLAGS) $(LDFLAGS) -L$(OUT_DIR) -lbootloader_message $(patsubst %.o, $(OUT_DIR)/%.o, $^) -o $(OUT_DIR)/$@
 
 bootloader_slot : test.o $(OBJS)
-	$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@
-
+	$(CC) $(CFLAGS) $(LDFLAGS) -L$(OUT_DIR) -lbootloader_message $(patsubst %.o, $(OUT_DIR)/%.o, $^) -o $(OUT_DIR)/$@
 
 clean:
-	rm -f *.o $(LIB)
+	rm -f $(OUT_DIR)/*.o $(OUT_DIR)/$(LIB)
 
 install:
-	install -m 755 $(LIB) $(STAGING_DIR)/usr/lib
-	install -m 755 urlmisc $(TARGET_DIR)/usr/bin
-
+	install -m 755 $(OUT_DIR)/$(LIB) $(STAGING_DIR)/usr/lib
+	install -m 755 $(OUT_DIR)/urlmisc $(TARGET_DIR)/usr/bin