CC=gcc # CFLAGS=-Wall -Werror -DSLIMPROTO_DEBUG -g CFLAGS=-Wall -Werror -O3 INCLUDE=-Ilib/portaudio_v18/pa_common -Ilib/portaudio_v18/pablio -Ilib/portmixer/px_common -Isrc PORTAUDIOFILES:=lib/portaudio_v18/pa_unix_oss/pa_unix.c lib/portaudio_v18/pa_unix_oss/pa_unix_oss.c lib/portaudio_v18/pa_common/pa_lib.c lib/portaudio_v18/pa_common/pa_convert.c lib/portaudio_v18/pablio/ringbuffer.c PORTMIXERFILES:=lib/portmixer/px_unix_oss/px_unix_oss.c SLIMPROTOFILES:=src/slimaudio/slimaudio_http.c src/slimaudio/slimaudio_decoder.c src/slimaudio/slimaudio_decoder_flac.c src/slimaudio/slimaudio_decoder_mad.c src/slimaudio/slimaudio_decoder_vorbis.c src/slimaudio/slimaudio_decoder_pcm.c src/slimaudio/slimaudio_output.c src/slimaudio/slimaudio_buffer.c src/slimaudio/slimaudio.c src/slimproto/slimproto.c SQUEEZESLAVEFILES:=src/squeezeslave/squeezeslave.c .c.o: ${CC} $(CFLAGS) -c $(INCLUDE) $< -o $*.o .o: ${CC} $(LDFLAGS) $*.o -o $* -Lpa_unix_oss -lportaudio $(LIBS) all : bin/squeezeslave lib/libportaudio.a: $(PORTAUDIOFILES:.c=.o) ar cru lib/libportaudio.a $^ ranlib lib/libportaudio.a lib/libslimproto.a: $(SLIMPROTOFILES:.c=.o) ar cru lib/libslimproto.a $^ ranlib lib/libslimproto.a bin/squeezeslave : $(SQUEEZESLAVEFILES:.c=.o) $(PORTMIXERFILES:.c=.o) lib/libslimproto.a lib/libportaudio.a ${CC} -o bin/squeezeslave $^ /usr/lib/libmad.a /usr/lib/libFLAC.a /usr/lib/libvorbisfile.a /usr/lib/libvorbis.a /usr/lib/libogg.a -lpthread -lm clean: @{ for FILE in $(PORTAUDIOFILES:.c=.o) \ $(SLIMPROTOFILES:.c=.o) \ $(SQUEEZESLAVEFILES:.c=.o) \ lib/libportaudio.a \ lib/libslimproto.a \ bin/squeezeslave; do \ test -e $$FILE && echo $$FILE || true; \ test -e $$FILE && $(RM) $$FILE 2>/dev/null || true; \ done; } | xargs --no-run-if-empty echo $(RM)