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