#makefile #gnu-make
#makefile создать файл #gnu-make
Вопрос:
У меня есть переменная GNU make с несколькими аудиофайлами в ней:
FILEWAV = $(wildcard $(DIRIN)/*.wav)
Мне нужно преобразовать wav в файлы f32 с помощью SoX:
sox -channels 1 --rate 48000 $(FILEWAV) --type raw $(FILEWAV:.wav=.f32)
Как бы я написал целевой файл makefile для преобразования всех файлов один за другим?
Комментарии:
1. Вы ознакомились с документацией Make? Раздел о правилах шаблонов может представлять особый интерес.
2. Если вы покажете нам makefile, который вы пытались написать, и предоставите несколько сообщений об ошибках или объясните, как это не работает, мы сможем объяснить ошибку в вашем makefile.
Ответ №1:
Это работает:
%.f32: %.wav
sox --channels 1 --encoding signed-integer --rate 48000
lt; --type raw $@
run: $(MY_FILES_F32) $(MY_OTHER_FILES_F32)