libdrm_meson: remove build result from git folder to build result folder [1/1]

PD#SWPL-150449

Problem:
remove build result from git folder to build result folder

Solution:
generate files to the build directory during compilation

Verify:
ah212

Change-Id: If84451dd1486c5a68351716e9f13118ecb43fcd3
Signed-off-by: leng.fang <leng.fang@amlogic.com>
diff --git a/drm-setcrtc/Makefile b/drm-setcrtc/Makefile
index 7474294..6babd41 100644
--- a/drm-setcrtc/Makefile
+++ b/drm-setcrtc/Makefile
@@ -16,6 +16,8 @@
 drm_setcrtc_SRCS  = \
 	$(LOCAL_PATH)/drm_setcrtc.c  \
 	$(NULL)
+
+OUT_DIR ?= .
 # ---------------------------------------------------------------------
 #  Build rules
 BUILD_TARGETS = drm_setcrtc
@@ -23,15 +25,15 @@
 .PHONY: all install uninstall clean
 
 drm_setcrtc: $(drm_setcrtc_SRCS)
-	$(CC) $(CFLAGS) -L$(LOCAL_PATH) $(LDFLAGS) -o $@ $^ $(LDLIBS)
+	$(CC) $(CFLAGS) -L$(LOCAL_PATH) $(LDFLAGS) -o $(OUT_DIR)/$@ $^ $(LDLIBS)
 
 all: $(BUILD_TARGETS)
 
 clean:
-	rm -f *.o $(BUILD_TARGETS)
+	rm -f *.o $(OUT_DIR)/$(BUILD_TARGETS)
 
 install:
-	install -m 755 drm_setcrtc $(TARGET_DIR)/usr/bin/
+	install -m 755 $(OUT_DIR)/drm_setcrtc $(TARGET_DIR)/usr/bin/
 
 uninstall:
 	rm -f $(TARGET_DIR)/usr/bin/drm_setcrtc
diff --git a/meson/Makefile b/meson/Makefile
index 814bda8..74aeeed 100644
--- a/meson/Makefile
+++ b/meson/Makefile
@@ -39,9 +39,12 @@
 meson_drm_settings_test_SRCS  = \
 	$(LOCAL_PATH)/meson_drm_settings_test.c \
 	$(NULL)
+
+OUT_DIR ?= .
 # ---------------------------------------------------------------------
 #  Build rules
 BUILD_TARGETS = libdrm_meson.so meson_drm_test  meson_drm_display_test  meson_drm_settings_test
+CLEAN_TARGETS = $(addprefix $(OUT_DIR)/, $(BUILD_TARGETS))
 
 .PHONY: all install uninstall clean
 
@@ -49,28 +52,28 @@
 
 libdrm_meson.so: $(meson_drm_SRCS)
 	$(CC) $(CFLAGS) $(LDFLAGS) -g -D_FILE_OFFSET_BITS=64 -Wall  \
-	-shared -fPIC -o $@ $^ $(LDLIBS)
-	cp -f libdrm_meson.so  $(STAGING_DIR)/usr/lib/
+	-shared -fPIC -o $(OUT_DIR)/$@ $^ $(LDLIBS)
+	cp -f $(OUT_DIR)/libdrm_meson.so  $(STAGING_DIR)/usr/lib/
 
-meson_drm_test: $(meson_drm_test_SRCS) libdrm_meson.so
+meson_drm_test: $(meson_drm_test_SRCS) $(OUT_DIR)/libdrm_meson.so
 	$(CC) $(CFLAGS)  -I$(meson_drm_HEADERS) -L$(LOCAL_PATH) \
-	-ldrm_meson $(LDFLAGS) -o $@ $^ $(LDLIBS)
+	-ldrm_meson $(LDFLAGS) -o $(OUT_DIR)/$@ $^ $(LDLIBS)
 
-meson_drm_display_test: $(meson_drm_display_test_SRCS) libdrm_meson.so
+meson_drm_display_test: $(meson_drm_display_test_SRCS) $(OUT_DIR)/libdrm_meson.so
 	$(CC) $(CFLAGS)  -I$(meson_drm_HEADERS) -L$(LOCAL_PATH) \
-	-ldrm_meson $(LDFLAGS) -o $@ $^ $(LDLIBS)
-meson_drm_settings_test: $(meson_drm_settings_test_SRCS) libdrm_meson.so
+	-ldrm_meson $(LDFLAGS) -o $(OUT_DIR)/$@ $^ $(LDLIBS)
+meson_drm_settings_test: $(meson_drm_settings_test_SRCS) $(OUT_DIR)/libdrm_meson.so
 	$(CC) $(CFLAGS)  -I$(meson_drm_HEADERS) -L$(LOCAL_PATH) \
-	-ldrm_meson $(LDFLAGS) -o $@ $^ $(LDLIBS)
+	-ldrm_meson $(LDFLAGS) -o $(OUT_DIR)/$@ $^ $(LDLIBS)
 
 clean:
-	rm -f *.o $(BUILD_TARGETS)
+	rm -f *.o $(CLEAN_TARGETS)
 
 install:
-	install -m 0644 libdrm_meson.so $(TARGET_DIR)/usr/lib
-	install -m 755 meson_drm_test $(TARGET_DIR)/usr/bin/
-	install -m 755 meson_drm_display_test $(TARGET_DIR)/usr/bin/
-	install -m 755 meson_drm_settings_test $(TARGET_DIR)/usr/bin/
+	install -m 0644 $(OUT_DIR)/libdrm_meson.so $(TARGET_DIR)/usr/lib
+	install -m 755 $(OUT_DIR)/meson_drm_test $(TARGET_DIR)/usr/bin/
+	install -m 755 $(OUT_DIR)/meson_drm_display_test $(TARGET_DIR)/usr/bin/
+	install -m 755 $(OUT_DIR)/meson_drm_settings_test $(TARGET_DIR)/usr/bin/
 	cp meson_drmif.h $(STAGING_DIR)/usr/include/
 	cp meson_drm_util.h $(STAGING_DIR)/usr/include/
 	install -D -m 0644 meson_drm_settings.h $(STAGING_DIR)/usr/include/libdrm_meson/meson_drm_settings.h