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@
41 INCLUDES+=-I@abs_top_srcdir@/lib
42 INCLUDES+=-I@abs_top_srcdir@/xbmc
43 INCLUDES+=-I@abs_top_srcdir@/xbmc/addons/include
44 INCLUDES+=-I@abs_top_srcdir@/addons/library.kodi.guilib
45 INCLUDES+=-I@abs_top_srcdir@/addons/library.xbmc.addon
46 INCLUDES+=-I@abs_top_srcdir@/addons/library.kodi.adsp
47 INCLUDES+=-I@abs_top_srcdir@/addons/library.kodi.audioengine
48 INCLUDES+=-I@abs_top_srcdir@/addons/library.xbmc.pvr
49 INCLUDES+=-I@abs_top_srcdir@/addons/library.xbmc.codec
50 INCLUDES+=$(sort @INCLUDES@)
51 INCLUDES+=-I@abs_top_srcdir@/xbmc/linux
52 INCLUDES+=-I@abs_top_srcdir@/xbmc/cores/dvdplayer
56 -D__STDC_CONSTANT_MACROS \
57 -DBIN_INSTALL_PATH="\"$(libdir)/@APP_NAME_LC@\"" \
58 -DINSTALL_PATH="\"$(datarootdir)/@APP_NAME_LC@\"" \
63 ifeq ($(findstring osx,$(ARCH)), osx)
64 INCLUDES+=-I@abs_top_srcdir@/xbmc/osx
67 ifeq ($(ARCH), powerpc-osx)
72 SILENT_CPP=@echo "CPP $(rel_top_srcdir)$@";
73 SILENT_CC =@echo "CC $(rel_top_srcdir)$@";
74 SILENT_S =@echo "S $(rel_top_srcdir)$@";
75 SILENT_GCH=@echo "GCH $(rel_top_srcdir)$@";
76 SILENT_MM =@echo "MM $(rel_top_srcdir)$@";
77 SILENT_AR =@echo "AR $(rel_top_srcdir)$@";
78 SILENT_LD =@echo "LD $(rel_top_srcdir)$@";
81 OBJS+=$(filter %.o,$(SRCS:.cpp=.o))
82 OBJS+=$(filter %.o,$(SRCS:.c=.o))
83 OBJS+=$(filter %.o,$(SRCS:.S=.o))
84 OBJS+=$(filter %.o,$(SRCS:.mm=.o))
85 OBJS+=$(filter %.o,$(SRCS:.m=.o))
87 DEPS+=$(filter %.P,$(OBJS:.o=.P))
91 && sed -e 's/\#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
92 -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P \
94 || ( rm -f $*.P $@ && exit 1 )
98 $(SILENT_CPP) $(CXX) -MF $*.d -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $(CPPFLAGS) $< -o $@ \
103 $(SILENT_CPP) $(CXX) -MF $*.d -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $(CPPFLAGS) $< -o $@ \
108 $(SILENT_CC) $(CC) -MF $*.d -MD -c $(CFLAGS) $(DEFINES) $(INCLUDES) $(CPPFLAGS) $< -o $@ \
113 $(SILENT_CPP) $(CXX) -MF $*.d -MD -c $(CFLAGS) $(DEFINES) $(INCLUDES) $(CPPFLAGS) $< -o $@ \
118 $(SILENT_CC) $(CC) -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@
122 $(SILENT_GCH) $(CXX) -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@
126 $(SILENT_MM) $(CC) -MF $*.d -MD -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
131 $(SILENT_MM) $(CXX) -MF $*.d -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
135 .PHONY : lib pch clean distclean distclean_evil check testsuite
138 $(SILENT_AR) $(AR) $(ARFLAGS) $(LIB) $(OBJS)
140 pch: $(PCH:.h=.h.gch)
141 for d in $(DIRS); do (cd "$$d"; $(MAKE) pch ); done
144 $(RM) $(OBJS) *.o $(LIB) $(SLIB) $(CLEAN_FILES) $(PCH:.h=.h.gch) $(DEPS)
145 for d in $(DIRS); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" clean); fi ); done
146 for d in $(CHECK_DIRS) $(GTEST_DIR); do if test -f $$d/Makefile; then $(MAKE) -C $$d $@; fi; done
149 $(RM) $(OBJS) *.o $(LIB) $(SLIB) $(STATICLIB) $(CLEAN_FILES) $(DISTCLEAN_FILES) $(PCH:.h=.h.gch) $(DEPS)
150 for d in $(DIRS); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" distclean || $(MAKE) -C "$$d" clean); fi ); done
151 for d in $(CHECK_DIRS) $(GTEST_DIR); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" $@ || $(MAKE) -C "$$d" clean); fi ); done
152 if [ "$(shell pwd -P)" = "$(abs_top_srcdir)" ] || \
153 [ "$(shell pwd)" = "$(abs_top_srcdir)" ]; then rm -f $(AUTOGENERATED_MAKEFILES) Makefile.include Makefile; fi