Commit e6c6723dd3df83fb8a9930517b5e30bbd58002f2
Committed by
David Gräff
1 parent
7bf19564
Firmware: Use cmake to build firmware and fail early in bash script
Showing
4 changed files
with
26 additions
and
17 deletions
CMakeLists.txt
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
firmware/fwget.sh
| ... | ... | @@ -2,20 +2,18 @@ |
| 2 | 2 | |
| 3 | 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 | 10 | for MODEL in "2090" "2150" "2250" "5200" "5200A"; do |
| 12 | 11 | wget http://www.hantek.com/Product/DSO2000/DSO${MODEL}_Driver.zip |
| 13 | 12 | unzip DSO${MODEL}_Driver.zip |
| 14 | -done | |
| 13 | +done && \ | |
| 15 | 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 | 19 | done |
| 20 | -mv tmp/**/*.hex . | |
| 21 | -rm -rf tmp | ... | ... |