It’s been a while since I’ve used make, so bear with me…
I’ve got a directory, flac, containing .FLAC files. I’ve got a corresponding directory, mp3 containing MP3 files. If a FLAC file is newer than the corresponding MP3 file (or the corresponding MP3 file doesn’t exist), then I want to run a bunch of commands to convert the FLAC file to an MP3 file, and copy the tags across.
The kicker: I need to search the flac directory recursively, and create corresponding subdirectories in the mp3 directory. The directories and files can have spaces in the names, and are named in UTF-8.
And I want to use make to drive this.
I would try something along these lines
A couple of quick notes for
makebeginners:@in front of the commands preventsmakefrom printing the command before actually running it.$(@D)is the directory part of the target file name ($@)Even if this should handle all UTF-8 characters and stuff, it will fail at spaces in file or directory names, as
makeuses spaces to separate stuff in the makefiles and I am not aware of a way to work around that. So that leaves you with just a shell script, I am afraid :-/