Commit e6c6723dd3df83fb8a9930517b5e30bbd58002f2

Authored by David Graeff
Committed by David Gräff
1 parent 7bf19564

Firmware: Use cmake to build firmware and fail early in bash script

CMakeLists.txt
@@ -18,6 +18,7 @@ include(cmake/CPackInfos.cmake) @@ -18,6 +18,7 @@ include(cmake/CPackInfos.cmake)
18 18
19 # Qt Widgets based Gui with OpenGL canvas 19 # Qt Widgets based Gui with OpenGL canvas
20 add_subdirectory(openhantek) 20 add_subdirectory(openhantek)
  21 +add_subdirectory(firmware EXCLUDE_FROM_ALL)
21 22
22 if (WIN32) 23 if (WIN32)
23 install(FILES COPYING readme.md DESTINATION ".") 24 install(FILES COPYING readme.md DESTINATION ".")
firmware/CMakeLists.txt 0 → 100644
  1 +project(FirmwareExtractor C)
  2 +
  3 +find_library( BFD_LIBRARY NAMES bfd libbdf PATH /usr/lib /usr/lib64 )
  4 +find_path(BFD_INCLUDE bfd.h PATHS /usr/include
  5 + /usr/local/include
  6 + /opt/local/include
  7 + /sw/include)
  8 +
  9 +
  10 +if (NOT BFD_LIBRARY OR NOT BFD_INCLUDE)
  11 + message(STATUS "BFD not found. Please install binutils-devel (fedora) / binutils-dev (ubuntu)")
  12 + return()
  13 +endif()
  14 +
  15 +add_executable(${PROJECT_NAME} extractfw.c)
  16 +target_link_libraries(${PROJECT_NAME} ${BFD_LIBRARY} )
  17 +target_include_directories(${PROJECT_NAME} PRIVATE ${BFD_INCLUDE})
firmware/Makefile deleted
1 -CFLAGS=-g -O2  
2 -LDLIBS=-lbfd -liberty -lz -ldl  
3 -  
4 -extractfw: extractfw.o  
5 -  
6 -clean:  
7 - rm -f extractfw extractfw.o  
firmware/fwget.sh
@@ -2,20 +2,18 @@ @@ -2,20 +2,18 @@
2 2
3 shopt -s globstar 3 shopt -s globstar
4 4
5 -cd "$(dirname "$0")"  
6 -make  
7 -rm -rf tmp  
8 -mkdir tmp 5 +rm -rf build
  6 +mkdir build && cd build && cmake ../ && make && cd ..
9 7
10 -cd tmp 8 +if [ ! -d ./hex ]; then
  9 +mkdir hex && cd hex && \
11 for MODEL in "2090" "2150" "2250" "5200" "5200A"; do 10 for MODEL in "2090" "2150" "2250" "5200" "5200A"; do
12 wget http://www.hantek.com/Product/DSO2000/DSO${MODEL}_Driver.zip 11 wget http://www.hantek.com/Product/DSO2000/DSO${MODEL}_Driver.zip
13 unzip DSO${MODEL}_Driver.zip 12 unzip DSO${MODEL}_Driver.zip
14 -done 13 +done && \
15 cd .. 14 cd ..
  15 +fi
16 16
17 -for f in tmp/**/*.sys; do  
18 - ./extractfw $f 17 +for f in hex/**/*.sys; do
  18 + ./build/FirmwareExtractor $f && rm $f
19 done 19 done
20 -mv tmp/**/*.hex .  
21 -rm -rf tmp