Зачесалось тут прикрутить cmake для разработки прошивки 8051-совместимого контроллера. За неимением альтернатив компилятор — sdcc-3.4.0. В общем, по мануалу, найденному в гугле, создаю toolchain.cmake
# the name of the target operating system
SET(CMAKE_SYSTEM_NAME Generic)
# which compiler to use for C (dummy for CXX)
SET(CMAKE_C_COMPILER sdcc)
SET(CMAKE_CXX_COMPILER true)
# here is the target environment located
SET(CMAKE_FIND_ROOT_PATH /usr/share/sdcc)
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRIRY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
# set proper linker flags
SET(CMAKE_EXE_LINKER_FLAGS "--out-fmt-ihx --code-loc 0x400 --code-size 0x8000 --xram-loc 0xf000 --xram-size 0x300 --iram-size 0x100" CACHE STRING "Linker flags" FORCE)
и файл с проектом CMakeLists.txt:
PROJECT("TEST" C)
ADD_EXECUTABLE(hello bsp.c main.c)
Сборка такого мелкого проекта вполне работает после
$ mkdir build && cd build
$ cmake -DCMAKE_TOOLCHAIN_FILE=../toolchain.cmake ..
Но вот make clean не удаляет все файлы: остаются hello.lk, hello.map, hello.mem.
Подскажите, пожалуйста, куда копать, чтобы в спецификации тулчейна задать дополнительные файлы для цели clean.