-include ../arch.mk
-include ../../path.mk
-include $(TOPDIR)/.config

HOST=$(CROSS_COMPILE)gnu
pwd = $(shell pwd)

all: zlib iconv gdbm id3tag mtdaapd other mkend  

zlib:
	make -C zlib-1.2.1/
	cp zlib-1.2.1/zlib.h mt-daapd-0.2.4/src
	cp zlib-1.2.1/zconf.h mt-daapd-0.2.4/src

iconv:	
	if [ ! -f ./.configured ]; then \
	cd libiconv-1.9.1 && /bin/sh configure --prefix=$(TARGET)/lib --host=$(HOST) CC=$(CC) AS=$(AS) AR=$(AR) \
	LD=$(LD) RANLIB=$(RANLIB) STRIP=$(STRIP) --enable-static;\
	fi	
	cp libiconv-1.9.1/srclib/Makefile_1 libiconv-1.9.1/srclib/Makefile
	make -C libiconv-1.9.1

gdbm:	
	if [ ! -f ./.configured ]; then \
	cd gdbm-1.8.3 && ./configure --prefix=$(TARGET)/lib --host=$(HOST) --enable-shared \
    --enable-static CC=$(CC); \
	fi
	make -C gdbm-1.8.3

id3tag:
	if [ ! -f ./.configured ]; then \
	cd libid3tag-0.15.0b && /bin/sh configure --prefix=$(TARGET) --host=$(HOST) CC=$(CC) AS=$(AS) AR=$(AR) \
	LD=$(LD) RANLIB=$(RANLIB) STRIP=$(STRIP) CPPFLAGS=-I../zlib-1.2.1/ LDFLAGS=-L../zlib-1.2.1/ --disable-static;\
	cp -f ./patch/frametype.c ./; \
	cp -f ./patch/compat.c ./; \
	fi
	make -C libid3tag-0.15.0b

#we don't want to recheck config, so we touch configure and config.status.
#because configure and config.status have newest date, rechecking will not happen
#(tom, 20111019)
mtdaapd:
	if [ ! -f ./.configured ]; then \
	cd mt-daapd-0.2.4 && /bin/sh configure --prefix=$(TARGET) --host=$(HOST) CC=$(CC) \
	CPPFLAGS="-I$(pwd)/libid3tag-0.15.0b -I$(pwd)/zlib-1.2.1 -I$(pwd)/libiconv-1.9.1/include -I$(pwd)/gdbm-1.8.3" \
	LDFLAGS="-L$(pwd)/libiconv-1.9.1/lib -L$(pwd)/libiconv-1.9.1/lib/.libs -L$(pwd)/gdbm-1.8.3/.libs -L$(pwd)/libid3tag-0.15.0b/.libs -L$(pwd)/zlib-1.2.1" \
	LIBS=$(pwd)/libiconv-1.9.1/lib/.libs/*.o --with-id3tag=$(pwd)/libid3tag-0.15.0b --disable-mdns; \
	fi
	touch mt-daapd-0.2.4/configure
	touch mt-daapd-0.2.4/config.status
	make -C mt-daapd-0.2.4

other:	
	make -C mDNSResponder-320.5.1


mkend:
	touch ./.configured;

install:
	if test ! -s "$(TARGET)/lib/libiconv.so.2.2.0"; \
	then cp libiconv-1.9.1/lib/.libs/libiconv.so.2.2.0 $(TARGET)/lib/. ;\
	ln -s -f /lib/libiconv.so.2.2.0 $(TARGET)/lib/libiconv.so.2 ;\
	fi
	
	if test ! -s "$(TARGET)/lib/libid3tag.so.0"; \
	then make -C libid3tag-0.15.0b/ install ;\
	rm -rf $(TARGET)/lib/include; \
	fi
	
	cp -f gdbm-1.8.3/.libs/libgdbm.so.3.0.0 $(TARGET)/lib/libgdbm.so.3
	cp -rf mt-daapd-0.2.4/admin-root/ $(TARGET)/etc/admin-root
	$(STRIP) mt-daapd-0.2.4/src/mt-daapd
	cp mt-daapd-0.2.4/src/mt-daapd $(TARGET)/sbin/.
	cp mt-daapd-0.2.4/contrib/mt-daapd.conf $(TARGET)/var/.
	ln -f -s /var/mt-daapd.conf $(TARGET)/etc/mt-daapd.conf
	$(STRIP) mDNSResponder-320.5.1/mDNSPosix/build/prod/mDNSResponderPosix
	make -C  mDNSResponder-320.5.1/ install

clean:
	make -C zlib-1.2.1/ clean
	make -C libiconv-1.9.1 clean
	make -C libid3tag-0.15.0b/ clean
	make -C gdbm-1.8.3 clean
	make -C mt-daapd-0.2.4/ clean
	make -C mDNSResponder-320.5.1/ clean
	rm -f .configured

clean_config:
	rm -f .configured

.PHONY: all install clean zlib iconv gdbm id3tag mtdaapd other mkend clean_config
