fix recursive dependency
[openadk.git] / package / Makefile
bloba5b851d028d6fa6ece171425d741adde8eb72512
1 # This file is part of the OpenADK project. OpenADK is copyrighted
2 # material, please see the LICENCE file in the top-level directory.
4 # Main makefile for the packages
6 include $(ADK_TOPDIR)/rules.mk
8 ifeq (${ADK_TARGET_LIB_GLIBC},y)
9 package-$(ADK_PACKAGE_GLIBC) += glibc
10 gcc-compile: glibc-compile
11 endif
13 ifeq (${ADK_TARGET_LIB_MUSL},y)
14 package-$(ADK_PACKAGE_MUSL) += musl
15 gcc-compile: musl-compile
16 endif
18 ifeq (${ADK_TARGET_LIB_UCLIBC},y)
19 package-$(ADK_PACKAGE_UCLIBC) += uclibc
20 package-$(ADK_PACKAGE_UCLIBCXX) += uclibc++
21 gcc-compile: uclibc-compile
22 endif
24 ifeq (${ADK_TARGET_LIB_UCLIBC_NG},y)
25 package-$(ADK_PACKAGE_UCLIBC_NG) += uclibc-ng
26 package-$(ADK_PACKAGE_UCLIBCXX) += uclibc++
27 gcc-compile: uclibc-ng-compile
28 endif
30 package-$(ADK_PACKAGE_LIBPTHREAD) += libpthread
32 include $(ADK_TOPDIR)/package/Depends.mk
34 COMPILE_PACKAGES:=$(patsubst %,%-compile,$(package-y))
35 HOST_COMPILE_PACKAGES:=$(patsubst %,%-host-compile,$(hostpackage-y))
36 INSTALL_PACKAGES:=$(patsubst %,%-install,$(package-y))
38 ifeq ($(ADK_TARGET_LIBICONV),y)
39 COMPILE_ICONV:=libiconv-compile
40 INSTALL_ICONV:=libiconv-install
41 endif
42 ifeq ($(ADK_TARGET_LIBICONV_TINY),y)
43 COMPILE_ICONV:=libiconv-tiny-compile
44 INSTALL_ICONV:=libiconv-tiny-install
45 endif
47 all: compile
48 download: $(patsubst %,%-download,$(package-y))
49 clean: $(patsubst %,%-clean,$(package-) $(package-y) base-files)
50 hostcompile: $(HOST_COMPILE_PACKAGES)
51 ifeq ($(ADK_TOOLCHAIN_ONLY),y)
52 compile: $(COMPILE_PACKAGES)
53 install: $(INSTALL_PACKAGES)
54 else
55 compile: base-files-compile $(COMPILE_ICONV) $(COMPILE_PACKAGES)
56 install: base-files-install $(INSTALL_ICONV) $(INSTALL_PACKAGES)
57 endif
59 %-download:
60 $(START_TRACE) "package/$(patsubst %-download,%,$@)-download: "
61 $(MAKE) -C $(patsubst %-download,%,$@) fetch
62 $(CMD_TRACE) " done"
63 $(END_TRACE)
65 %-host-compile:
66 $(START_TRACE) "package/$(patsubst %-host-compile,%,$@)-host-compile: "
67 $(MAKE) -C $(patsubst %-host-compile,%,$@) hostpackage
68 $(CMD_TRACE) " done"
69 $(END_TRACE)
71 %-compile:
72 $(START_TRACE) "package/$(patsubst %-compile,%,$@)-compile: "
73 @if test -f $(ADK_TOPDIR)/.rebuild.$(patsubst %-compile,%,$@); then \
74 $(MAKE) -C $(patsubst %-compile,%,$@) clean ; \
75 rm $(ADK_TOPDIR)/.rebuild.$(patsubst %-compile,%,$@) ; \
77 $(MAKE) -C $(patsubst %-compile,%,$@) fake build-all-pkgs
78 $(CMD_TRACE) " done"
79 $(END_TRACE)
81 %-install:
82 $(START_TRACE) "package/$(patsubst %-install,%,$@)-install: "
83 $(MAKE) -C $(patsubst %-install,%,$@) install
84 $(CMD_TRACE) " done"
85 $(END_TRACE)
87 %-clean:
88 $(START_TRACE) "package/$(patsubst %-clean,%,$@)-clean: "
89 $(MAKE) -C $(patsubst %-clean,%,$@) clean
90 $(CMD_TRACE) " done"
91 $(END_TRACE)