Merge branch 'single_query_playcounts'
[vuplus_xbmc] / Makefile.include.in
1 AR=ar
2 ARFLAGS=crus
3 RM=rm -rf
4 SHELL=@SHELL@
5 ARCH=@ARCH@
6 abs_top_srcdir=@abs_top_srcdir@
7 prefix=@prefix@
8 exec_prefix=@exec_prefix@
9 bindir=@bindir@
10 sbindir=@sbindir@
11 libexecdir=@libexecdir@
12 sysconfdir=@sysconfdir@
13 sharedstatedir=@sharedstatedir@
14 localstatedir=@localstatedir@
15 libdir=@libdir@
16 includedir=@includedir@
17 oldincludedir=@oldincludedir@
18 datarootdir=@datarootdir@
19 datadir=@datadir@
20 infodir=@infodir@
21 localedir=@localedir@
22 mandir=@mandir@
23 PACKAGE_TARNAME=@PACKAGE_TARNAME@
24 docdir=@docdir@
25 htmldir=@htmldir@
26 dvidir=@dvidir@
27 pdfdir=@pdfdir@
28 psdir=@psdir@
29 CXX=@CXX@
30 CC=@CC@
31 CXXFLAGS+=@CXXFLAGS@
32 CFLAGS+=@CFLAGS@
33 LDFLAGS+=@LDFLAGS@
34 INCLUDES+=$(sort @INCLUDES@)
35 INCLUDES+=-I@abs_top_srcdir@/lib
36 INCLUDES+=-I@abs_top_srcdir@/xbmc
37 ifneq (@USE_EXTERNAL_FFMPEG@,1)
38         INCLUDES+=-I@abs_top_srcdir@/lib/ffmpeg
39 endif
40 INCLUDES+=-I@abs_top_srcdir@/xbmc/linux
41 DEFINES+= \
42         -D_LINUX \
43         -D_FILE_DEFINED \
44         -D__STDC_CONSTANT_MACROS \
45         -DBIN_INSTALL_PATH="\"$(libdir)/xbmc\"" \
46         -DINSTALL_PATH="\"$(datarootdir)/xbmc\"" \
47         @SDL_DEFINES@ \
48         @ARCH_DEFINES@ \
49         @DEFS@ \
50
51 ifeq ($(findstring osx,$(ARCH)), osx)
52         export MACOSX_DEPLOYMENT_TARGET=10.4
53         INCLUDES+=-I@abs_top_srcdir@/xbmc/osx
54 endif
55
56 ifeq ($(ARCH), powerpc-osx)
57         BUNDLE1_O=-lbundle1.o
58 endif
59
60 ifneq ($(V), 1)
61         SILENT_CPP=@echo "CPP     $@";
62         SILENT_CC =@echo "CC      $@";
63         SILENT_S  =@echo "S       $@";
64         SILENT_GCH=@echo "GCH     $@";
65         SILENT_MM =@echo "MM      $@";
66         SILENT_AR =@echo "AR      $@";
67 endif
68
69
70 .cpp.o:
71         @rm -f ${<:.cpp=.o}
72         $(SILENT_CPP) $(CXX) -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.cpp=.o}
73         @cp $*.d $*.P; \
74           sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
75               -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
76           rm -f $*.d
77
78 .cc.o:
79         @rm -f ${<:.cc=.o}
80         $(SILENT_CC) $(CXX) -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.cc=.o}
81         @cp $*.d $*.P; \
82           sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
83               -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
84           rm -f $*.d
85
86 .c.o:
87         @rm -f ${<:.c=.o}
88         $(SILENT_CC) $(CC) -MD -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.c=.o}
89         @cp $*.d $*.P; \
90           sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
91               -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
92           rm -f $*.d
93
94 .C.o:
95         @rm -f ${<:.C=.o}
96         $(SILENT_CC) $(CC) -MD -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.C=.o}
97         @cp $*.d $*.P; \
98           sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
99               -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
100           rm -f $*.d
101
102 .S.o:
103         @rm -f ${<:.S=.o}
104         $(SILENT_CC) $(CC) -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.S=.o}
105
106 %.h.gch : %.h
107         $(SILENT_GCH) $(CXX) -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@
108
109 .m.o:
110         @rm -f ${<:.m=.o}
111         $(SILENT_MM) $(CXX) -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.m=.o}
112         @cp $*.d $*.P; \
113           sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
114               -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
115           rm -f $*.d
116
117 .mm.o:
118         @rm -f ${<:.mm=.o}
119         $(SILENT_MM) $(CXX) -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.mm=.o}
120         @cp $*.d $*.P; \
121           sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
122               -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
123           rm -f $*.d
124
125 OBJS+=$(filter %.o,$(SRCS:.cpp=.o))
126 OBJS+=$(filter %.o,$(SRCS:.c=.o))
127 OBJS+=$(filter %.o,$(SRCS:.S=.o))
128 OBJS+=$(filter %.o,$(SRCS:.mm=.o))
129 OBJS+=$(filter %.o,$(SRCS:.m=.o))
130
131 .PHONY : lib pch clean distclean distclean_evil
132
133 $(LIB): $(OBJS)
134         $(SILENT_AR) $(AR) $(ARFLAGS) $(LIB) $(OBJS)
135
136 pch: $(PCH:.h=.h.gch)
137         for d in $(DIRS); do (cd "$$d"; $(MAKE) pch ); done
138
139 clean: 
140         $(RM) $(OBJS) *.o $(LIB) $(SLIB) $(CLEAN_FILES) $(PCH:.h=.h.gch) $(OBJS:.o=.P)
141         for d in $(DIRS); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" clean); fi ); done
142
143 distclean:
144         $(RM) $(OBJS) *.o $(LIB) $(SLIB) $(STATICLIB) $(CLEAN_FILES) $(DISTCLEAN_FILES) $(PCH:.h=.h.gch) $(OBJS:.o=.P)
145         for d in $(DIRS); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" distclean || $(MAKE) -C "$$d" clean); fi ); done
146         if [ "$(shell pwd -P)" = "$(abs_top_srcdir)" ] || \
147            [ "$(shell pwd)" = "$(abs_top_srcdir)" ]; then rm -f $(AUTOGENERATED_MAKEFILES) Makefile.include Makefile; fi