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@
31 CXX_FOR_BUILD=@CXX_FOR_BUILD@
33 CC_FOR_BUILD=@CC_FOR_BUILD@
35 CXXFLAGS_FOR_BUILD+=@CXXFLAGS_FOR_BUILD@
37 CFLAGS_FOR_BUILD+=@CFLAGS_FOR_BUILD@
39 LDFLAGS_FOR_BUILD+=@LDFLAGS_FOR_BUILD@
40 INCLUDES+=-I@abs_top_srcdir@/lib
41 INCLUDES+=-I@abs_top_srcdir@/xbmc
42 INCLUDES+=-I@abs_top_srcdir@/addons/library.xbmc.gui
43 INCLUDES+=-I@abs_top_srcdir@/addons/library.xbmc.addon
44 INCLUDES+=-I@abs_top_srcdir@/addons/library.xbmc.pvr
45 INCLUDES+=-I@abs_top_srcdir@/addons/library.xbmc.codec
46 INCLUDES+=$(sort @INCLUDES@)
47 ifneq (@USE_EXTERNAL_FFMPEG@,1)
48 INCLUDES+=-I@abs_top_srcdir@/lib/ffmpeg
50 INCLUDES+=-I@abs_top_srcdir@/xbmc/linux
51 INCLUDES+=-I@abs_top_srcdir@/xbmc/cores/dvdplayer
55 -D__STDC_CONSTANT_MACROS \
56 -DBIN_INSTALL_PATH="\"$(libdir)/xbmc\"" \
57 -DINSTALL_PATH="\"$(datarootdir)/xbmc\"" \
61 ifeq ($(findstring osx,$(ARCH)), osx)
62 INCLUDES+=-I@abs_top_srcdir@/xbmc/osx
65 ifeq ($(ARCH), powerpc-osx)
70 SILENT_CPP=@echo "CPP $(rel_top_srcdir)$@";
71 SILENT_CC =@echo "CC $(rel_top_srcdir)$@";
72 SILENT_S =@echo "S $(rel_top_srcdir)$@";
73 SILENT_GCH=@echo "GCH $(rel_top_srcdir)$@";
74 SILENT_MM =@echo "MM $(rel_top_srcdir)$@";
75 SILENT_AR =@echo "AR $(rel_top_srcdir)$@";
76 SILENT_LD =@echo "LD $(rel_top_srcdir)$@";
79 OBJS+=$(filter %.o,$(SRCS:.cpp=.o))
80 OBJS+=$(filter %.o,$(SRCS:.c=.o))
81 OBJS+=$(filter %.o,$(SRCS:.S=.o))
82 OBJS+=$(filter %.o,$(SRCS:.mm=.o))
83 OBJS+=$(filter %.o,$(SRCS:.m=.o))
85 DEPS+=$(filter %.P,$(OBJS:.o=.P))
89 && sed -e 's/\#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
90 -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P \
92 || ( rm -f $*.P $@ && exit 1 )
96 $(SILENT_CPP) $(CXX) -MF $*.d -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
101 $(SILENT_CPP) $(CXX) -MF $*.d -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
106 $(SILENT_CC) $(CC) -MF $*.d -MD -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
111 $(SILENT_CPP) $(CXX) -MF $*.d -MD -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
116 $(SILENT_CC) $(CC) -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@
120 $(SILENT_GCH) $(CXX) -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@
124 $(SILENT_MM) $(CXX) -MF $*.d -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
129 $(SILENT_MM) $(CXX) -MF $*.d -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
133 .PHONY : lib pch clean distclean distclean_evil check testsuite
136 $(SILENT_AR) $(AR) $(ARFLAGS) $(LIB) $(OBJS)
138 pch: $(PCH:.h=.h.gch)
139 for d in $(DIRS); do (cd "$$d"; $(MAKE) pch ); done
142 $(RM) $(OBJS) *.o $(LIB) $(SLIB) $(CLEAN_FILES) $(PCH:.h=.h.gch) $(DEPS)
143 for d in $(DIRS); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" clean); fi ); done
144 for d in $(CHECK_DIRS) $(GTEST_DIR); do if test -f $$d/Makefile; then $(MAKE) -C $$d $@; fi; done
147 $(RM) $(OBJS) *.o $(LIB) $(SLIB) $(STATICLIB) $(CLEAN_FILES) $(DISTCLEAN_FILES) $(PCH:.h=.h.gch) $(DEPS)
148 for d in $(DIRS); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" distclean || $(MAKE) -C "$$d" clean); fi ); done
149 for d in $(CHECK_DIRS) $(GTEST_DIR); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" $@ || $(MAKE) -C "$$d" clean); fi ); done
150 if [ "$(shell pwd -P)" = "$(abs_top_srcdir)" ] || \
151 [ "$(shell pwd)" = "$(abs_top_srcdir)" ]; then rm -f $(AUTOGENERATED_MAKEFILES) Makefile.include Makefile; fi