6 abs_top_srcdir=@abs_top_srcdir@
7 rel_top_srcdir=$(subst $(abspath $(abs_top_srcdir))/,,$(abspath $(CURDIR))/)
9 exec_prefix=@exec_prefix@
12 libexecdir=@libexecdir@
13 sysconfdir=@sysconfdir@
14 sharedstatedir=@sharedstatedir@
15 localstatedir=@localstatedir@
17 includedir=@includedir@
18 oldincludedir=@oldincludedir@
19 datarootdir=@datarootdir@
24 PACKAGE_TARNAME=@PACKAGE_TARNAME@
35 INCLUDES+=-I@abs_top_srcdir@/lib
36 INCLUDES+=-I@abs_top_srcdir@/xbmc
37 INCLUDES+=-I@abs_top_srcdir@/addons/library.xbmc.gui
38 INCLUDES+=-I@abs_top_srcdir@/addons/library.xbmc.addon
39 INCLUDES+=-I@abs_top_srcdir@/addons/library.xbmc.pvr
40 INCLUDES+=-I@abs_top_srcdir@/addons/library.xbmc.codec
41 INCLUDES+=$(sort @INCLUDES@)
42 ifneq (@USE_EXTERNAL_FFMPEG@,1)
43 INCLUDES+=-I@abs_top_srcdir@/lib/ffmpeg
45 INCLUDES+=-I@abs_top_srcdir@/xbmc/linux
46 INCLUDES+=-I@abs_top_srcdir@/xbmc/cores/dvdplayer
47 ifeq (@USE_OMXPLAYER@,1)
48 INCLUDES+=-I@abs_top_srcdir@/xbmc/cores/AudioEngine
49 INCLUDES+=-I@abs_top_srcdir@/xbmc/cores/AudioEngine/Utils
54 -D__STDC_CONSTANT_MACROS \
55 -DBIN_INSTALL_PATH="\"$(libdir)/xbmc\"" \
56 -DINSTALL_PATH="\"$(datarootdir)/xbmc\"" \
60 ifeq ($(findstring osx,$(ARCH)), osx)
61 INCLUDES+=-I@abs_top_srcdir@/xbmc/osx
64 ifeq ($(ARCH), powerpc-osx)
69 SILENT_CPP=@echo "CPP $(rel_top_srcdir)$@";
70 SILENT_CC =@echo "CC $(rel_top_srcdir)$@";
71 SILENT_S =@echo "S $(rel_top_srcdir)$@";
72 SILENT_GCH=@echo "GCH $(rel_top_srcdir)$@";
73 SILENT_MM =@echo "MM $(rel_top_srcdir)$@";
74 SILENT_AR =@echo "AR $(rel_top_srcdir)$@";
75 SILENT_LD =@echo "LD $(rel_top_srcdir)$@";
78 OBJS+=$(filter %.o,$(SRCS:.cpp=.o))
79 OBJS+=$(filter %.o,$(SRCS:.c=.o))
80 OBJS+=$(filter %.o,$(SRCS:.S=.o))
81 OBJS+=$(filter %.o,$(SRCS:.mm=.o))
82 OBJS+=$(filter %.o,$(SRCS:.m=.o))
84 DEPS+=$(filter %.P,$(OBJS:.o=.P))
88 && sed -e 's/\#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
89 -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P \
91 || ( rm -f $*.P $@ && exit 1 )
95 $(SILENT_CPP) $(CXX) -MF $*.d -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
100 $(SILENT_CPP) $(CXX) -MF $*.d -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
105 $(SILENT_CC) $(CC) -MF $*.d -MD -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
110 $(SILENT_CPP) $(CXX) -MF $*.d -MD -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
115 $(SILENT_CC) $(CC) -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@
119 $(SILENT_GCH) $(CXX) -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@
123 $(SILENT_MM) $(CXX) -MF $*.d -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
128 $(SILENT_MM) $(CXX) -MF $*.d -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
132 .PHONY : lib pch clean distclean distclean_evil check testsuite
135 $(SILENT_AR) $(AR) $(ARFLAGS) $(LIB) $(OBJS)
137 pch: $(PCH:.h=.h.gch)
138 for d in $(DIRS); do (cd "$$d"; $(MAKE) pch ); done
141 $(RM) $(OBJS) *.o $(LIB) $(SLIB) $(CLEAN_FILES) $(PCH:.h=.h.gch) $(DEPS)
142 for d in $(DIRS); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" clean); fi ); done
143 for d in $(CHECK_DIRS) $(GTEST_DIR); do if test -f $$d/Makefile; then $(MAKE) -C $$d $@; fi; done
146 $(RM) $(OBJS) *.o $(LIB) $(SLIB) $(STATICLIB) $(CLEAN_FILES) $(DISTCLEAN_FILES) $(PCH:.h=.h.gch) $(DEPS)
147 for d in $(DIRS); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" distclean || $(MAKE) -C "$$d" clean); fi ); done
148 for d in $(CHECK_DIRS) $(GTEST_DIR); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" $@ || $(MAKE) -C "$$d" clean); fi ); done
149 if [ "$(shell pwd -P)" = "$(abs_top_srcdir)" ] || \
150 [ "$(shell pwd)" = "$(abs_top_srcdir)" ]; then rm -f $(AUTOGENERATED_MAKEFILES) Makefile.include Makefile; fi