make: modified Makefile to automatically change a loading path of libraries.
authorJihye Won <jihye.won1@samsung.com>
Thu, 11 Jun 2015 07:26:33 +0000 (16:26 +0900)
committerSeokYeon Hwang <syeon.hwang@samsung.com>
Tue, 16 Jun 2015 03:37:17 +0000 (12:37 +0900)
Change-Id: Id2697c3a403144b44e004be92b2d2b4d3b552591
Signed-off-by: Jihye Won <jihye.won1@samsung.com>
tizen/src/Makefile

index 1dade2006ebdb350bb4d95e290b623473aaebb95..b482b3cf6646e6126dc76e5159c16209d4b90728 100755 (executable)
@@ -349,35 +349,30 @@ endif
 
 # change loading path of dynamic shared libraries on MAC OS X
 ifdef CONFIG_DARWIN
-       install_name_tool -change /opt/local/lib/libgthread-2.0.*.dylib @loader_path/libgthread-2.0.0.dylib $(DIBS_COMMON_DIR)/bin/qemu-img
-       install_name_tool -change /opt/local/lib/libglib-2.0.*.dylib @loader_path/libglib-2.0.0.dylib $(DIBS_COMMON_DIR)/bin/qemu-img
-       install_name_tool -change /opt/local/lib/libintl.8.dylib @loader_path/libintl.8.dylib $(DIBS_COMMON_DIR)/bin/qemu-img
-       install_name_tool -change /opt/local/lib/gcc47/libgcc_s.1.dylib @loader_path/libgcc_s.1.dylib $(DIBS_COMMON_DIR)/bin/qemu-img
-       install_name_tool -change /opt/local/lib/libz.1.dylib @loader_path/libz.1.dylib $(DIBS_COMMON_DIR)/bin/qemu-img
-       install_name_tool -change /opt/local/lib/libcurl.4.dylib @loader_path/libcurl.4.dylib $(DIBS_COMMON_DIR)/bin/qemu-img
-       install_name_tool -change /opt/local/lib/libglib-2.0.*.dylib @loader_path/libglib-2.0.0.dylib $(DIBS_COMMON_DIR)/bin/check-gl
-       install_name_tool -change /opt/local/lib/libintl.8.dylib @loader_path/libintl.8.dylib $(DIBS_COMMON_DIR)/bin/check-gl
-       install_name_tool -change /opt/local/lib/gcc47/libgcc_s.1.dylib @loader_path/libgcc_s.1.dylib $(DIBS_COMMON_DIR)/bin/check-gl
-       install_name_tool -change /opt/local/lib/libglib-2.0.*.dylib @loader_path/libglib-2.0.0.dylib $(DIBS_COMMON_DIR)/bin/check-net
-       install_name_tool -change /opt/local/lib/libintl.8.dylib @loader_path/libintl.8.dylib $(DIBS_COMMON_DIR)/bin/check-net
-       install_name_tool -change /opt/local/lib/libcurl.4.dylib @loader_path/libcurl.4.dylib $(DIBS_COMMON_DIR)/bin/check-net
-
+       @BIN_ARR=(qemu-img check-gl check-net); \
+       for bin in $${BIN_ARR[@]}; do \
+               LIB_ARR=( $$(otool -L $(DIBS_COMMON_DIR)/bin/$$bin | awk '/\opt\/local\/lib/ { split($$1, lib, "/"); print lib[5]}') ); \
+               for lib in $${LIB_ARR[@]}; do \
+                       echo "$$bin: the loading path of $$lib is changed."; \
+                       install_name_tool -change /opt/local/lib/$$lib @loader_path/$$lib $(DIBS_COMMON_DIR)/bin/$$bin; \
+               done \
+       done
        @for target in $(TARGET_DIRS); do \
        case "$$target" in \
        i386-softmmu) \
-               install_name_tool -change /opt/local/lib/libgthread-2.0.*.dylib @loader_path/libgthread-2.0.0.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
-               install_name_tool -change /opt/local/lib/libglib-2.0.*.dylib @loader_path/libglib-2.0.0.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
-               install_name_tool -change /opt/local/lib/libintl.8.dylib @loader_path/libintl.8.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
-               install_name_tool -change /opt/local/lib/gcc47/libgcc_s.1.dylib @loader_path/libgcc_s.1.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
-               install_name_tool -change /opt/local/lib/libz.1.dylib @loader_path/libz.1.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
-               install_name_tool -change /opt/local/lib/libncurses.5.dylib @loader_path/libncurses.5.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
-               install_name_tool -change /opt/local/lib/libcurl.4.dylib @loader_path/libcurl.4.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
-               install_name_tool -change /opt/local/lib/libpixman-1.0.dylib @loader_path/libpixman-1.0.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
-               install_name_tool -change /opt/local/lib/libpng16.16.dylib @loader_path/libpng16.dylib $(DIBS_X86_DIR)/bin/emulator-x86; \
-               install_name_tool -change /opt/local/Library/Frameworks/QtOpenGL.framework/Versions/5/QtOpenGL @loader_path/QtOpenGL $(DIBS_X86_DIR)/bin/emulator-x86; \
-               install_name_tool -change /opt/local/Library/Frameworks/QtWidgets.framework/Versions/5/QtWidgets @loader_path/QtWidgets $(DIBS_X86_DIR)/bin/emulator-x86; \
-               install_name_tool -change /opt/local/Library/Frameworks/QtGui.framework/Versions/5/QtGui @loader_path/QtGui $(DIBS_X86_DIR)/bin/emulator-x86; \
-               install_name_tool -change /opt/local/Library/Frameworks/QtCore.framework/Versions/5/QtCore @loader_path/QtCore $(DIBS_X86_DIR)/bin/emulator-x86; \
+               BIN_ARR=( emulator-x86 ); \
+               for bin in $${BIN_ARR[@]}; do \
+                       LIB_ARR=( $$(otool -L $(DIBS_X86_DIR)/bin/$$bin | awk '/\opt\/local\/lib/ { split($$1, lib, "/"); print lib[5]}') ); \
+                       for lib in $${LIB_ARR[@]}; do \
+                               echo "$$bin: the loading path of $$lib is changed."; \
+                               install_name_tool -change /opt/local/lib/$$lib @loader_path/$$lib $(DIBS_X86_DIR)/bin/$$bin; \
+                       done ; \
+                       LIB_ARR=( $$(otool -L $(DIBS_X86_DIR)/bin/$$bin | awk '/\opt\/local\/Library/ { split($$1, lib, "/"); print lib[9]}') ); \
+                       for lib in $${LIB_ARR[@]}; do \
+                               echo "$$bin: the loading path of $$lib is changed."; \
+                               install_name_tool -change /opt/local/Library/Frameworks/$$lib.framework/Version/5/$$lib @loader_path/$$lib $(DIBS_X86_DIR)/bin/$$bin; \
+                       done \
+               done \
                ;; \
        arm-softmmu) \
                ;; \