Makefile.am 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. ACLOCAL_AMFLAGS = -I m4
  2. if WANT_JANSSON
  3. JANSSON_INCLUDES= -I$(top_srcdir)/compat/jansson
  4. else
  5. JANSSON_INCLUDES=
  6. endif
  7. EXTRA_DIST = example.conf m4/gnulib-cache.m4 linux-usb-bfgminer \
  8. api-example.php miner.php \
  9. API.class API.java api-example.c windows-build.txt \
  10. bitstreams/* API-README FPGA-README SCRYPT-README
  11. SUBDIRS = lib compat ccan
  12. INCLUDES = $(PTHREAD_FLAGS) -fno-strict-aliasing $(JANSSON_INCLUDES) $(USB_FLAGS)
  13. bin_PROGRAMS = bfgminer
  14. bin_SCRIPTS = *.cl
  15. bfgminer_LDFLAGS = $(PTHREAD_FLAGS)
  16. bfgminer_LDADD = $(DLOPEN_FLAGS) @LIBCURL_LIBS@ @JANSSON_LIBS@ @PTHREAD_LIBS@ \
  17. @NCURSES_LIBS@ @PDCURSES_LIBS@ @WS2_LIBS@ \
  18. @TIMER_LIBS@ \
  19. @UDEV_LIBS@ @USB_LIBS@ \
  20. @MATH_LIBS@ lib/libgnu.a ccan/libccan.a
  21. bfgminer_CPPFLAGS = -I$(top_builddir)/lib -I$(top_srcdir)/lib
  22. # common sources
  23. bfgminer_SOURCES := miner.c
  24. bfgminer_SOURCES += elist.h miner.h compat.h bench_block.h \
  25. util.c uthash.h logging.h \
  26. sha2.c sha2.h api.c
  27. if NEED_LIBBLKMAKER
  28. bfgminer_LDADD += libblkmaker/libblkmaker.so libblkmaker/libblkmaker_jansson.so
  29. bfgminer_CPPFLAGS += -Ilibblkmaker
  30. bfgminer_LDFLAGS += -Llibblkmaker -Wl,-rpath,libblkmaker -lblkmaker -lblkmaker_jansson
  31. libblkmaker/libblkmaker.so libblkmaker/libblkmaker_jansson.so:
  32. cd libblkmaker && $(MAKE) $(AM_MAKEFLAGS) CFLAGS="$(CFLAGS)" CC="$(CC)" $(@:libblkmaker/%=%)
  33. endif
  34. bfgminer_SOURCES += logging.c
  35. # GPU sources, TODO: make them selectable
  36. # the GPU portion extracted from original main.c
  37. bfgminer_SOURCES += driver-opencl.h driver-opencl.c
  38. # the original GPU related sources, unchanged
  39. bfgminer_SOURCES += ocl.c ocl.h findnonce.c findnonce.h
  40. bfgminer_SOURCES += adl.c adl.h adl_functions.h
  41. bfgminer_SOURCES += *.cl
  42. if HAS_SCRYPT
  43. bfgminer_SOURCES += scrypt.c scrypt.h
  44. endif
  45. if HAS_CPUMINE
  46. # original CPU related sources, unchanged
  47. bfgminer_SOURCES += \
  48. sha256_generic.c sha256_4way.c sha256_via.c \
  49. sha256_cryptopp.c sha256_sse2_amd64.c \
  50. sha256_sse4_amd64.c sha256_sse2_i386.c \
  51. sha256_altivec_4way.c
  52. # the CPU portion extracted from original main.c
  53. bfgminer_SOURCES += driver-cpu.h driver-cpu.c
  54. if HAS_YASM
  55. AM_CFLAGS = -DHAS_YASM
  56. if HAVE_x86_64
  57. SUBDIRS += x86_64
  58. bfgminer_LDADD += x86_64/libx8664.a
  59. else # HAVE_x86_64
  60. SUBDIRS += x86_32
  61. bfgminer_LDADD += x86_32/libx8632.a
  62. endif # HAVE_x86_64
  63. endif # HAS_YASM
  64. endif # HAS_CPUMINE
  65. if NEED_FPGAUTILS
  66. bfgminer_SOURCES += fpgautils.c fpgautils.h
  67. endif
  68. if HAS_BITFORCE
  69. bfgminer_SOURCES += driver-bitforce.c
  70. if HAVE_WINDOWS
  71. else
  72. bin_PROGRAMS += bitforce-firmware-flash
  73. bitforce_firmware_flash_SOURCES = bitforce-firmware-flash.c
  74. endif
  75. endif
  76. if HAS_ICARUS
  77. bfgminer_SOURCES += driver-icarus.c icarus-common.h
  78. bfgminer_SOURCES += driver-cairnsmore.c
  79. endif
  80. if HAS_MODMINER
  81. bfgminer_SOURCES += driver-modminer.c
  82. bitstreamsdir = $(bindir)/bitstreams
  83. dist_bitstreams_DATA = bitstreams/*
  84. endif
  85. if HAS_ZTEX
  86. bfgminer_SOURCES += driver-ztex.c libztex.c libztex.h
  87. bitstreamsdir = $(bindir)/bitstreams
  88. dist_bitstreams_DATA = bitstreams/*
  89. endif