Makefile 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. #
  2. # Author: Xiangfu Liu <xiangfu@openmobilefree.net>
  3. # Address: 12h6gdGnThW385JaX1LRMA8cXKmbYRTP8Q
  4. #
  5. # This is free and unencumbered software released into the public domain.
  6. # For details see the UNLICENSE file at the root of the source tree.
  7. #
  8. include $(TOPDIR)/rules.mk
  9. PKG_NAME:=cgminer
  10. ifeq ($(CONFIG_CGMINER_AVALON4),y)
  11. PKG_VERSION:=git-$(shell git ls-remote https://github.com/csa402/cgminer-gekko avalon4 | cut -f1 | cut -c1-7)
  12. PKG_REV:=avalon4
  13. endif
  14. ifeq ($(CONFIG_CGMINER_GEKKO),y)
  15. PKG_VERSION:=git-$(shell git ls-remote https://github.com/csa402/cgminer-gekko.git master | cut -f1 | cut -c1-7)
  16. PKG_REV:=master
  17. endif
  18. ifeq ($(CONFIG_CGMINER_ROCKMINER),y)
  19. PKG_VERSION:=git-$(shell git ls-remote https://github.com/wareck/cgminer-gekko.git master | cut -f1 | cut -c1-7)
  20. PKG_REV:=f8b12c8f424ef11d65be425db243416e9d0ef1d3
  21. endif
  22. #ifeq ($(CONFIG_CGMINER_BITMAIN),y)
  23. # PKG_VERSION:=git-$(shell git ls-remote https://github.com/csa402/cgminer-ants3.git master | cut -f1 | cut -c1-7)
  24. # PKG_REV:=master
  25. #endif
  26. ifeq ($(CONFIG_CGMINER_BITMAIN),y)
  27. PKG_VERSION:=git-$(shell git ls-remote https://github.com/csa402/cgminer-ants3.git master | cut -f1 | cut -c1-7)
  28. PKG_REV:=master
  29. endif
  30. #PKG_VERSION:=4.10.0
  31. #PKG_REV:=764b03ada628acd2ae917daa13e8afd6af088913
  32. PKG_RELEASE:=1
  33. PKG_INSTALL:=1
  34. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_REV).tar.bz2
  35. ifeq ($(CONFIG_CGMINER_AVALON4),y)
  36. PKG_SOURCE_URL:=git://github.com/wareck/cgminer-gekko.git
  37. endif
  38. ifeq ($(CONFIG_CGMINER_GEKKO),y)
  39. PKG_SOURCE_URL:=git://github.com/csa402/cgminer-gekko.git
  40. endif
  41. ifeq ($(CONFIG_CGMINER_BITMAIN),y)
  42. PKG_SOURCE_URL:=git://github.com/csa402/cgminer-ants3.git
  43. endif
  44. PKG_SOURCE_PROTO:=git
  45. PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
  46. PKG_SOURCE_VERSION:=$(PKG_REV)
  47. PKG_FIXUP:=autoreconf
  48. include $(INCLUDE_DIR)/package.mk
  49. define Package/cgminer
  50. SECTION:=utils
  51. CATEGORY:=Utilities
  52. TITLE:=cgminer
  53. URL:=https://github.com/ckolivas/cgminer
  54. ifeq ($(CONFIG_TARGET_brcm2708_RaspberryPi),)
  55. DEPENDS:=+libcurl +libpthread +jansson +udev
  56. else
  57. DEPENDS:=+libcurl +libpthread +jansson +udev +libncurses
  58. endif
  59. endef
  60. define Package/cgminer/description
  61. Cgminer is a multi-threaded multi-pool GPU, FPGA and CPU miner with ATI GPU
  62. monitoring, (over)clocking and fanspeed support for bitcoin and derivative
  63. coins. Do not use on multiple block chains at the same time!
  64. endef
  65. define Package/cgminer/config
  66. menu "Configuration"
  67. depends on PACKAGE_cgminer
  68. source "$(SOURCE)/Config.in"
  69. endmenu
  70. endef
  71. TARGET_LDFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib
  72. ifeq ($(CONFIG_CGMINER_AVALON1),y)
  73. CONFIGURE_ARGS += --enable-avalon
  74. endif
  75. ifeq ($(CONFIG_CGMINER_AVALON2),y)
  76. CONFIGURE_ARGS += --enable-avalon2
  77. endif
  78. ifeq ($(CONFIG_CGMINER_AVALON4),y)
  79. CONFIGURE_ARGS += --enable-avalon4
  80. endif
  81. ifeq ($(CONFIG_CGMINER_GEKKO),y)
  82. CONFIGURE_ARGS += --enable-gekko
  83. endif
  84. ifeq ($(CONFIG_CGMINER_BITMAIN),y)
  85. CONFIGURE_ARGS += --without-curses --enable-ants3
  86. endif
  87. ifeq ($(CONFIG_TARGET_brcm2708_RaspberryPi),)
  88. CONFIGURE_ARGS += --without-curses
  89. endif
  90. define Build/Compile
  91. $(call Build/Compile/Default)
  92. (cd $(PKG_BUILD_DIR) && \
  93. $(TARGET_CC) -Icompat/jansson -Icompat/libusb-1.0/libusb \
  94. api-example.c -o cgminer-api;)
  95. endef
  96. define Package/cgminer/install
  97. $(INSTALL_DIR) $(1)/usr/bin
  98. $(INSTALL_DIR) $(1)/etc/init.d
  99. $(INSTALL_DIR) $(1)/etc/config
  100. $(INSTALL_BIN) $(PKG_BUILD_DIR)/cgminer-api $(1)/usr/bin
  101. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/cgminer $(1)/usr/bin
  102. ifeq ($(CONFIG_CGMINER_AVALON1),y)
  103. $(INSTALL_BIN) $(FILES_DIR)/cgminer-avalon1-monitor $(1)/usr/bin/cgminer-monitor
  104. $(INSTALL_BIN) $(FILES_DIR)/cgminer.avalon1.init $(1)/etc/init.d/cgminer
  105. $(CP) $(FILES_DIR)/cgminer.avalon1.config $(1)/etc/config/cgminer
  106. endif
  107. ifeq ($(CONFIG_CGMINER_AVALON2),y)
  108. $(INSTALL_BIN) $(FILES_DIR)/cgminer-avalon2-monitor $(1)/usr/bin/cgminer-monitor
  109. $(INSTALL_BIN) $(FILES_DIR)/cgminer.avalon2.init $(1)/etc/init.d/cgminer
  110. $(CP) $(FILES_DIR)/cgminer.avalon2.config $(1)/etc/config/cgminer
  111. endif
  112. ifeq ($(CONFIG_CGMINER_AVALON4),y)
  113. $(INSTALL_BIN) $(FILES_DIR)/cgminer-avalon4-monitor $(1)/usr/bin/cgminer-monitor
  114. $(INSTALL_BIN) $(FILES_DIR)/cgminer.avalon4.init $(1)/etc/init.d/cgminer
  115. $(CP) $(FILES_DIR)/cgminer.avalon4.config $(1)/etc/config/cgminer
  116. $(INSTALL_BIN) $(FILES_DIR)/mm-avalon4-upgrade $(1)/usr/bin/mmupgrade
  117. endif
  118. ifeq ($(CONFIG_CGMINER_GEKKO),y)
  119. $(INSTALL_BIN) $(FILES_DIR)/cgminer-gekko-monitor $(1)/usr/bin/cgminer-monitor
  120. $(INSTALL_BIN) $(FILES_DIR)/cgminer.gekko.init $(1)/etc/init.d/cgminer
  121. $(CP) $(FILES_DIR)/cgminer.gekko.config $(1)/etc/config/cgminer
  122. $(INSTALL_BIN) $(FILES_DIR)/mm-gekko-upgrade $(1)/usr/bin/mmupgrade
  123. endif
  124. ifeq ($(CONFIG_CGMINER_BITMAIN),y)
  125. $(INSTALL_BIN) $(FILES_DIR)/cgminer-bitmain-monitor $(1)/usr/bin/cgminer-monitor
  126. $(INSTALL_BIN) $(FILES_DIR)/cgminer.bitmain.init $(1)/etc/init.d/cgminer
  127. $(CP) $(FILES_DIR)/cgminer.bitmain.config $(1)/etc/config/cgminer
  128. $(INSTALL_BIN) $(FILES_DIR)/mm-bitmain-upgrade $(1)/usr/bin/mmupgrade
  129. endif
  130. endef
  131. $(eval $(call BuildPackage,cgminer))