Makefile 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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_NG},y)
  14. package-$(ADK_PACKAGE_UCLIBC_NG) += uclibc-ng
  15. package-$(ADK_PACKAGE_UCLIBCXX) += uclibc++
  16. gcc-compile: uclibc-ng-compile
  17. endif
  18. package-$(ADK_PACKAGE_LIBPTHREAD) += libpthread
  19. include $(ADK_TOPDIR)/package/Depends.mk
  20. COMPILE_PACKAGES:=$(patsubst %,%-compile,$(package-y))
  21. HOST_COMPILE_PACKAGES:=$(patsubst %,%-host-compile,$(hostpackage-y))
  22. INSTALL_PACKAGES:=$(patsubst %,%-install,$(package-y))
  23. ifeq ($(ADK_TARGET_LIBICONV),y)
  24. COMPILE_ICONV:=libiconv-compile
  25. INSTALL_ICONV:=libiconv-install
  26. endif
  27. ifeq ($(ADK_TARGET_LIBICONV_TINY),y)
  28. COMPILE_ICONV:=libiconv-tiny-compile
  29. INSTALL_ICONV:=libiconv-tiny-install
  30. endif
  31. all: compile
  32. download: $(patsubst %,%-download,$(package-y))
  33. clean: $(patsubst %,%-clean,$(package-) $(package-y) base-files)
  34. hostcompile: $(HOST_COMPILE_PACKAGES)
  35. ifeq ($(ADK_TOOLCHAIN_ONLY),y)
  36. compile: $(COMPILE_PACKAGES)
  37. install: $(INSTALL_PACKAGES)
  38. else
  39. compile: base-files-compile $(COMPILE_ICONV) $(COMPILE_PACKAGES)
  40. install: base-files-install $(INSTALL_ICONV) $(INSTALL_PACKAGES)
  41. endif
  42. %-download:
  43. $(START_TRACE) "package/$(patsubst %-download,%,$@)-download: "
  44. $(MAKE) -C $(patsubst %-download,%,$@) fetch
  45. $(CMD_TRACE) " done"
  46. $(END_TRACE)
  47. %-host-compile:
  48. $(START_TRACE) "package/$(patsubst %-host-compile,%,$@)-host-compile: "
  49. $(MAKE) -C $(patsubst %-host-compile,%,$@) hostpackage
  50. $(CMD_TRACE) " done"
  51. $(END_TRACE)
  52. %-compile:
  53. $(START_TRACE) "package/$(patsubst %-compile,%,$@)-compile: "
  54. @if test -f $(ADK_TOPDIR)/.rebuild.$(patsubst %-compile,%,$@); then \
  55. $(MAKE) -C $(patsubst %-compile,%,$@) clean ; \
  56. rm $(ADK_TOPDIR)/.rebuild.$(patsubst %-compile,%,$@) ; \
  57. fi
  58. $(MAKE) -C $(patsubst %-compile,%,$@) fake build-all-pkgs
  59. $(CMD_TRACE) " done"
  60. $(END_TRACE)
  61. %-install:
  62. $(START_TRACE) "package/$(patsubst %-install,%,$@)-install: "
  63. $(MAKE) -C $(patsubst %-install,%,$@) install
  64. $(CMD_TRACE) " done"
  65. $(END_TRACE)
  66. %-clean:
  67. $(START_TRACE) "package/$(patsubst %-clean,%,$@)-clean: "
  68. $(MAKE) -C $(patsubst %-clean,%,$@) clean
  69. $(CMD_TRACE) " done"
  70. $(END_TRACE)