1# $Id: Makefile,v 1.24 2010/01/13 21:15:07 jmaggard Exp $ 2# MiniDLNA project 3# http://sourceforge.net/projects/minidlna/ 4# (c) 2008-2009 Justin Maggard 5# for use with GNU Make 6# To install use : 7# $ PREFIX=/dummyinstalldir make install 8# or : 9# $ INSTALLPREFIX=/usr/local make install 10# or : 11# $ make install 12# 13#CFLAGS = -Wall -O -D_GNU_SOURCE -g -DDEBUG 14#CFLAGS = -Wall -g -Os -D_GNU_SOURCE 15CFLAGS = -Wall -g -O3 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D__sparc__\ 16 -I$(MINI_DLNA_PATH)/ffmpeg-0.5.1 \ 17 -I$(MINI_DLNA_PATH)/ffmpeg-0.5.1/libavutil \ 18 -I$(MINI_DLNA_PATH)/ffmpeg-0.5.1/libavcodec \ 19 -I$(MINI_DLNA_PATH)/ffmpeg-0.5.1/libavformat \ 20 -I$(MINI_DLNA_PATH)/sqlite-3.6.22 \ 21 -I$(MINI_DLNA_PATH)/libexif-0.6.19 \ 22 -I$(MINI_DLNA_PATH)/libid3tag-0.15.0b \ 23 -I$(MINI_DLNA_PATH)/libogg-1.1.4/include/ \ 24 -I$(MINI_DLNA_PATH)/libvorbis-1.2.3/include/ \ 25 -I$(MINI_DLNA_PATH)/jpeg-7 \ 26 -I$(MINI_DLNA_PATH)/flac-1.2.1/include/ \ 27 -L$(MINI_DLNA_PATH)/lib/ 28 29# -I/usr/include/ffmpeg \ 30# -I/usr/include/libavutil -I/usr/include/libavcodec -I/usr/include/libavformat \ 31# -I/usr/include/ffmpeg/libavutil -I/usr/include/ffmpeg/libavcodec -I/usr/include/ffmpeg/libavformat 32#STATIC_LINKING: LDFLAGS = -static 33 34ifeq ($(PROFILE),WNDR4500REV) 35CFLAGS += -DWNDR4500REV 36endif 37 38CC = $(CROSS_COMPILE)gcc 39RM = rm -f 40INSTALL = install 41 42INSTALLPREFIX ?= $(PREFIX)/usr 43SBININSTALLDIR = $(INSTALLPREFIX)/sbin 44ETCINSTALLDIR = $(PREFIX)/etc 45 46BASEOBJS = minidlna.o upnphttp.o upnpdescgen.o upnpsoap.o \ 47 upnpreplyparse.o minixml.o \ 48 getifaddr.o daemonize.o upnpglobalvars.o \ 49 options.o minissdp.o uuid.o upnpevents.o \ 50 sql.o utils.o metadata.o scanner.o inotify.o \ 51 tivo_utils.o tivo_beacon.o tivo_commands.o \ 52 tagutils/textutils.o tagutils/misc.o tagutils/tagutils.o \ 53 playlist.o image_utils.o albumart.o log.o 54 55ALLOBJS = $(BASEOBJS) $(LNXOBJS) 56 57#-lexif 58 59LIBS = -lpthread -lexif -ljpeg -lsqlite3 -lavformat -lid3tag -lFLAC -lvorbis 60#STATIC_LINKING: LIBS = -lvorbis -logg -lm -lsqlite3 -lpthread -lexif -ljpeg -lFLAC -lm -lid3tag -lz -lavformat -lavutil -lavcodec -lm 61 62#TESTUPNPDESCGENOBJS = testupnpdescgen.o upnpdescgen.o 63 64EXECUTABLES = minidlna #testupnpdescgen 65 66.PHONY: all clean install depend 67 68all: $(EXECUTABLES) 69 70clean: 71 $(RM) $(ALLOBJS) 72 $(RM) $(EXECUTABLES) 73 $(RM) testupnpdescgen.o 74 75install: minidlna 76 $(INSTALL) -d $(SBININSTALLDIR) 77 $(INSTALL) minidlna $(SBININSTALLDIR) 78 $(INSTALL) -d $(ETCINSTALLDIR) 79 $(INSTALL) --mode=0644 minidlna.conf $(ETCINSTALLDIR) 80 81minidlna: $(BASEOBJS) $(LNXOBJS) 82 #@echo Linking $@ 83 $(CC) $(CFLAGS) -o $@ $(BASEOBJS) $(LNXOBJS) -Wl,--rpath -Wl,$(MINI_DLNA_PATH)/lib/ $(LIBS) 84 85 86#testupnpdescgen: $(TESTUPNPDESCGENOBJS) 87# @echo Linking $@ 88# @$(CC) $(CFLAGS) -o $@ $(TESTUPNPDESCGENOBJS) 89 90#config.h: genconfig.sh 91# ./genconfig.sh 92 93#depend: config.h 94# makedepend -f$(MAKEFILE_LIST) -Y \ 95# $(ALLOBJS:.o=.c) $(TESTUPNPDESCGENOBJS:.o=.c) 2>/dev/null 96 97# DO NOT DELETE 98 99minidlna.o: config.h upnpglobalvars.h minidlnatypes.h 100minidlna.o: upnphttp.h upnpdescgen.h minidlnapath.h getifaddr.h upnpsoap.h 101minidlna.o: options.h minissdp.h daemonize.h upnpevents.h log.h 102upnphttp.o: config.h upnphttp.h upnpdescgen.h minidlnapath.h upnpsoap.h 103upnphttp.o: upnpevents.h image_utils.h sql.h log.h icons.c 104upnpdescgen.o: config.h upnpdescgen.h minidlnapath.h upnpglobalvars.h 105upnpdescgen.o: minidlnatypes.h upnpdescstrings.h log.h 106upnpsoap.o: config.h upnpglobalvars.h minidlnatypes.h log.h utils.h sql.h 107upnpsoap.o: upnphttp.h upnpsoap.h upnpreplyparse.h getifaddr.h log.h 108upnpreplyparse.o: upnpreplyparse.h minixml.h log.h 109minixml.o: minixml.h 110getifaddr.o: getifaddr.h log.h 111daemonize.o: daemonize.h config.h log.h 112upnpglobalvars.o: config.h upnpglobalvars.h 113upnpglobalvars.o: minidlnatypes.h 114options.o: options.h config.h upnpglobalvars.h 115options.o: minidlnatypes.h 116minissdp.o: config.h upnpdescstrings.h minidlnapath.h upnphttp.h 117minissdp.o: upnpglobalvars.h minidlnatypes.h minissdp.h log.h 118upnpevents.o: config.h upnpevents.h minidlnapath.h upnpglobalvars.h 119upnpevents.o: minidlnatypes.h upnpdescgen.h log.h uuid.h 120uuid.o: uuid.h 121testupnpdescgen.o: config.h upnpdescgen.h 122upnpdescgen.o: config.h upnpdescgen.h minidlnapath.h upnpglobalvars.h 123upnpdescgen.o: minidlnatypes.h upnpdescstrings.h 124scanner.o: upnpglobalvars.h metadata.h utils.h sql.h scanner.h log.h playlist.h 125metadata.o: upnpglobalvars.h metadata.h albumart.h utils.h sql.h log.h 126albumart.o: upnpglobalvars.h albumart.h utils.h image_utils.h sql.h log.h 127tagutils/misc.o: tagutils/misc.h 128tagutils/textutils.o: tagutils/misc.h tagutils/textutils.h log.h 129tagutils/tagutils.o: tagutils/tagutils-asf.c tagutils/tagutils-flc.c tagutils/tagutils-plist.c tagutils/tagutils-misc.c 130tagutils/tagutils.o: tagutils/tagutils-aac.c tagutils/tagutils-asf.h tagutils/tagutils-flc.h tagutils/tagutils-mp3.c tagutils/tagutils-wav.c 131tagutils/tagutils.o: tagutils/tagutils-ogg.c tagutils/tagutils-aac.h tagutils/tagutils.h tagutils/tagutils-mp3.h tagutils/tagutils-ogg.h log.h 132playlist.o: playlist.h 133inotify.o: inotify.h playlist.h 134image_utils.o: image_utils.h 135tivo_utils.o: config.h tivo_utils.h 136tivo_beacon.o: config.h tivo_beacon.h tivo_utils.h 137tivo_commands.o: config.h tivo_commands.h tivo_utils.h utils.h 138utils.o: utils.h 139sql.o: sql.h 140log.o: log.h 141 142.SUFFIXES: .c .o 143 144.c.o: 145 @echo Compiling $*.c 146 @$(CC) $(CFLAGS) -o $@ -c $< && exit 0;\ 147 echo "The following command failed:" 1>&2;\ 148 echo "$(CC) $(CFLAGS) -o $@ -c $<";\ 149 $(CC) $(CFLAGS) -o $@ -c $< &>/dev/null 150