help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: transcoding recipe request


From: David Greene
Subject: Re: transcoding recipe request
Date: Wed, 10 May 2006 15:03:52 -0500
User-agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.7.8) Gecko/20050512

Louis-David Mitterrand wrote:
> Hello,
> 
> I have a directory tree of sound files in .flac format and I am trying 
> to build a makefile to convert all these files to other formats (ogg, 
> alaw, mp3, etc.) in a similar, parallel directory tree. 
> 
> This is what I have:
> 
> /home/ldm/music/flac/classical/opera/author1/*.flac
> /home/ldm/music/flac/jazz/author2/*.flac
> /home/ldm/music/flac/rock/author2/*.flac
> etc...
> 
> and this is what I'd like the makefile to auto-generate:
> 
> /home/ldm/music/alaw/classical/opera/author1/*.alaw
> /home/ldm/music/alaw/jazz/author2/*.alaw
> /home/ldm/music/alaw/rock/author2/*.alaw
> etc...
> 
> (the directory tree has a variable depth)
> 
> Here is the rule I wrote to convert the files:
> 
> %.al: %.flac 
>     flac -cds $< | sox -S -t wav - -r 8000 -c 1 $@ resample -ql
>     mv $@ alaw
> 
> What I need is a way of:
> 
> - recursing into the flac directory tree, 
> - generate a target list from the flac files with patsubst
> - another way?
> 
> Thanks in advance for your suggestions,

Off the top of my head (drawing from recent experience):

# Assumes a UNIX-type environment
$(FLACS) := $(shell find /home/ldm/music/flac -name "*.flac" -print)

all: $(FLACS)

/home/ldm/music/alaw/%.alaw: /home/ldm/music/flac/%.flac
    flac -cds $< | sox -S -t wav - -r 8000 -c 1 $@ resample -ql

I've not tested this but it might give you a start.

                      -Dave




reply via email to

[Prev in Thread] Current Thread [Next in Thread]