Здравствуйте!
Есть такой makefile (основан на примерах из scmRTOS в ветке для avr-gcc)
Цитата
all: begin $(TRGPGM) dump printok
begin:
echo ======== Beginning of project "$(TRG)" processing ; $(CC) --version ;\
mkdir -p $(OBJDIR) $(EXEDIR) $(LSTDIR)
recode utf8..cp1251 $(TEXT_MESSAGE_DIRECTORY)/strings.cpp ........ (1)
printok: $(TRGELF)
echo ======== All OK, project size: ; $(ELFSIZE) $<
recode -f cp1251..utf8 $(TEXT_MESSAGE_DIRECTORY)/strings.cpp ........ (2)
Суть такая, есть файл strings.cpp где хранятся строки выводимые на экран ЖКИ (на кириллице). По умолчанию система сделана для вывода строк в кодировке CP1251, у меня же все исходники в кодировке unicode и дежать один файл в "неродной" кодировке мне не хочется, да и не очень это удобно. Для этого, я перед каждой сборкой, перекодирую файл в CP1251 (
см. пункт "1"), а в конце обратно перегоняю в удобную для меня кодировку (
пункт "2"). Но есть небольшая проблема - если при работе Make возвращает ошибку, то тогда файл не будет обратно преобразован в unicode.
Можно ли как-то средствами утилиты GNU Make "перехватить" ошибку и сделать какие-то действия (выполнить
пункт "2")?
Спасибо за внимание!