xref: /OK3568_Linux_fs/buildroot/package/dtc/dtc.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# dtc
4#
5################################################################################
6
7DTC_VERSION = 1.6.1
8DTC_SOURCE = dtc-$(DTC_VERSION).tar.xz
9DTC_SITE = https://www.kernel.org/pub/software/utils/dtc
10DTC_LICENSE = GPL-2.0+ or BSD-2-Clause (library)
11DTC_LICENSE_FILES = README.license GPL BSD-2-Clause
12DTC_CPE_ID_VENDOR = dtc_project
13DTC_INSTALL_STAGING = YES
14DTC_DEPENDENCIES = host-bison host-flex host-pkgconf
15HOST_DTC_DEPENDENCIES = host-bison host-flex host-pkgconf
16
17DTC_MAKE_OPTS = \
18	PREFIX=/usr \
19	NO_PYTHON=1 \
20	NO_VALGRIND=1
21
22# For the host, we install headers in a special subdirectory to avoid
23# conflicts with the in-kernel libfdt copy.
24HOST_DTC_MAKE_OPTS = \
25	PREFIX=$(HOST_DIR) \
26	INCLUDEDIR=$(HOST_DIR)/include/libfdt \
27	NO_PYTHON=1 \
28	NO_VALGRIND=1 \
29	NO_YAML=1
30
31ifeq ($(BR2_PACKAGE_LIBYAML),y)
32DTC_DEPENDENCIES += libyaml
33else
34DTC_MAKE_OPTS += NO_YAML=1
35endif
36
37define DTC_POST_INSTALL_TARGET_RM_DTDIFF
38	rm -f $(TARGET_DIR)/usr/bin/dtdiff
39endef
40
41ifeq ($(BR2_PACKAGE_DTC_PROGRAMS),y)
42
43DTC_LICENSE += , GPL-2.0+ (programs)
44DTC_INSTALL_GOAL = install
45ifeq ($(BR2_PACKAGE_BASH),)
46DTC_POST_INSTALL_TARGET_HOOKS += DTC_POST_INSTALL_TARGET_RM_DTDIFF
47endif
48
49else # $(BR2_PACKAGE_DTC_PROGRAMS) != y
50
51DTC_INSTALL_GOAL = install-lib
52
53endif # $(BR2_PACKAGE_DTC_PROGRAMS) != y
54
55define DTC_BUILD_CMDS
56	$(TARGET_CONFIGURE_OPTS) $(MAKE) EXTRA_CFLAGS="$(TARGET_CFLAGS) -fPIC" -C $(@D) $(DTC_MAKE_OPTS)
57endef
58
59# For staging, only the library is needed
60define DTC_INSTALL_STAGING_CMDS
61	$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) $(DTC_MAKE_OPTS) install-lib \
62		install-includes
63endef
64
65define DTC_INSTALL_TARGET_CMDS
66	$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) $(DTC_MAKE_OPTS) $(DTC_INSTALL_GOAL)
67endef
68
69# host build
70define HOST_DTC_BUILD_CMDS
71	$(HOST_CONFIGURE_OPTS) $(MAKE) EXTRA_CFLAGS="$(HOST_CFLAGS) -fPIC" -C $(@D) $(HOST_DTC_MAKE_OPTS)
72endef
73
74define HOST_DTC_INSTALL_CMDS
75	$(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(HOST_DTC_MAKE_OPTS) install
76endef
77
78$(eval $(generic-package))
79$(eval $(host-generic-package))
80