From cb1bfbad95be184a8c70acd839917ba190c831ca Mon Sep 17 00:00:00 2001 From: James Laird Date: Tue, 2 Apr 2013 00:16:03 +1100 Subject: [PATCH] Makefile: configure for libraries properly --- .gitignore | 3 ++- Makefile | 20 +++++++++++++++++--- config.h | 1 - configure | 33 +++++++++++++++++++++++++++++++++ 4 files changed, 52 insertions(+), 5 deletions(-) delete mode 100644 config.h create mode 100755 configure diff --git a/.gitignore b/.gitignore index a1bfbbe6..b06fcb01 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ -hairtunes shairport *.o +config.mk +config.h diff --git a/Makefile b/Makefile index 629c705b..bb007670 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,20 @@ -SRCS := shairport.c rtsp.c mdns.c audio.c common.c rtp.c player.c alac.c $(wildcard audio_*.c) +ifeq ($(wildcard config.mk),) +$(warning config.mk does not exist, configuring.) +config.mk: + sh ./configure + $(MAKE) shairport +endif -LIBS := -lcrypto -lm -lao -lpthread +-include config.mk + +SRCS := shairport.c rtsp.c mdns.c common.c rtp.c player.c alac.c audio.c audio_dummy.c + +ifdef CONFIG_AO +SRCS += audio_ao.c +endif shairport: $(SRCS) - gcc -ggdb -Wall -Wno-unused-value $(SRCS) $(LIBS) -o shairport + $(CC) $(CFLAGS) $(SRCS) $(LDFLAGS) -o shairport + +clean: + rm shairport diff --git a/config.h b/config.h deleted file mode 100644 index 111a93db..00000000 --- a/config.h +++ /dev/null @@ -1 +0,0 @@ -#define CONFIG_AO diff --git a/configure b/configure new file mode 100755 index 00000000..40304137 --- /dev/null +++ b/configure @@ -0,0 +1,33 @@ +#!/bin/sh + +echo Configuring Shairport + +rm -f config.mk config.h + +LDFLAGS+=" -lm -lpthread" + +if pkg-config openssl 2>/dev/null; then + CFLAGS+=" `pkg-config --cflags openssl`" + LDFLAGS+=" `pkg-config --libs openssl`" +else + echo Guessing OpenSSL linker flags + LDFLAGS+=" -lssl -lcrypto" +fi + +if pkg-config ao 2>/dev/null; then + CFLAGS+=" `pkg-config --cflags ao`" + LDFLAGS+=" `pkg-config --libs ao`" + echo "#define CONFIG_AO" >> config.h + echo "CONFIG_AO=yes" >> config.mk + echo libao found +else + echo libao not found +fi + +echo "CFLAGS+=${CFLAGS}" >> config.mk +echo "LDFLAGS+=${LDFLAGS}" >> config.mk + +echo CFLAGS: ${CFLAGS} +echo LDFLAGS: ${LDFLAGS} + +echo Configure done