Makefile 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. #
  2. # Copyright 2013 Luke Dashjr
  3. #
  4. # This program is free software; you can redistribute it and/or modify it
  5. # under the terms of the GNU General Public License as published by the Free
  6. # Software Foundation; either version 3 of the License, or (at your option)
  7. # any later version. See COPYING for more details.
  8. #
  9. include $(TOPDIR)/rules.mk
  10. PKG_NAME:=bfgminer
  11. PKG_TITLE:=BFGMiner
  12. PKG_VERSION:=3.10.0
  13. PKG_RELEASE:=1
  14. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tbz2
  15. PKG_SOURCE_URL:=http://luke.dashjr.org/programs/bitcoin/files/$(PKG_NAME)/$(PKG_VERSION)/
  16. PKG_INSTALL:=1
  17. include $(INCLUDE_DIR)/package.mk
  18. define Download/uthash
  19. FILE:=v1.9.8
  20. URL:=https://codeload.github.com/troydhanson/uthash/tar.gz/
  21. endef
  22. $(eval $(call Download,uthash))
  23. define Package/$(PKG_NAME)/Default
  24. MAINTAINER:="Luke Dashjr" <luke_openwrt@dashjr.org>
  25. SECTION:=utils
  26. CATEGORY:=Utilities
  27. URL:=http://luke.dashjr.org/programs/$(PKG_NAME)
  28. DEPENDS:=+$(PKG_NAME)
  29. endef
  30. define Package/$(PKG_NAME)
  31. $(call Package/$(PKG_NAME)/Default)
  32. TITLE:=$(PKG_TITLE) (Bitcoin miner)
  33. DEPENDS:=+libc +libcurl +libpthread +jansson +PACKAGE_$(PKG_NAME)_libevent:libevent2 +PACKAGE_$(PKG_NAME)_curses:libncurses +PACKAGE_$(PKG_NAME)_libmicrohttpd:libmicrohttpd +PACKAGE_$(PKG_NAME)_libusb:libusb-1.0
  34. endef
  35. define Package/$(PKG_NAME)/description
  36. Modular Bitcoin ASIC/FPGA/GPU/CPU miner in C
  37. endef
  38. define Package/$(PKG_NAME)/config
  39. config PACKAGE_$(PKG_NAME)_curses
  40. bool "Build with curses TUI support"
  41. depends on PACKAGE_$(PKG_NAME)
  42. default y
  43. config PACKAGE_$(PKG_NAME)_libevent
  44. bool "Build with stratum server support"
  45. depends on PACKAGE_$(PKG_NAME)
  46. default y
  47. config PACKAGE_$(PKG_NAME)_libmicrohttpd
  48. bool "Build with getwork server support (Block Erupter blades)"
  49. depends on PACKAGE_$(PKG_NAME)
  50. default y
  51. config PACKAGE_$(PKG_NAME)_libusb
  52. bool "Build with libusb support (X6500 & ZTEX)"
  53. depends on PACKAGE_$(PKG_NAME)
  54. default y
  55. endef
  56. ifndef CONFIG_PACKAGE_$(PKG_NAME)_curses
  57. CONFIGURE_ARGS += --without-curses
  58. else
  59. CONFIGURE_ARGS += --with-curses=ncurses
  60. endif
  61. ifndef CONFIG_PACKAGE_$(PKG_NAME)_libevent
  62. CONFIGURE_ARGS += --without-libevent
  63. else
  64. CONFIGURE_ARGS += --with-libevent
  65. endif
  66. ifndef CONFIG_PACKAGE_$(PKG_NAME)_libmicrohttpd
  67. CONFIGURE_ARGS += --without-libmicrohttpd
  68. else
  69. CONFIGURE_ARGS += --with-libmicrohttpd
  70. endif
  71. ifndef CONFIG_PACKAGE_$(PKG_NAME)_libusb
  72. CONFIGURE_ARGS += --disable-x6500 --disable-ztex
  73. endif
  74. TARGET_CFLAGS += -std=gnu99
  75. TARGET_CFLAGS += -Iuthash-1.9.8/src
  76. CONFIGURE_ARGS += --without-libudev
  77. CONFIGURE_ARGS += --without-sensors
  78. define Build/Prepare
  79. $(call Build/Prepare/Default)
  80. gzip -dc $(DL_DIR)/v1.9.8 | $(HOST_TAR) -C $(PKG_BUILD_DIR) $(TAR_OPTIONS)
  81. endef
  82. define Build/Configure
  83. # Need to remake configure etc to pick up on cross-compiler libtool
  84. ( cd $(PKG_BUILD_DIR); NOSUBMODULES=1 ./autogen.sh; )
  85. $(call Build/Configure/Default)
  86. endef
  87. define Package/$(PKG_NAME)/install
  88. $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib
  89. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/$(PKG_NAME) $(1)/usr/bin
  90. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/$(PKG_NAME)-rpc $(1)/usr/bin
  91. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libblkmaker*.so* $(1)/usr/lib
  92. endef
  93. ALL_$(PKG_NAME)_PACKAGES += $(PKG_NAME)
  94. #### BitForce firmware flash ####
  95. define Package/bitforce-firmware-flash
  96. $(call Package/$(PKG_NAME)/Default)
  97. TITLE:=BitForce firmware flash tool
  98. endef
  99. define Package/bitforce-firmware-flash/description
  100. BitForce firmware flash tool
  101. endef
  102. define Package/bitforce-firmware-flash/install
  103. $(INSTALL_DIR) $(1)/usr/bin
  104. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/bitforce-firmware-flash $(1)/usr/bin
  105. endef
  106. ALL_$(PKG_NAME)_PACKAGES += bitforce-firmware-flash
  107. $(foreach bitstream,$(ALL_$(PKG_NAME)_PACKAGES),$(eval $(call BuildPackage,$(bitstream))))