gdbus移植至mips
2016-07-19 19:49
435 查看
glib版本:glib-2.48.1、libffi-3.2.1、libiconv.so.2.5.1
、gettext-0.18.1 、zlib-1.2.8
、gettext-0.18.1 、zlib-1.2.8
CROSS=mips-linux-uclibc- APP_PUBLIC_DIR=~/work/mips-linux/apps/public/ FILESYSTEM_DIR=~/work/mips-linux/rootfs/
APP_DBUS_DIR=$(APP_PUBLIC_DIR)/dbus-1.10.8 APP_DBUS_INSTALL_DIR=$(APP_DBUS_DIR)/install APP_DBUS_TEST_DIR=$(APP_PRIVATE_DIR)/dbus_test export APP_DBUS_TEST_DIR export APP_DBUS_DIR export APP_DBUS_INSTALL_DIR APP_LIBEXPAT_DIR=$(APP_PUBLIC_DIR)/expat-2.1.0 APP_LIBEXPAT_INSTALL_DIR=$(APP_LIBEXPAT_DIR)/install APP_LIB_GLIB_DIR=$(APP_PUBLIC_DIR)/glib-2.48.1 APP_LIB_GLIB_INSTALL=$(APP_LIB_GLIB_DIR)/install export APP_LIB_GLIB_DIR export APP_LIB_GLIB_INSTALL APP_LIB_INTL_DIR=$(APP_PUBLIC_DIR)/gettext-0.18.1/ APP_LIB_INTL_INSTALL_DIR=$(APP_LIB_INTL_DIR)/install export APP_LIB_INTL_DIR export APP_LIB_INTL_INSTALL_DIR APP_LIB_ICONV_DIR=$(APP_PUBLIC_DIR)/libiconv/ APP_LIB_ICONV_INSTALL_DIR=$(APP_LIB_ICONV_DIR)/install export APP_LIB_ICONV_DIR export APP_LIB_ICONV_INSTALL_DIR APP_LIB_FFI_DIR=$(APP_PUBLIC_DIR)/libffi/ APP_LIB_FFI_INSTALL_DIR=$(APP_LIB_FFI_DIR)/install export APP_LIB_FFI_DIR export APP_LIB_FFI_INSTALL_DIR APP_LIB_ZLIB_DIR=$(APP_PUBLIC_DIR)/zlib-1.2.8/ APP_LIB_ZLIB_INSTALL_DIR=$(APP_LIB_ZLIB_DIR)/install export APP_LIB_ZLIB_DIR export APP_LIB_ZLIB_INSTALL_DIR dbus_test: @echo "Compiling $@" #@cd $(APP_DBUS_TEST_DIR) ; mkdir -p lib include #@cp -rf $(APP_DBUS_INSTALL_DIR)/include/dbus-1.0/dbus $(APP_DBUS_TEST_DIR)/include/ #@cp -rf $(APP_LIBEXPAT_INSTALL_DIR)/lib/libexpat.so* $(APP_DBUS_TEST_DIR)/lib/ #@cp -rf $(APP_DBUS_INSTALL_DIR)/lib/libdbus-1.so* $(APP_DBUS_TEST_DIR)/lib/ @make -C $(APP_DBUS_TEST_DIR) dbus_test_clean: @make -C $(APP_DBUS_TEST_DIR) clean libexpat: @echo "Compiling $@" cd $(APP_LIBEXPAT_DIR); ./configure CC=$(CROSS)gcc --host=$(COMPILE_TOOLCHAIN) --target=$(COMPILE_TOOLCHAIN) --prefix=$(APP_LIBEXPAT_INSTALL_DIR) make -C $(APP_LIBEXPAT_DIR) make -C $(APP_LIBEXPAT_DIR) install libexpat_clean: @echo "Cleaning $@" make -C $(APP_LIBEXPAT_DIR) clean dbus: libexpat @echo "Compiling $@" @cd $(APP_DBUS_DIR); ./configure CC=$(CROSS)gcc --host=$(COMPILE_TOOLCHAIN) --target=$(COMPILE_TOOLCHAIN) --prefix=$(APP_DBUS_INSTALL_DIR) CPPFLAGS=-I$(APP_LIBEXPAT_INSTALL_DIR)/include LIBS=-lexpat LDFLAGS=-L$(APP_LIBEXPAT_INSTALL_DIR)/lib --without-x --disable-tests make -C $(APP_DBUS_DIR) make -C $(APP_DBUS_DIR) install dbus_clean: @echo "Cleaning $@" make -C $(APP_DBUS_DIR) clean libintl: @echo "Compiling $@" cd $(APP_LIB_INTL_DIR); \ ./configure --prefix=$(APP_LIB_INTL_INSTALL_DIR) CC=$(CROSS)gcc --host=$(COMPILE_TOOLCHAIN) --target=$(COMPILE_TOOLCHAIN) --enable-shared --enable-silent-rules; \ make -i -C $(APP_LIB_INTL_DIR) && make -i -C $(APP_LIB_INTL_DIR) install libintl_install: @echo "Installing libintl." cd $(APP_LIB_INTL_INSTALL_DIR)/lib/;\ $(STRIP) --strip-unneeded libintl.so*;\ cp -fr libintl.so* $(FILESYSTEM_DIR)/lib/ libintl_clean: make -i -C $(APP_LIB_INTL_DIR) clean libzlib: @echo "Compiling $@" cd $(APP_LIB_ZLIB_DIR); \ ./configure --prefix=$(APP_LIB_ZLIB_INSTALL_DIR) ; \ make -C $(APP_LIB_ZLIB_DIR) libzlib_install: @echo "Installing libzlib." cd $(APP_LIB_ZLIB_DIR) ;\ $(STRIP) --strip-unneeded libz.so* ;\ cp -fr $(APP_LIB_ZLIB_DIR)/libz.so* $(FILESYSTEM_DIR)/lib/; libzlib_clean: make -C $(APP_LIB_ZLIB_DIR) clean libffi: @echo "Compiling $@" @cd $(APP_LIB_FFI_DIR); ./configure CC=$(CROSS)gcc --build=$(COMPILE_TOOLCHAIN) --host=mips-linux --target=$(COMPILE_TOOLCHAIN) --prefix=$(APP_LIB_FFI_INSTALL_DIR) make -C $(APP_LIB_FFI_DIR) && make -C $(APP_LIB_FFI_DIR) install libffi_install: @echo "Installing libffi." cd $(APP_LIB_FFI_INSTALL_DIR)/lib; \ $(STRIP) --strip-unneeded *.so ;\ cp -fr $(APP_LIB_FFI_INSTALL_DIR)/lib/libffi.so* $(FILESYSTEM_DIR)/lib/; libffi_clean: make -C $(APP_LIB_FFI_DIR) clean libiconv: @echo "Compiling $@" @cd $(APP_LIB_ICONV_DIR)/; ./configure CC=$(CROSS)gcc --host=$(COMPILE_TOOLCHAIN) --target=$(COMPILE_TOOLCHAIN) --prefix=$(APP_LIB_ICONV_INSTALL_DIR) make -C $(APP_LIB_ICONV_DIR) && make -C $(APP_LIB_ICONV_DIR) install libiconv_install: @echo "Installing libiconv." cd $(APP_LIB_ICONV_INSTALL_DIR)/lib; \ $(STRIP) --strip-unneeded *.so ; \ cp -fr $(APP_LIB_ICONV_INSTALL_DIR)/lib/libiconv.so* $(FILESYSTEM_DIR)/lib/; libiconv_clean: make -C $(APP_LIB_ICONV_DIR) clean glib_depends:libintl libintl_install libffi libffi_install libiconv libiconv_install libzlib glib_prepare: glib_depends @cd $(APP_LIB_GLIB_DIR);\ echo glib_cv_long_long_format=ll > mips-linux.cache;\ echo glib_cv_stack_grows=no >> mips-linux.cache;\ echo glib_cv_uscore=no >> mips-linux.cache;\ echo ac_cv_func_posix_getpwuid_r=yes >> mips-linux.cache ;\ echo ac_cv_func_posix_getgrgid_r=yes >> mips-linux.cache ; \ ./configure CC=$(CROSS)gcc --build=mips-linux --host=mips --target=$(COMPILE_TOOLCHAIN) --prefix=$(APP_LIB_GLIB_INSTALL) --enable-shared --with-pcre=internal --with-threads=posix CFLAGS="-O3 -fPIC" CPPFLAGS="-I$(APP_LIB_ICONV_INSTALL_DIR)/include -I$(APP_LIB_INTL_INSTALL_DIR)/include -I$(APP_LIB_ZLIB_DIR)" LIBS="-liconv -lintl" LDFLAGS="-L$(APP_LIB_ICONV_INSTALL_DIR)/lib -L$(APP_LIB_INTL_INSTALL_DIR)/lib " --enable-debug=no LIBFFI_CFLAGS="-I$(APP_LIB_FFI_INSTALL_DIR)/lib/libffi-3.2.1/include" LIBFFI_LIBS="-lffi -L$(APP_LIB_FFI_INSTALL_DIR)/lib/" ZLIB_LIBS="-lz -L$(APP_LIB_ZLIB_DIR)" --cache-file=mips-linux.cache glib: libintl libintl_install libffi libffi_install libiconv libiconv_install libzlib glib_prepare @echo "Compiling $@" make -C $(APP_LIB_GLIB_DIR) && make -C $(APP_LIB_GLIB_DIR) install glib_install: libintl_install libiconv_install libffi_install libzlib_install @echo "Installing glib" cd $(APP_LIB_GLIB_INSTALL)/lib;\ rm -rf libgio libglib libgmodule libgobject libgthread lib_statics lib_shared;\ mkdir -p libgio libglib libgmodule libgobject libgthread;\ mkdir -p lib_statics lib_shared;\ mv -f ./*.a lib_statics/ ; \ mv -f ./*.la lib_statics/ ;\ mv -f lib_statics/libgio-2.0.a libgio/ ;\ mv -f lib_statics/libglib-2.0.a libglib/ ;\ mv -f lib_statics/libgmodule-2.0.a libgmodule/ ; \ mv -f lib_statics/libgobject-2.0.a libgobject/ ; \ mv -f lib_statics/libgthread-2.0.a libgthread/ ; \ cd libgio ; $(CROSS)ar -x libgio-2.0.a;\ $(CROSS)gcc -fPIC -shared -o $(APP_LIB_GLIB_INSTALL)/lib/lib_shared/libgio-2.0.so.4800.1 *.o ;\ $(STRIP) --strip-unneeded $(APP_LIB_GLIB_INSTALL)/lib/lib_shared/libgio-2.0.so.4800.1;\ cd ../libglib ;$(CROSS)ar -x libglib-2.0.a;\ $(CROSS)gcc -fPIC -shared -o $(APP_LIB_GLIB_INSTALL)/lib/lib_shared/libglib-2.0.so.4800.1 *.o;\ $(STRIP) --strip-unneeded $(APP_LIB_GLIB_INSTALL)/lib/lib_shared/libglib-2.0.so.4800.1;\ cd ../libgmodule ; $(CROSS)ar -x libgmodule-2.0.a;\ $(CROSS)gcc -fPIC -shared -o $(APP_LIB_GLIB_INSTALL)/lib/lib_shared/libgmodule-2.0.so.4800.1 *.o;\ $(STRIP) --strip-unneeded $(APP_LIB_GLIB_INSTALL)/lib/lib_shared/libgmodule-2.0.so.4800.1;\ cd ../libgobject ; $(CROSS)ar -x libgobject-2.0.a;\ $(CROSS)gcc -fPIC -shared -o $(APP_LIB_GLIB_INSTALL)/lib/lib_shared/libgobject-2.0.so.4800.1 *.o;\ $(STRIP) --strip-unneeded $(APP_LIB_GLIB_INSTALL)/lib/lib_shared/libgobject-2.0.so.4800.1;\ cd ../libgthread ; $(CROSS)ar -x libgthread-2.0.a;\ $(CROSS)gcc -fPIC -shared -o $(APP_LIB_GLIB_INSTALL)/lib/lib_shared/libgthread-2.0.so.4800.1 *.o;\ $(STRIP) --strip-unneeded $(APP_LIB_GLIB_INSTALL)/lib/lib_shared/libgthread-2.0.so.4800.1;\ cd $(APP_LIB_GLIB_INSTALL)/lib/lib_shared ; ln -s libgio-2.0.so.4800.1 libgio-2.0.so.0 && ln -s libgio-2.0.so.0 libgio-2.0.so &&\ ln -s libglib-2.0.so.4800.1 libglib-2.0.so.0 && ln -s libglib-2.0.so.0 libglib-2.0.so && \ ln -s libgmodule-2.0.so.4800.1 libgmodule-2.0.so.0 && ln -s libgmodule-2.0.so.0 libgmodule-2.0.so && \ ln -s libgobject-2.0.so.4800.1 libgobject-2.0.so.0 && ln -s libgobject-2.0.so.0 libgobject-2.0.so && \ ln -s libgthread-2.0.so.4800.1 libgthread-2.0.so.0 && ln -s libgthread-2.0.so.0 libgthread-2.0.so;\ cp -fr $(APP_LIB_GLIB_INSTALL)/lib/lib_shared/* $(FILESYSTEM_DIR)/lib/; @echo "done!" glib_clean: make -C $(APP_LIB_GLIB_DIR) clean
相关文章推荐
- POSIX 是什么?让我们听听 Richard Stallman 的诠释
- 浅谈Windows系统下C语言编程中Glib库的使用
- 簡單屏幕黏貼 xwd GNU Linux X 窗口系統 printscreen,不用 gnome
- 簡單使用 psad 端口功擊偵測系統 iptables snort
- 簡單設定 exim4 以不同身份郵寄,不用 root
- 怎麼打開 dat 檔案 tnef GNU Linux
- 簡單使用 tcpdump GNU Linux 範例
- 超簡單認識 arp 地址解析協議 GNU Linux
- 超簡單看看 wireshark 協議樹狀視窗
- 簡單設定 kernel 選項在使用 iptables 前
- 手動連線上網設定 /etc/network/interfaces
- GNU 构建系统 - Automake, Autoconf, Libtool, Gettext
- DBus glib 各数据类型接收与发送详解—C语言(1)
- DBus glib 各数据类型接收与发送详解—C语言(2)
- DBus glib 各数据类型接收与发送详解—C语言(3)
- GLIB 安装手记
- GNU工具箱
- Glib 编程
- 使用MSYS2/MinGW-w64环境编译GNU Emacs
- GStreamer移植