SDL_mixer -> Makefile:65: *** multiple target patterns. S

Evandro,

your issue is actually related to the one explained there about SDL (not SDL mixer): http://lists.libsdl.org/pipermail/sdl-libsdl.org/2009-October/072669.html
Explanation: many carriage returns are missing @ your line 65. This comes from a buggy shell (typically a bug from msys/MinWG) that is unable to understand the CR’s in the echo command from your configure file.

You can either modify the configure of sdl mixer file to use the following syntax instead:

OBJECTS=echo $SOURCES
DEPENDS=echo $SOURCES
OBJECTS=echo "$OBJECTS" | sed 's,[^ ]*/\([^ ]*\)\.c,$(objects)/\1.lo,g'
DEPENDS=echo "$DEPENDS" | sed "s,\\([^ ]*\\)/\\([^ ]*\\)\\.c,\\\\ \\$(objects)/\\2.lo: \\1/\\2.c\\\\ \\$(LIBTOOL) --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"

VERSION_OBJECTS=echo $VERSION_SOURCES
VERSION_DEPENDS=echo $VERSION_SOURCES
VERSION_OBJECTS=echo "$VERSION_OBJECTS" | sed 's,[^ ]*/\([^ ]*\)\.rc,$(objects)/\1.o,g'
VERSION_DEPENDS=echo "$VERSION_DEPENDS" | sed "s,\\([^ ]*\\)/\\([^ ]*\\)\\.rc,\\\\ \\$(objects)/\\2.o: \\1/\\2.rc\\\\ \\$(WINDRES) \\$< \\$@,g"

PLAYWAVE_SOURCES="$srcdir/playwave.c"
PLAYWAVE_OBJECTS=echo $PLAYWAVE_SOURCES
PLAYWAVE_DEPENDS=echo $PLAYWAVE_SOURCES
PLAYWAVE_OBJECTS=echo "$PLAYWAVE_OBJECTS" | sed 's,[^ ]*/\([^ ]*\)\.c,$(objects)/\1.lo,g'
PLAYWAVE_DEPENDS=echo "$PLAYWAVE_DEPENDS" | sed "s,\\([^ ]*\\)/\\([^ ]*\\)\\.c,\\\\ \\$(objects)/\\2.lo: \\1/\\2.c\\\\ \\$(LIBTOOL) --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"

PLAYMUS_SOURCES="$srcdir/playmus.c"
PLAYMUS_OBJECTS=echo $PLAYMUS_SOURCES
PLAYMUS_DEPENDS=echo $PLAYMUS_SOURCES
PLAYMUS_OBJECTS=echo "$PLAYMUS_OBJECTS" | sed 's,[^ ]*/\([^ ]*\)\.c,$(objects)/\1.lo,g'
PLAYMUS_DEPENDS=echo "$PLAYMUS_DEPENDS" | sed "s,\\([^ ]*\\)/\\([^ ]*\\)\\.c,\\\\ \\$(objects)/\\2.lo: \\1/\\2.c\\\\ \\$(LIBTOOL) --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"

… It will work - i just tested it, but it’s heavy and fixing what’s not broken is not a good idea,

OR

update your Msys/MinGW Shell. You can update the msys bash/shell to bash-3.1.17-3-msys-1.0.13-bin.tar.lzma or better (google for it) that fixes this echo bug. Also be sure to use the lastest dependencies of the shell (bash+sh), in case the bug comes from one of the dependencies. Dependencies for this shell are libtermcap and libregex dll’s. Then restart the configure script and then the makefile and it will work like a charm.