usbmodeswitch: Updated to v.1.2.6 from shibby's branch.
[tomato.git] / release / src / router / minidlna / Makefile
blobc8c7342016dd2f0a48929b2e5e01b20337cfce5c
1 # $Id: Makefile,v 1.31 2011/04/21 08:50:44 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 # $ DESTDIR=/dummyinstalldir make install
8 # or :
9 # $ INSTALLPREFIX=/usr/local make install
10 # or :
11 # $ make install
14 include ../common.mak
16 LDFLAGS = -ffunction-sections -fdata-sections -Wl,--gc-sections
17 #CFLAGS = -Wall -O -D_GNU_SOURCE -g -DDEBUG
18 #CFLAGS = -Wall -g -Os -D_GNU_SOURCE
19 CFLAGS = -Wall -g -Os -D_GNU_SOURCE $(EXTRACFLAGS) -D_FILE_OFFSET_BITS=64 \
20 -ffunction-sections -fdata-sections \
21 -I$(TOP)/ffmpeg/libavutil -I$(TOP)/ffmpeg/libavcodec -I$(TOP)/ffmpeg/libavformat \
22 -I$(TOP)/ffmpeg/libswscale -I$(TOP)/ffmpeg \
23 -I$(TOP)/flac/include -I$(TOP)/sqlite -I$(TOP)/jpeg \
24 -I$(TOP)/libexif -I$(TOP)/libid3tag -I$(TOP)/libogg/include \
25 -I$(TOP)/libvorbis/include \
27 ifneq ($(STATIC),1)
28 CFLAGS += -L$(TOP)/zlib -L$(TOP)/sqlite/.libs -L$(TOP)/jpeg -L$(TOP)/libvorbis/lib/.libs \
29 -L$(TOP)/libogg/src/.libs -L$(TOP)/libexif/libexif/.libs -L$(TOP)/flac/src/libFLAC/.libs \
30 -L$(TOP)/ffmpeg/libavutil -L$(TOP)/ffmpeg/libavcodec -L$(TOP)/ffmpeg/libavformat \
31 -L$(TOP)/libid3tag/.libs
32 LDFLAGS += -static
33 CFLAGS += -DSTATIC
34 endif
36 #STATIC_LINKING: CFLAGS += -DSTATIC
37 #STATIC_LINKING: LDFLAGS = -static
38 #CC = gcc
39 RM = rm -f
40 INSTALL = install
42 INSTALLPREFIX ?= $(DESTDIR)/usr
43 SBININSTALLDIR = $(INSTALLPREFIX)/sbin
44 ETCINSTALLDIR = $(DESTDIR)/etc
46 BASEOBJS = 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
55 ALLOBJS = $(BASEOBJS) $(LNXOBJS)
57 LIBS = -lpthread -lexif -ljpeg -lsqlite3 -lavformat -lavutil -lavcodec -lid3tag -lFLAC -logg -lvorbis
58 #STATIC_LINKING: LIBS = -lvorbis -logg -lm -lsqlite3 -lpthread -lexif -ljpeg -lFLAC -lm -lid3tag -lz -lavformat -lavutil -lavcodec -lm
60 ifeq ($(STATIC),1)
61 LIBS = -lpthread -lm \
62 $(TOP)/libvorbis/lib/.libs/libvorbis.a \
63 $(TOP)/libogg/src/.libs/libogg.a \
64 $(TOP)/sqlite/.libs/libsqlite3.a \
65 $(TOP)/libexif/libexif/.libs/libexif.a \
66 $(TOP)/jpeg/libjpeg.a \
67 $(TOP)/flac/src/libFLAC/.libs/libFLAC.a \
68 $(TOP)/libid3tag/.libs/libid3tag.a \
69 $(TOP)/zlib/libz.a \
70 $(TOP)/ffmpeg/libavformat/libavformat.a \
71 $(TOP)/ffmpeg/libavcodec/libavcodec.a \
72 $(TOP)/ffmpeg/libavutil/libavutil.a
73 else
74 LIBS += -lm -lz
75 endif
77 TESTUPNPDESCGENOBJS = testupnpdescgen.o upnpdescgen.o
79 EXECUTABLES = minidlna testupnpdescgen
81 .PHONY: all clean distclean install depend
83 all: $(EXECUTABLES)
85 clean:
86 $(RM) $(ALLOBJS)
87 $(RM) $(EXECUTABLES)
88 $(RM) testupnpdescgen.o
90 distclean: clean
91 $(RM) config.h
93 install: minidlna
94 $(INSTALL) -D minidlna $(INSTALLDIR)/usr/sbin/minidlna
95 $(STRIP) $(INSTALLDIR)/usr/sbin/minidlna
97 minidlna: $(BASEOBJS) $(LNXOBJS)
98 @echo Linking $@
99 @$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(BASEOBJS) $(LNXOBJS) $(LIBS)
102 testupnpdescgen: $(TESTUPNPDESCGENOBJS)
103 @echo Linking $@
104 @$(CC) $(CFLAGS) -o $@ $(TESTUPNPDESCGENOBJS)
106 depend: config.h
107 makedepend -f$(MAKEFILE_LIST) -Y \
108 $(ALLOBJS:.o=.c) $(TESTUPNPDESCGENOBJS:.o=.c) 2>/dev/null
110 # DO NOT DELETE
112 minidlna.o: config.h upnpglobalvars.h minidlnatypes.h
113 minidlna.o: upnphttp.h upnpdescgen.h minidlnapath.h getifaddr.h upnpsoap.h
114 minidlna.o: options.h minissdp.h daemonize.h upnpevents.h log.h
115 upnphttp.o: config.h upnphttp.h upnpdescgen.h minidlnapath.h upnpsoap.h
116 upnphttp.o: upnpevents.h image_utils.h sql.h log.h icons.c
117 upnpdescgen.o: config.h upnpdescgen.h minidlnapath.h upnpglobalvars.h
118 upnpdescgen.o: minidlnatypes.h upnpdescstrings.h log.h
119 upnpsoap.o: config.h upnpglobalvars.h minidlnatypes.h log.h utils.h sql.h
120 upnpsoap.o: upnphttp.h upnpsoap.h upnpreplyparse.h getifaddr.h log.h
121 upnpreplyparse.o: upnpreplyparse.h minixml.h log.h
122 minixml.o: minixml.h
123 getifaddr.o: getifaddr.h log.h
124 daemonize.o: daemonize.h config.h log.h
125 upnpglobalvars.o: config.h upnpglobalvars.h
126 upnpglobalvars.o: minidlnatypes.h
127 options.o: options.h config.h upnpglobalvars.h
128 options.o: minidlnatypes.h
129 minissdp.o: config.h upnpdescstrings.h minidlnapath.h upnphttp.h
130 minissdp.o: upnpglobalvars.h minidlnatypes.h minissdp.h log.h
131 upnpevents.o: config.h upnpevents.h minidlnapath.h upnpglobalvars.h
132 upnpevents.o: minidlnatypes.h upnpdescgen.h log.h uuid.h
133 uuid.o: uuid.h
134 testupnpdescgen.o: config.h upnpdescgen.h
135 upnpdescgen.o: config.h upnpdescgen.h minidlnapath.h upnpglobalvars.h
136 upnpdescgen.o: minidlnatypes.h upnpdescstrings.h
137 scanner.o: upnpglobalvars.h metadata.h utils.h sql.h scanner.h log.h playlist.h
138 metadata.o: upnpglobalvars.h metadata.h albumart.h utils.h sql.h log.h
139 albumart.o: upnpglobalvars.h albumart.h utils.h image_utils.h sql.h log.h
140 tagutils/misc.o: tagutils/misc.h
141 tagutils/textutils.o: tagutils/misc.h tagutils/textutils.h log.h
142 tagutils/tagutils.o: tagutils/tagutils-asf.c tagutils/tagutils-flc.c tagutils/tagutils-plist.c tagutils/tagutils-misc.c
143 tagutils/tagutils.o: tagutils/tagutils-aac.c tagutils/tagutils-asf.h tagutils/tagutils-flc.h tagutils/tagutils-mp3.c tagutils/tagutils-wav.c
144 tagutils/tagutils.o: tagutils/tagutils-ogg.c tagutils/tagutils-aac.h tagutils/tagutils.h tagutils/tagutils-mp3.h tagutils/tagutils-ogg.h log.h
145 playlist.o: playlist.h
146 inotify.o: inotify.h playlist.h
147 image_utils.o: image_utils.h
148 tivo_utils.o: config.h tivo_utils.h
149 tivo_beacon.o: config.h tivo_beacon.h tivo_utils.h
150 tivo_commands.o: config.h tivo_commands.h tivo_utils.h utils.h
151 utils.o: utils.h
152 sql.o: sql.h
153 log.o: log.h
155 .SUFFIXES: .c .o
157 .c.o:
158 @echo Compiling $*.c
159 @$(CC) $(CFLAGS) -o $@ -c $< && exit 0;\
160 echo "The following command failed:" 1>&2;\
161 echo "$(CC) $(CFLAGS) -o $@ -c $<";\
162 $(CC) $(CFLAGS) -o $@ -c $< &>/dev/null