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
52 ifeq (@USE_OMXPLAYER@,1)
53 INCLUDES+=-I@abs_top_srcdir@/xbmc/cores/AudioEngine
54 INCLUDES+=-I@abs_top_srcdir@/xbmc/cores/AudioEngine/Utils
59 -D__STDC_CONSTANT_MACROS \
60 -DBIN_INSTALL_PATH="\"$(libdir)/xbmc\"" \
61 -DINSTALL_PATH="\"$(datarootdir)/xbmc\"" \
65 ifeq ($(findstring osx,$(ARCH)), osx)
66 INCLUDES+=-I@abs_top_srcdir@/xbmc/osx
69 ifeq ($(ARCH), powerpc-osx)
74 SILENT_CPP=@echo "CPP $(rel_top_srcdir)$@";
75 SILENT_CC =@echo "CC $(rel_top_srcdir)$@";
76 SILENT_S =@echo "S $(rel_top_srcdir)$@";
77 SILENT_GCH=@echo "GCH $(rel_top_srcdir)$@";
78 SILENT_MM =@echo "MM $(rel_top_srcdir)$@";
79 SILENT_AR =@echo "AR $(rel_top_srcdir)$@";
80 SILENT_LD =@echo "LD $(rel_top_srcdir)$@";
83 OBJS+=$(filter %.o,$(SRCS:.cpp=.o))
84 OBJS+=$(filter %.o,$(SRCS:.c=.o))
85 OBJS+=$(filter %.o,$(SRCS:.S=.o))
86 OBJS+=$(filter %.o,$(SRCS:.mm=.o))
87 OBJS+=$(filter %.o,$(SRCS:.m=.o))
89 DEPS+=$(filter %.P,$(OBJS:.o=.P))
93 && sed -e 's/\#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
94 -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P \
96 || ( rm -f $*.P $@ && exit 1 )
100 $(SILENT_CPP) $(CXX) -MF $*.d -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
105 $(SILENT_CPP) $(CXX) -MF $*.d -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
110 $(SILENT_CC) $(CC) -MF $*.d -MD -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
115 $(SILENT_CPP) $(CXX) -MF $*.d -MD -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
120 $(SILENT_CC) $(CC) -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@
124 $(SILENT_GCH) $(CXX) -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@
128 $(SILENT_MM) $(CXX) -MF $*.d -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
133 $(SILENT_MM) $(CXX) -MF $*.d -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
137 .PHONY : lib pch clean distclean distclean_evil check testsuite
140 $(SILENT_AR) $(AR) $(ARFLAGS) $(LIB) $(OBJS)
142 pch: $(PCH:.h=.h.gch)
143 for d in $(DIRS); do (cd "$$d"; $(MAKE) pch ); done
146 $(RM) $(OBJS) *.o $(LIB) $(SLIB) $(CLEAN_FILES) $(PCH:.h=.h.gch) $(DEPS)
147 for d in $(DIRS); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" clean); fi ); done
148 for d in $(CHECK_DIRS) $(GTEST_DIR); do if test -f $$d/Makefile; then $(MAKE) -C $$d $@; fi; done
151 $(RM) $(OBJS) *.o $(LIB) $(SLIB) $(STATICLIB) $(CLEAN_FILES) $(DISTCLEAN_FILES) $(PCH:.h=.h.gch) $(DEPS)
152 for d in $(DIRS); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" distclean || $(MAKE) -C "$$d" clean); fi ); done
153 for d in $(CHECK_DIRS) $(GTEST_DIR); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" $@ || $(MAKE) -C "$$d" clean); fi ); done
154 if [ "$(shell pwd -P)" = "$(abs_top_srcdir)" ] || \
155 [ "$(shell pwd)" = "$(abs_top_srcdir)" ]; then rm -f $(AUTOGENERATED_MAKEFILES) Makefile.include Makefile; fi