1############################################################################################ 2# 3# Makefile For MiniDLNA 4# 5# Author: Michael Jiang 6# Date: 2010.05.01 7# 8# Description: 9# 1. I don't re-configure ffmpeg, jpeg-7, zlib & minidlna , because their Makefiles 10# have been modified by me. Others will be re-configured again if no Makefiles; 11# 2. It should be compiled in Linux2.6 platform only. 12# 3. There are two variables in Makefile which you should take care about. one 13# is $HOST_COMPILE and the other is $HOST. I can't refer to them from ap/config.in, 14# so I make a hard code here. When you want to do a portation please take care 15# them. 16# 17############################################################################################# 18SUBDIRS += zlib-1.2.3 19SUBDIRS += ffmpeg-0.5.1 20SUBDIRS += libogg-1.1.4 21SUBDIRS += libexif-0.6.19 22SUBDIRS += flac-1.2.1 23SUBDIRS += libvorbis-1.2.3 24SUBDIRS += jpeg-7 25SUBDIRS += sqlite-3.6.22 26SUBDIRS += libid3tag-0.15.0b 27#/projects/hnd/tools/linux/hndtools-mipsel-linux-uclibc-4.2.3 28TOOL_CHAIN_PATH=$(TOOLCHAIN) 29#/home/michael/DLNA 30MINI_DLNA_PATH=$(shell pwd) 31 32CFLAGS += -Os 33 34# [FIXME] added by Michael Jiang. 35# The below variables should be modified when you use different platform. 36HOST=arm-brcm-linux-uclibcgnueabi 37HOST_COMPILE=$(HOST)- 38#CROSS_COMPILE=mipsel-linux-uclibc- 39#HOST_COMPILE=mipsel-linux-linux26- 40#CROSS=mipsel-linux-uclibc 41# comments ended, by Michael Jiang. 42 43all: zlib libogg libexif sqlite3 libvorbis flac libid3tag 44 for i in $(SUBDIRS); do \ 45 (cd $$i && make TOOL_CHAIN_PATH=$(TOOL_CHAIN_PATH) \ 46 CROSS_COMPILE=$(CROSS_COMPILE) \ 47 HOST_COMPILE=$(HOST_COMPILE) \ 48 MINI_DLNA_PATH=$(MINI_DLNA_PATH)) \ 49 done 50 make copy 51 (cd minidlna.03.14 && make MINI_DLNA_PATH=$(MINI_DLNA_PATH) \ 52 CROSS_COMPILE=$(CROSS_COMPILE) \ 53 HOST_COMPILE=$(HOST_COMPILE) \ 54 MINI_DLNA_PATH=$(MINI_DLNA_PATH)) 55 cp ./minidlna.03.14/minidlna ./lib/minidlna.exe 56 #make install 57 58zlib: 59 # compile zlib first, bcz. libid3tag needs it for configuration. 60 (cd zlib-1.2.3 && make TOOL_CHAIN_PATH=$(TOOL_CHAIN_PATH) \ 61 CROSS_COMPILE=$(CROSS_COMPILE) \ 62 HOST_COMPILE=$(HOST_COMPILE) \ 63 MINI_DLNA_PATH=$(MINI_DLNA_PATH)) 64 65libogg: 66 if [ ! -f ./libogg-1.1.4/Makefile ];then \ 67 cd libogg-1.1.4 && (./configure --host=$(HOST) CC=$(CROSS_COMPILE)gcc); \ 68 fi 69 70libexif: 71 if [ ! -f ./libexif-0.6.19/Makefile ];then \ 72 cd libexif-0.6.19 && (./configure --host=$(HOST) CC=$(CROSS_COMPILE)gcc); \ 73 fi 74 75sqlite3: 76 if [ ! -f ./sqlite-3.6.22/Makefile ];then \ 77 cd sqlite-3.6.22 && (./configure --host=$(HOST) CC=$(CROSS_COMPILE)gcc CFLAGS=-Os \ 78 --enable-threadsafe ); \ 79 fi 80 81libvorbis: 82 if [ ! -f ./libvorbis-1.2.3/Makefile ];then \ 83 cd libvorbis-1.2.3 && (./configure --host=$(HOST) CC=$(CROSS_COMPILE)gcc \ 84 CFLAGS=-I$(MINI_DLNA_PATH)/libogg-1.1.4/include/ \ 85 LDFLAGS=-L$(MINI_DLNA_PATH)/libogg-1.1.4/src/.libs/ \ 86 ); \ 87 fi 88flac: 89 if [ ! -f ./flac-1.2.1/Makefile ];then \ 90 cd flac-1.2.1 && (./configure --host=$(HOST) CC=$(CROSS_COMPILE)gcc \ 91 CFLAGS=-I$(MINI_DLNA_PATH)/libogg-1.1.4/include/ \ 92 LDFLAGS=-L$(MINI_DLNA_PATH)/libogg-1.1.4/src/.libs/ \ 93 ); \ 94 fi 95 96libid3tag: 97 if [ ! -f ./libid3tag-0.15.0b/Makefile ];then \ 98 cd libid3tag-0.15.0b && (./configure --host=$(HOST) CC=$(CROSS_COMPILE)gcc \ 99 CPPFLAGS=-I$(MINI_DLNA_PATH)/zlib-1.2.3/ \ 100 LDFLAGS=-L$(MINI_DLNA_PATH)/zlib-1.2.3/ \ 101 ); \ 102 fi 103clean: 104 for i in ${SUBDIRS}; do \ 105 (cd $$i; make clean); \ 106 done 107 rm ./lib/libz.so.1 108 rm ./lib/libvorbis.so.0 109 rm ./lib/libFLAC.so.8 110 rm ./lib/libogg.so.0 111 rm ./lib/libexif.so.12 112 rm ./lib/libavutil.so.49 113 rm ./lib/libavdevice.so.52 114 rm ./lib/libavformat.so.52 115 rm ./lib/libavcodec.so.52 116 rm ./lib/libsqlite3.so.0 117 rm ./lib/libjpeg.so.7 118 rm ./lib/libid3tag.so.0 119 rm ./lib/minidlna.exe 120copy: 121 cp ./zlib-1.2.3/libz.so.1.2.3 ./lib/libz.so.1 && \ 122 cp ./libvorbis-1.2.3/lib/.libs/libvorbis.so.0.4.3 ./lib/libvorbis.so.0 && \ 123 cp ./flac-1.2.1/src/libFLAC/.libs/libFLAC.so.8.2.0 ./lib/libFLAC.so.8 && \ 124 cp ./libexif-0.6.19/libexif/.libs/libexif.so.12.3.1 ./lib/libexif.so.12 && \ 125 cp ./libogg-1.1.4/src/.libs/libogg.so.0.6.0 ./lib/libogg.so.0 && \ 126 cp ./ffmpeg-0.5.1/libavutil/libavutil.so.49 ./lib/libavutil.so.49 && \ 127 cp ./ffmpeg-0.5.1/libavdevice/libavdevice.so.52 ./lib/libavdevice.so.52 && \ 128 cp ./ffmpeg-0.5.1/libavformat/libavformat.so.52 ./lib/libavformat.so.52 && \ 129 cp ./ffmpeg-0.5.1/libavcodec/libavcodec.so.52 ./lib/libavcodec.so.52 && \ 130 cp ./sqlite-3.6.22/.libs/libsqlite3.so.0.8.6 ./lib/libsqlite3.so.0 && \ 131 cp ./jpeg-7/.libs/libjpeg.so.7.0.0 ./lib/libjpeg.so.7 && \ 132 cp ./libid3tag-0.15.0b/.libs/libid3tag.so.0.2.0 ./lib/libid3tag.so.0 133 134distclean: 135 cd ./libogg-1.1.4/ && make distclean 136 cd ./libexif-0.6.19/ && make distclean 137 cd ./sqlite-3.6.22/ && make distclean 138 cd ./libvorbis-1.2.3/ && make distclean 139 cd ./libid3tag-0.15.0b/ && make distclean 140 cd ./flac-1.2.1/ && make distclean 141 cd ./zlib-1.2.3/ && make clean 142 cd ./ffmpeg-0.5.1/ && make clean 143 cd ./jpeg-7/ && make clean 144 cd ./minidlna.03.14/ && make clean 145 rm ./lib/*.so.* 146 rm ./lib/minidlna.exe 147 148install: 149 $(CROSS_COMPILE)strip ./lib/* 150 install -m 755 minidlna.03.14/minidlna.conf $(TARGETDIR)/usr/ 151 install -m 755 lib/libz.so.1 $(TARGETDIR)/lib 152 install -m 755 lib/libvorbis.so.0 $(TARGETDIR)/lib 153 install -m 755 lib/libFLAC.so.8 $(TARGETDIR)/lib 154 install -m 755 lib/libexif.so.12 $(TARGETDIR)/lib 155 install -m 755 lib/libogg.so.0 $(TARGETDIR)/lib 156 install -m 755 lib/libavutil.so.49 $(TARGETDIR)/lib 157 install -m 755 lib/libavdevice.so.52 $(TARGETDIR)/lib 158 install -m 755 lib/libavformat.so.52 $(TARGETDIR)/lib 159 install -m 755 lib/libavcodec.so.52 $(TARGETDIR)/lib 160 install -m 755 lib/libsqlite3.so.0 $(TARGETDIR)/lib 161 install -m 755 lib/libjpeg.so.7 $(TARGETDIR)/lib 162 install -m 755 lib/libid3tag.so.0 $(TARGETDIR)/lib 163 install -m 755 lib/minidlna.exe $(TARGETDIR)/usr/sbin/ 164 165 166