Makefile 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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. # Main makefile for the packages
  4. include $(ADK_TOPDIR)/rules.mk
  5. ifeq (${ADK_TARGET_LIB_GLIBC},y)
  6. package-$(ADK_PACKAGE_GLIBC) += glibc
  7. gcc-compile: glibc-compile
  8. endif
  9. ifeq (${ADK_TARGET_LIB_MUSL},y)
  10. package-$(ADK_PACKAGE_MUSL) += musl
  11. gcc-compile: musl-compile
  12. endif
  13. ifeq (${ADK_TARGET_LIB_UCLIBC},y)
  14. package-$(ADK_PACKAGE_UCLIBC) += uclibc
  15. package-$(ADK_PACKAGE_UCLIBCXX) += uclibc++
  16. gcc-compile: uclibc-compile
  17. endif
  18. ifeq (${ADK_TARGET_LIB_UCLIBC_NG},y)
  19. package-$(ADK_PACKAGE_UCLIBC_NG) += uclibc-ng
  20. package-$(ADK_PACKAGE_UCLIBCXX) += uclibc++
  21. gcc-compile: uclibc-ng-compile
  22. endif
  23. package-$(ADK_PACKAGE_LIBPTHREAD) += libpthread
  24. include $(ADK_TOPDIR)/package/Depends.mk
  25. COMPILE_PACKAGES:=$(patsubst %,%-compile,$(package-y))
  26. HOST_COMPILE_PACKAGES:=$(patsubst %,%-host-compile,$(hostpackage-y))
  27. INSTALL_PACKAGES:=$(patsubst %,%-install,$(package-y))
  28. ifeq ($(ADK_TARGET_LIBICONV),y)
  29. COMPILE_ICONV:=libiconv-compile
  30. INSTALL_ICONV:=libiconv-install
  31. endif
  32. ifeq ($(ADK_TARGET_LIBICONV_TINY),y)
  33. COMPILE_ICONV:=libiconv-tiny-compile
  34. INSTALL_ICONV:=libiconv-tiny-install
  35. endif
  36. all: compile
  37. download: $(patsubst %,%-download,$(package-y))
  38. clean: $(patsubst %,%-clean,$(package-) $(package-y) base-files)
  39. hostcompile: $(HOST_COMPILE_PACKAGES)
  40. ifeq ($(ADK_TOOLCHAIN_ONLY),y)
  41. compile: $(COMPILE_PACKAGES)
  42. install: $(INSTALL_PACKAGES)
  43. else
  44. compile: base-files-compile $(COMPILE_ICONV) $(COMPILE_PACKAGES)
  45. install: base-files-install $(INSTALL_ICONV) $(INSTALL_PACKAGES)
  46. endif
  47. %-download:
  48. $(START_TRACE) "package/$(patsubst %-download,%,$@)-download: "
  49. $(MAKE) -C $(patsubst %-download,%,$@) fetch
  50. $(CMD_TRACE) " done"
  51. $(END_TRACE)
  52. %-host-compile:
  53. $(START_TRACE) "package/$(patsubst %-host-compile,%,$@)-host-compile: "
  54. $(MAKE) -C $(patsubst %-host-compile,%,$@) hostpackage
  55. $(CMD_TRACE) " done"
  56. $(END_TRACE)
  57. %-compile:
  58. $(START_TRACE) "package/$(patsubst %-compile,%,$@)-compile: "
  59. @if test -f $(ADK_TOPDIR)/.rebuild.$(patsubst %-compile,%,$@); then \
  60. $(MAKE) -C $(patsubst %-compile,%,$@) clean ; \
  61. rm $(ADK_TOPDIR)/.rebuild.$(patsubst %-compile,%,$@) ; \
  62. fi
  63. $(MAKE) -C $(patsubst %-compile,%,$@) fake build-all-pkgs
  64. $(CMD_TRACE) " done"
  65. $(END_TRACE)
  66. %-install:
  67. $(START_TRACE) "package/$(patsubst %-install,%,$@)-install: "
  68. $(MAKE) -C $(patsubst %-install,%,$@) install
  69. $(CMD_TRACE) " done"
  70. $(END_TRACE)
  71. %-clean:
  72. $(START_TRACE) "package/$(patsubst %-clean,%,$@)-clean: "
  73. $(MAKE) -C $(patsubst %-clean,%,$@) clean
  74. $(CMD_TRACE) " done"
  75. $(END_TRACE)