1 # $Id: Makefile,v 1.30 2011/02/17 23:17:24 jmaggard Exp $
3 # http://sourceforge.net/projects/minidlna/
4 # (c) 2008-2009 Justin Maggard
5 # for use with GNU Make
7 # $ DESTDIR=/dummyinstalldir make install
9 # $ INSTALLPREFIX=/usr/local make install
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 \
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
36 #STATIC_LINKING: CFLAGS += -DSTATIC
37 #STATIC_LINKING: LDFLAGS = -static
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
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 \
70 $(TOP
)/ffmpeg
/libavformat
/libavformat.a \
71 $(TOP
)/ffmpeg
/libavcodec
/libavcodec.a \
72 $(TOP
)/ffmpeg
/libavutil
/libavutil.a
77 TESTUPNPDESCGENOBJS
= testupnpdescgen.o upnpdescgen.o
79 EXECUTABLES
= minidlna testupnpdescgen
81 .PHONY
: all clean distclean install depend
88 $(RM
) testupnpdescgen.o
94 $(INSTALL
) -D minidlna
$(INSTALLDIR
)/usr
/sbin
/minidlna
95 $(STRIP
) $(INSTALLDIR
)/usr
/sbin
/minidlna
97 minidlna
: $(BASEOBJS
) $(LNXOBJS
)
99 @
$(CC
) $(CFLAGS
) $(LDFLAGS
) -o
$@
$(BASEOBJS
) $(LNXOBJS
) $(LIBS
)
102 testupnpdescgen
: $(TESTUPNPDESCGENOBJS
)
104 @
$(CC
) $(CFLAGS
) -o
$@
$(TESTUPNPDESCGENOBJS
)
107 makedepend
-f
$(MAKEFILE_LIST
) -Y \
108 $(ALLOBJS
:.o
=.c
) $(TESTUPNPDESCGENOBJS
:.o
=.c
) 2>/dev
/null
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
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
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
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