You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

194 lines
4.1 KiB

  1. # -*- mode: makefile -*-
  2. #========================================
  3. # DO NOT DELETE THE LINE BELOW
  4. _default: default
  5. # DO NOT DELETE THE LINE_ABOVE
  6. #========================================
  7. #========================================
  8. #
  9. # There are no user configurable options here.
  10. #
  11. # All user configurable options are in local.uses
  12. #
  13. include ./local.uses
  14. #
  15. #========================================
  16. #========================================
  17. # This is the USB driver for the FTDI2XX chips.
  18. # It is a "closed" solution from FTDICHIP.COM
  19. # Some claim it is faster then the open/free
  20. # solution: win32-libusb+libftdi.
  21. #
  22. ftd2xx.download:
  23. mkdir -p ${VIRGINS}
  24. wget -O ${FTD2XX_ZIPFILE_LOCAL} \
  25. ${FTD2XX_ZIPFILE_URL}
  26. ftd2xx.unpack:
  27. rm -rf ${FTD2XX_WIN32_DIR}
  28. mkdir -p ${FTD2XX_WIN32_DIR}
  29. cd ${FTD2XX_WIN32_DIR} && unzip \
  30. ${FTD2XX_ZIPFILE_LOCAL}
  31. ftd2xx.build:
  32. @echo "Nothing to do for: $@"
  33. ftd2xx.configure:
  34. @echo "Nothing to do for: $@"
  35. ftd2xx.install:
  36. @echo "Nothing to do for: $@"
  37. clean::
  38. rm -rf ${FTD2XX_WIN32_DIR}
  39. ftd2xx.all: ftd2xx.unpack ftd2xx.configure \
  40. ftd2xx.build ftd2xx.install
  41. #========================================-
  42. # LIBFTDI - requires LIBCONFUSE..
  43. # So we handle it here :-(
  44. libconfuse.download:
  45. mkdir -p virgins
  46. wget -O ${LIBCONFUSE_TARFILE_LOCAL} \
  47. ${LIBCONFUSE_TARFILE_URL}
  48. libconfuse.unpack:
  49. tar xfz ${LIBCONFUSE_TARFILE_LOCAL}
  50. clean::
  51. rm -rf ${LIBCONFUSE_SRC_DIR}
  52. libconfuse.configure:
  53. rm -rf ${LIBCONFUSE_BUILD_DIR}
  54. mkdir -p ${LIBCONFUSE_BUILD_DIR}
  55. cd ${LIBCONFUSE_BUILD_DIR} && \
  56. ${LIBCONFUSE_SRC_DIR}/configure \
  57. --prefix=${PREFIX}
  58. clean::
  59. rm -rf ${LIBCONFUSE_BUILD_DIR}
  60. libconfuse.build:
  61. cd ${LIBCONFUSE_BUILD_DIR} && ${MAKE}
  62. libconfuse.install:
  63. cd ${LIBCONFUSE_BUILD_DIR} && ${MAKE} install
  64. libconfuse.all: libconfuse.unpack libconfuse.configure \
  65. libconfuse.build libconfuse.install
  66. #========================================
  67. # LIBFTDI - the open source (and free)
  68. # alternative to (closed) FTD2XX drivers.
  69. libftdi.download:
  70. mkdir -p virgins
  71. wget -O ${LIBFTDI_TARFILE_LOCAL} \
  72. ${LIBFTDI_TARFILE_URL}
  73. libftdi.unpack:
  74. tar xfz ${LIBFTDI_TARFILE_LOCAL}
  75. clean::
  76. rm -rf ${LIBFTDI_SRC_DIR}
  77. libftdi.configure:
  78. rm -rf ${LIBFTDI_BUILD_DIR}
  79. mkdir -p ${LIBFTDI_BUILD_DIR}
  80. cd ${LIBFTDI_BUILD_DIR} && \
  81. ${LIBFTDI_SRC_DIR}/configure \
  82. --prefix=${PREFIX}
  83. clean::
  84. rm -rf ${LIBFTDI_BUILD_DIR}
  85. libftdi.build:
  86. cd ${LIBFTDI_BUILD_DIR} && ${MAKE}
  87. libftdi.install:
  88. cd ${LIBFTDI_BUILD_DIR} && ${MAKE} install
  89. libftdi.all: libftdi.unpack libftdi.configure \
  90. libftdi.build libftdi.install
  91. #========================================
  92. # Openocd...
  93. openocd.bootstrap:
  94. cd ${OPENOCD_SRC_DIR} && bash ./bootstrap
  95. openocd.configure:
  96. rm -rf ${OPENOCD_BUILD_DIR}
  97. mkdir -p ${OPENOCD_BUILD_DIR}
  98. cd ${OPENOCD_BUILD_DIR} && ${OPENOCD_SRC_DIR}/configure \
  99. --prefix=${INSTALL_DIR} \
  100. ${OPENOCD_CONFIG_OPTIONS}
  101. openocd.build:
  102. cd ${OPENOCD_BUILD_DIR} && ${MAKE}
  103. openocd.docs:
  104. cd ${OPENOCD_BUILD_DIR}/docs && ${MAKE}
  105. openocd.docs.pdf:
  106. cd ${OPENOCD_BUILD_DIR}/docs && ${MAKE} pdf
  107. openocd.docs.html:
  108. cd ${OPENOCD_BUILD_DIR}/docs && ${MAKE} html
  109. # fixme:
  110. # need to add a "make one huge html file target"
  111. openocd.install:
  112. cd ${OPENOCD_BUILD_DIR} && ${MAKE} install
  113. #========================================
  114. # The world...
  115. # Manual step.
  116. download.all: \
  117. ftd2xx.download \
  118. libconfuse.download \
  119. libftdi.download
  120. ifeq (x"${FT2232_DRIVER}",x"ftd2xx")
  121. prebuild: ftd2xx.all
  122. endif
  123. ifeq (x"${FT2232_DRIVER}",x"libftdi")
  124. prebuild: libconfuse.all libftdi.all
  125. endif
  126. remake: \
  127. openocd.bootstrap \
  128. openocd.configure \
  129. openocd.build \
  130. openocd.install
  131. initial.build : download.all prebuild remake
  132. all:
  133. @echo ""
  134. @echo " This makefile does not support an 'all' target"
  135. @echo ""
  136. @echo " If this is your *FIRST* time building... "
  137. @echo " Then use this command: \"make initial.build\""
  138. @echo ""
  139. @echo " The \"default\" target is for openocd developers"
  140. @echo " and rebuilds openocd completely.."
  141. @echo ""
  142. default:
  143. test -d ${OPENOCD_SRC_DIR} || (echo "Where is: The OPENOCD source?"; exit 1)
  144. ${MAKE} remake
  145. whatis_%:
  146. @echo ""
  147. @echo "Makevariable: $* => ${${*}}"
  148. @echo ""