summaryrefslogtreecommitdiffstats
path: root/package/dtc/dtc.mk
diff options
context:
space:
mode:
Diffstat (limited to 'package/dtc/dtc.mk')
-rw-r--r--package/dtc/dtc.mk56
1 files changed, 56 insertions, 0 deletions
diff --git a/package/dtc/dtc.mk b/package/dtc/dtc.mk
new file mode 100644
index 000000000..76ff3617c
--- /dev/null
+++ b/package/dtc/dtc.mk
@@ -0,0 +1,56 @@
+#############################################################
+#
+# dtc
+#
+#############################################################
+
+DTC_VERSION = e4b497f367a3b2ae99cc52089a14a221b13a76ef
+DTC_SITE = git://git.jdl.com/software/dtc.git
+DTC_LICENSE = GPLv2+/BSD-2c
+DTC_LICENSE_FILES = README.license GPL
+DTC_INSTALL_STAGING = YES
+
+define DTC_POST_INSTALL_TARGET_RM_DTDIFF
+ rm -f $(TARGET_DIR)/usr/bin/dtdiff
+endef
+
+ifeq ($(BR2_PACKAGE_DTC_PROGRAMS),y)
+
+DTC_LICENSE += (for the library), GPLv2+ (for the executables)
+# Use default goal to build everything
+DTC_BUILD_GOAL =
+DTC_INSTALL_GOAL = install
+DTC_CLEAN_GOAL = clean
+ifeq ($(BR2_PACKAGE_BASH),)
+DTC_POST_INSTALL_TARGET_HOOKS += DTC_POST_INSTALL_TARGET_RM_DTDIFF
+endif
+
+else # $(BR2_PACKAGE_DTC_PROGRAMS) != y
+
+DTC_BUILD_GOAL = libfdt
+# libfdt_install is our own install rule added by our patch
+DTC_INSTALL_GOAL = libfdt_install
+DTC_CLEAN_GOAL = libfdt_clean
+
+endif # $(BR2_PACKAGE_DTC_PROGRAMS) != y
+
+define DTC_BUILD_CMDS
+ $(TARGET_CONFIGURE_OPTS) \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ $(MAKE) -C $(@D) PREFIX=/usr $(DTC_BUILD_GOAL)
+endef
+
+# For staging, only the library is needed
+define DTC_INSTALL_STAGING_CMDS
+ $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) PREFIX=/usr libfdt_install
+endef
+
+define DTC_INSTALL_TARGET_CMDS
+ $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) PREFIX=/usr $(DTC_INSTALL_GOAL)
+endef
+
+define DTC_CLEAN_CMDS
+ $(MAKE) -C $(@D) $(DTC_CLEAN_GOAL)
+endef
+
+$(eval $(generic-package))