aboutsummaryrefslogtreecommitdiff
path: root/lib/libshairport/Makefile
blob: 98e46f2ef25c5a1f84d52a2d7849a0eb11d3f6aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#  A quick and dirty Makefile to download/build and install
#
#  Usage:
#    make
#    sudo make install

# lib name, version
LIBNAME=libshairport
VERSION=1.2.0.20310_lib
SOURCE=$(LIBNAME)-$(VERSION)

# download location and format
BASE_URL=http://mirrors.xbmc.org/build-deps/darwin-libs
ARCHIVE=$(SOURCE).tar.gz 
TARBALLS_LOCATION=.
RETRIEVE_TOOL=/usr/bin/curl
RETRIEVE_TOOL_FLAGS=-Ls --create-dirs --output $(TARBALLS_LOCATION)/$(ARCHIVE)
ARCHIVE_TOOL=tar
ARCHIVE_TOOL_FLAGS=xf

PREFIX ?= /usr/local
LIBSHAIRPORT_CONFIGOPTS ?= --prefix=$(PREFIX)

# configuration settings
CONFIGURE=./configure $(LIBSHAIRPORT_CONFIGOPTS)


SO_NAME=$(SOURCE)/.libs/$(LIBNAME).so

all: $(SO_NAME)

$(TARBALLS_LOCATION)/$(ARCHIVE):
	$(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)

$(SOURCE): $(TARBALLS_LOCATION)/$(ARCHIVE)
	rm -rf $(SOURCE)
	$(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
	echo $(SOURCE) > .gitignore
	cd $(SOURCE); patch -p0 < ../001_add_ao.patch
	cd $(SOURCE); patch -p0 < ../002_fix_install_header.patch
	cd $(SOURCE); patch -p0 < ../003_fix_deadlock.patch
	cd $(SOURCE); patch -p0 < ../004_fix_bad_access.patch
	cd $(SOURCE); patch -p0 < ../005_fix_shutdown.patch
	cd $(SOURCE); patch -p0 < ../006_no_printf.patch
	cd $(SOURCE); patch -p0 < ../007_fix_syslog_defines.patch
	cd $(SOURCE); patch -p0 < ../008-add-missing-libs.patch
	cd $(SOURCE); patch -p0 < ../009_fix_ipv6.patch
	cd $(SOURCE); patch -p0 < ../010_handle_metadata.patch
	cd $(SOURCE); patch -p0 < ../011_fix_ipv4_fallback.patch
	cd $(SOURCE); autoreconf -vif
	cd $(SOURCE); $(CONFIGURE)

$(SO_NAME): $(SOURCE)
	make -j 1 -C $(SOURCE)

install:
	make -C $(SOURCE) install
	ldconfig

clean:
	rm -rf $(SOURCE)
	#make -C $(SOURCE) clean

distclean::
	rm -rf $(SOURCE)