Merge pull request #8571 from MartijnKaijser/fix_includes
[vuplus_xbmc] / Makefile.include.in
1 AR=@AR@
2 ARFLAGS=crs
3 RM=rm -rf
4 SHELL=@SHELL@
5 ARCH=@ARCH@
6 abs_top_srcdir=@abs_top_srcdir@
7 rel_top_srcdir=$(subst $(abspath $(abs_top_srcdir))/,,$(abspath $(CURDIR))/)
8 prefix=@prefix@
9 exec_prefix=@exec_prefix@
10 bindir=@bindir@
11 sbindir=@sbindir@
12 libexecdir=@libexecdir@
13 sysconfdir=@sysconfdir@
14 sharedstatedir=@sharedstatedir@
15 localstatedir=@localstatedir@
16 libdir=@libdir@
17 includedir=@includedir@
18 oldincludedir=@oldincludedir@
19 datarootdir=@datarootdir@
20 datadir=@datadir@
21 infodir=@infodir@
22 localedir=@localedir@
23 mandir=@mandir@
24 PACKAGE_TARNAME=@PACKAGE_TARNAME@
25 docdir=@docdir@
26 htmldir=@htmldir@
27 dvidir=@dvidir@
28 pdfdir=@pdfdir@
29 psdir=@psdir@
30 CXX=@CXX@
31 CXX_FOR_BUILD=@CXX_FOR_BUILD@
32 CC=@CC@
33 CC_FOR_BUILD=@CC_FOR_BUILD@
34 CXXFLAGS+=@CXXFLAGS@
35 CXXFLAGS_FOR_BUILD+=@CXXFLAGS_FOR_BUILD@
36 CFLAGS+=@CFLAGS@
37 CFLAGS_FOR_BUILD+=@CFLAGS_FOR_BUILD@
38 LDFLAGS+=@LDFLAGS@
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
53 DEFINES+= \
54         @ARCH_DEFINES@ \
55         -D_FILE_DEFINED \
56         -D__STDC_CONSTANT_MACROS \
57         -DBIN_INSTALL_PATH="\"$(libdir)/@APP_NAME_LC@\"" \
58         -DINSTALL_PATH="\"$(datarootdir)/@APP_NAME_LC@\"" \
59         @SDL_DEFINES@ \
60         @UPNP_DEFINES@ \
61         @DEFS@ \
62
63 ifeq ($(findstring osx,$(ARCH)), osx)
64         INCLUDES+=-I@abs_top_srcdir@/xbmc/osx
65 endif
66
67 ifeq ($(ARCH), powerpc-osx)
68         BUNDLE1_O=-lbundle1.o
69 endif
70
71 ifneq ($(V), 1)
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)$@";
79 endif
80
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))
86
87 DEPS+=$(filter %.P,$(OBJS:.o=.P))
88
89 GEN_DEPS=\
90   cp $*.d $*.P \
91   && sed -e 's/\#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
92          -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P \
93   && rm -f $*.d \
94   || ( rm -f $*.P $@ && exit 1 )
95
96 %.o: %.cpp
97         @rm -f $@
98         $(SILENT_CPP) $(CXX) -MF $*.d -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $(CPPFLAGS) $< -o $@ \
99         && $(GEN_DEPS)
100
101 %.o: %.cc
102         @rm -f $@
103         $(SILENT_CPP) $(CXX) -MF $*.d -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $(CPPFLAGS) $< -o $@ \
104         && $(GEN_DEPS)
105
106 %.o: %.c
107         @rm -f $@
108         $(SILENT_CC) $(CC) -MF $*.d -MD -c $(CFLAGS) $(DEFINES) $(INCLUDES) $(CPPFLAGS) $< -o $@ \
109         && $(GEN_DEPS)
110
111 %.o: %.C
112         @rm -f $@
113         $(SILENT_CPP) $(CXX) -MF $*.d -MD -c $(CFLAGS) $(DEFINES) $(INCLUDES) $(CPPFLAGS) $< -o $@ \
114         && $(GEN_DEPS)
115
116 %.o: %.S
117         @rm -f $@
118         $(SILENT_CC) $(CC) -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@
119
120
121 %.h.gch : %.h
122         $(SILENT_GCH) $(CXX) -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@
123
124 %.o: %.m
125         @rm -f $@
126         $(SILENT_MM) $(CC) -MF $*.d -MD -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
127         && $(GEN_DEPS)
128
129 %.o: %.mm
130         @rm -f $@
131         $(SILENT_MM) $(CXX) -MF $*.d -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
132         && $(GEN_DEPS)
133
134
135 .PHONY : lib pch clean distclean distclean_evil check testsuite
136
137 $(LIB): $(OBJS)
138         $(SILENT_AR) $(AR) $(ARFLAGS) $(LIB) $(OBJS)
139
140 pch: $(PCH:.h=.h.gch)
141         for d in $(DIRS); do (cd "$$d"; $(MAKE) pch ); done
142
143 clean: 
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
147
148 distclean:
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