summaryrefslogtreecommitdiff
path: root/package/lmbench
diff options
context:
space:
mode:
authorKelvin Cheung <keguang.zhang@gmail.com>2009-11-11 10:51:02 +0800
committerPeter Korsgaard <jacmet@sunsite.dk>2010-03-23 23:07:30 +0100
commit0e9aad6c717505bdb3dd9f87ac93acff9c3111b1 (patch)
tree012e59070797b98b7cfb9a4f50f0c9bc1e1bdfce /package/lmbench
parentabbf529f96c75e71c7eba364a1d3341b88a6520d (diff)
Add lmbench
Closes #661 Signed-off-by: Kelvin Cheung <keguang.zhang@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'package/lmbench')
-rw-r--r--package/lmbench/Config.in7
-rw-r--r--package/lmbench/lmbench.mk47
2 files changed, 54 insertions, 0 deletions
diff --git a/package/lmbench/Config.in b/package/lmbench/Config.in
new file mode 100644
index 000000000..704b3ff7f
--- /dev/null
+++ b/package/lmbench/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_LMBENCH
+ bool "lmbench"
+ help
+ LMbench is a suite of simple, portable,
+ ANSI/C microbenchmarks for UNIX/POSIX.
+
+ http://sourceforge.net/projects/lmbench/
diff --git a/package/lmbench/lmbench.mk b/package/lmbench/lmbench.mk
new file mode 100644
index 000000000..7083527de
--- /dev/null
+++ b/package/lmbench/lmbench.mk
@@ -0,0 +1,47 @@
+#############################################################
+#
+# lmbench
+#
+#############################################################
+LMBENCH_VERSION:=3.0-a9
+LMBENCH_SOURCE:=lmbench-$(LMBENCH_VERSION).tgz
+LMBENCH_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/lmbench/development/lmbench-3.0-a9/
+LMBENCH_CAT:=$(ZCAT)
+LMBENCH_DIR:=$(BUILD_DIR)/lmbench-$(LMBENCH_VERSION)
+LMBENCH_BIN:=lmbench
+LMBENCH_TARGET_BIN:=usr/bin/$(LMBENCH_BIN)
+
+$(DL_DIR)/$(LMBENCH_SOURCE):
+ $(call DOWNLOAD,$(LMBENCH_SITE),$(LMBENCH_SOURCE))
+
+$(LMBENCH_DIR)/.unpacked: $(DL_DIR)/$(LMBENCH_SOURCE)
+ $(LMBENCH_CAT) $(DL_DIR)/$(LMBENCH_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+ toolchain/patch-kernel.sh $(LMBENCH_DIR) package/lmbench lmbench-$(LMBENCH_VERSION)\*.patch
+ $(CONFIG_UPDATE) $(LMBENCH_DIR)
+ sed -i 's/CFLAGS=/CFLAGS+=/g' $(LMBENCH_DIR)/src/Makefile
+ touch $@
+
+$(LMBENCH_DIR)/bin/$(ARCH)/$(LMBENCH_BIN): $(LMBENCH_DIR)/.unpacked
+ $(MAKE) CFLAGS="$(TARGET_CFLAGS)" OS=$(ARCH) CC=$(TARGET_CC) -C $(LMBENCH_DIR)/src
+
+$(TARGET_DIR)/$(LMBENCH_TARGET_BIN): $(LMBENCH_DIR)/bin/$(ARCH)/$(LMBENCH_BIN)
+ $(MAKE) CFLAGS="$(TARGET_CFLAGS)" OS=$(ARCH) CC=$(TARGET_CC) BASE=$(TARGET_DIR)/usr -C $(LMBENCH_DIR)/src install
+
+lmbench: $(TARGET_DIR)/$(LMBENCH_TARGET_BIN)
+
+lmbench-source: $(DL_DIR)/$(LMBENCH_SOURCE)
+
+lmbench-clean:
+ -$(MAKE) -C $(LMBENCH_DIR)/src clean
+
+lmbench-dirclean:
+ rm -rf $(LMBENCH_DIR)
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(BR2_PACKAGE_LMBENCH),y)
+TARGETS+=lmbench
+endif