Makefile 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. # This file is part of the OpenADK project. OpenADK is copyrighted
  2. # material, please see the LICENCE file in the top-level directory.
  3. include ${ADK_TOPDIR}/rules.mk
  4. include ${ADK_TOPDIR}/toolchain/gcc/Makefile.inc
  5. PKG_NAME:= gcc
  6. PKG_DESCR:= c compiler
  7. PKG_SECTION:= dev/lang
  8. PKG_OPTS:= noremove
  9. PKG_DEPENDS:= libmpc libgmp mpfr
  10. PKG_BUILDDEP:= libmpc gmp mpfr
  11. PKG_NEEDS:= c++
  12. PKG_SUBPKGS:= GCC GXX
  13. PKGSD_GXX:= c++ compiler
  14. WRKBUILD= ${WRKDIR}/${PKG_NAME}-obj
  15. include ${ADK_TOPDIR}/mk/package.mk
  16. $(eval $(call PKG_template,GCC,gcc,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  17. $(eval $(call PKG_template,GXX,g++,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  18. CPPFLAGS_FOR_BUILD:= -I$(STAGING_HOST_DIR)/usr/include
  19. CFLAGS_FOR_BUILD:=
  20. LDFLAGS_FOR_BUILD:=
  21. TARGET_CPPFLAGS:=
  22. TARGET_CFLAGS:=
  23. TARGET_CXXFLAGS:=
  24. TARGET_LDFLAGS:=
  25. ifeq ($(ADK_TARGET_LINUX_ARCH_XTENSA),y)
  26. GCC_EXTRA_CFLAGS:= -mtext-section-literals
  27. GCC_EXTRA_CXXFLAGS:= -mtext-section-literals
  28. endif
  29. # some targets need extra CFLAGS/CXXFLAGS
  30. CONFIGURE_ENV+= CC="${TARGET_CC} ${GCC_EXTRA_CFLAGS}"
  31. CONFIGURE_ENV+= CXX="${TARGET_CXX} ${GCC_EXTRA_CXXFLAGS}"
  32. ifeq ($(ADK_TARGET_SYSTEM_LEMOTE_YEELONG),y)
  33. CONFIGURE_ARGS+= --with-abi=$(ADK_TARGET_MIPS_ABI)
  34. endif
  35. ifeq ($(ADK_TARGET_SYSTEM_QEMU_MIPS64),y)
  36. CONFIGURE_ARGS+= --with-abi=$(ADK_TARGET_MIPS_ABI)
  37. endif
  38. ifeq ($(ADK_TARGET_SYSTEM_QEMU_MIPS64EL),y)
  39. CONFIGURE_ARGS+= --with-abi=$(ADK_TARGET_MIPS_ABI)
  40. endif
  41. ifneq ($(ADK_PACKAGE_GXX),)
  42. CONFIGURE_ARGS+= --enable-languages=c,c++
  43. else
  44. CONFIGURE_ARGS+= --enable-languages=c
  45. endif
  46. ifeq ($(ADK_TARGET_LINUX_ARCH_PPC),y)
  47. CONFIGURE_ARGS+= --disable-target-optspace --with-long-double-64 --enable-secureplt
  48. else
  49. CONFIGURE_ARGS+= --enable-target-optspace
  50. endif
  51. CONFIGURE_ENV+= have_sys_sdt_h=no
  52. CONFIGURE_ARGS+= --host=$(GNU_TARGET_NAME) \
  53. --target=$(GNU_TARGET_NAME) \
  54. --build=$(GNU_HOST_NAME) \
  55. --disable-__cxa_atexit \
  56. --without-headers \
  57. --libexecdir=/usr/lib \
  58. --disable-libssp \
  59. --disable-biarch \
  60. --disable-libmudflap \
  61. --disable-libgomp \
  62. --disable-libquadmath \
  63. --disable-libquadmath-support \
  64. --disable-multilib \
  65. --disable-libstdcxx-pch \
  66. --disable-libsanitizer \
  67. --disable-libitm \
  68. --disable-install-libiberty \
  69. --enable-dependency-tracking
  70. pre-configure:
  71. $(SED) 's@\./fixinc\.sh@-c true@' $(WRKSRC)/gcc/Makefile.in
  72. $(SED) 's/install_to_$$(INSTALL_DEST) //' ${WRKSRC}/libiberty/Makefile.in
  73. gcc-install:
  74. ${INSTALL_DIR} ${IDIR_GCC}/usr/lib/gcc ${IDIR_GCC}/usr/bin
  75. ${INSTALL_DIR} ${IDIR_GCC}/lib
  76. ${INSTALL_BIN} ${WRKINST}/usr/bin/gcc ${IDIR_GCC}/usr/bin/
  77. cd ${IDIR_GCC}/usr/bin/ && ln -sf gcc cc
  78. ${INSTALL_BIN} ${WRKINST}/usr/bin/cpp ${IDIR_GCC}/usr/bin/
  79. cd ${IDIR_GCC}/lib && ln -sf ../usr/bin/cpp .
  80. ${CP} ${WRKINST}/usr/lib/gcc/* ${IDIR_GCC}/usr/lib/gcc/
  81. rm -rf ${IDIR_GCC}/usr/lib/gcc/*/*/install-tools
  82. g++-install:
  83. ${INSTALL_DIR} ${IDIR_GXX}/usr/bin
  84. ${INSTALL_DIR} ${IDIR_GXX}/usr/include/c++
  85. ${INSTALL_BIN} ${WRKINST}/usr/bin/g++ ${IDIR_GXX}/usr/bin/
  86. cd ${IDIR_GXX}/usr/bin/ && ln -sf g++ c++
  87. ${CP} ${WRKINST}/usr/include/c++/* ${IDIR_GXX}/usr/include/c++/
  88. include ${ADK_TOPDIR}/mk/pkg-bottom.mk