Опитвам се да използвам GNU Make за автоматично конвертиране на набор от .mmpz
файлове в .ogg
файлове с помощта на lmms
. В момента има бъг в lmms
, който го кара да се отклонява от грешка след създаване на изходния файл, което кара make
да изплюе грешки. Добавянето на -
преди правилото принуждава make
да игнорира грешката и не му позволява да премахне изходния файл, но съобщенията за грешка все още се генерират. Опитах следното:
-@lmms -r $(MPPZDIR)/$*.mmpz -f ogg -o $(OGGDIR)/$*.ogg
-@lmms -r $(MPPZDIR)/$*.mmpz -f ogg -o $(OGGDIR)/$*.ogg 2> /dev/null
-@lmms -r $(MPPZDIR)/$*.mmpz -f ogg -o $(OGGDIR)/$*.ogg || true
които всички произвеждат нещо подобно на
/bin/sh: line 1: 3325 Segmentation fault (core dumped) lmms -r resources/mmpz/song.mmpz -f ogg -o content/music/song.ogg 2> /dev/null
Makefile:28: recipe for target 'content/music/song.ogg' failed
make: [content/music/song.ogg] Error 139 (ignored)
Като се има предвид, че segfault се очаква и не показва неуспешно създаване на изходния файл, има ли начин да скриете тази грешка, докато грешката не бъде коригирана? make -i
също изглежда все още извежда грешките.
|| true
има същия ефект като водещия-
при получаване на make за игнориране на грешката на командатаlmms
. - person Etan Reisner   schedule 03.10.2014|| true
е абсолютно за предпочитане пред водещото-
. Мисълта ми беше най-вече, че и двете не са необходими, както в ред три от примера за OP. - person Etan Reisner   schedule 03.10.2014