Merge pull request #1801 from singular0/master
[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 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 CC=@CC@
32 CXXFLAGS+=@CXXFLAGS@
33 CFLAGS+=@CFLAGS@
34 LDFLAGS+=@LDFLAGS@
35 INCLUDES+=-I@abs_top_srcdir@/lib
36 INCLUDES+=-I@abs_top_srcdir@/xbmc
37 INCLUDES+=$(sort @INCLUDES@)
38 ifneq (@USE_EXTERNAL_FFMPEG@,1)
39         INCLUDES+=-I@abs_top_srcdir@/lib/ffmpeg
40 endif
41 INCLUDES+=-I@abs_top_srcdir@/xbmc/linux
42 INCLUDES+=-I@abs_top_srcdir@/xbmc/cores/dvdplayer
43 ifeq (@USE_OMXPLAYER@,1)
44 INCLUDES+=-I@abs_top_srcdir@/xbmc/cores/AudioEngine
45 INCLUDES+=-I@abs_top_srcdir@/xbmc/cores/AudioEngine/Utils
46 endif
47 DEFINES+= \
48         @ARCH_DEFINES@ \
49         -D_FILE_DEFINED \
50         -D__STDC_CONSTANT_MACROS \
51         -DBIN_INSTALL_PATH="\"$(libdir)/xbmc\"" \
52         -DINSTALL_PATH="\"$(datarootdir)/xbmc\"" \
53         @SDL_DEFINES@ \
54         @DEFS@ \
55
56 ifeq ($(findstring osx,$(ARCH)), osx)
57         INCLUDES+=-I@abs_top_srcdir@/xbmc/osx
58 endif
59
60 ifeq ($(ARCH), powerpc-osx)
61         BUNDLE1_O=-lbundle1.o
62 endif
63
64 ifneq ($(V), 1)
65         SILENT_CPP=@echo "CPP     $(rel_top_srcdir)$@";
66         SILENT_CC =@echo "CC      $(rel_top_srcdir)$@";
67         SILENT_S  =@echo "S       $(rel_top_srcdir)$@";
68         SILENT_GCH=@echo "GCH     $(rel_top_srcdir)$@";
69         SILENT_MM =@echo "MM      $(rel_top_srcdir)$@";
70         SILENT_AR =@echo "AR      $(rel_top_srcdir)$@";
71         SILENT_LD =@echo "LD      $(rel_top_srcdir)$@";
72 endif
73
74 OBJS+=$(filter %.o,$(SRCS:.cpp=.o))
75 OBJS+=$(filter %.o,$(SRCS:.c=.o))
76 OBJS+=$(filter %.o,$(SRCS:.S=.o))
77 OBJS+=$(filter %.o,$(SRCS:.mm=.o))
78 OBJS+=$(filter %.o,$(SRCS:.m=.o))
79
80 DEPS+=$(filter %.P,$(OBJS:.o=.P))
81
82 GEN_DEPS=\
83   cp $*.d $*.P \
84   && sed -e 's/\#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
85          -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P \
86   && rm -f $*.d \
87   || ( rm -f $*.P $@ && exit 1 )
88
89 %.o: %.cpp
90         @rm -f $@
91         $(SILENT_CPP) $(CXX) -MF $*.d -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
92         && $(GEN_DEPS)
93
94 %.o: %.cc
95         @rm -f $@
96         $(SILENT_CPP) $(CXX) -MF $*.d -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
97         && $(GEN_DEPS)
98
99 %.o: %.c
100         @rm -f $@
101         $(SILENT_CC) $(CC) -MF $*.d -MD -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
102         && $(GEN_DEPS)
103
104 %.o: %.C
105         @rm -f $@
106         $(SILENT_CPP) $(CXX) -MF $*.d -MD -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
107         && $(GEN_DEPS)
108
109 %.o: %.S
110         @rm -f $@
111         $(SILENT_CC) $(CC) -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@
112
113
114 %.h.gch : %.h
115         $(SILENT_GCH) $(CXX) -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@
116
117 %.o: %.m
118         @rm -f $@
119         $(SILENT_MM) $(CXX) -MF $*.d -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
120         && $(GEN_DEPS)
121
122 %.o: %.mm
123         @rm -f $@
124         $(SILENT_MM) $(CXX) -MF $*.d -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o $@ \
125         && $(GEN_DEPS)
126
127
128 .PHONY : lib pch clean distclean distclean_evil check testsuite
129
130 $(LIB): $(OBJS)
131         $(SILENT_AR) $(AR) $(ARFLAGS) $(LIB) $(OBJS)
132
133 pch: $(PCH:.h=.h.gch)
134         for d in $(DIRS); do (cd "$$d"; $(MAKE) pch ); done
135
136 clean: 
137         $(RM) $(OBJS) *.o $(LIB) $(SLIB) $(CLEAN_FILES) $(PCH:.h=.h.gch) $(DEPS)
138         for d in $(DIRS); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" clean); fi ); done
139         for d in $(CHECK_DIRS) $(GTEST_DIR); do if test -f $$d/Makefile; then $(MAKE) -C $$d $@; fi; done
140
141 distclean:
142         $(RM) $(OBJS) *.o $(LIB) $(SLIB) $(STATICLIB) $(CLEAN_FILES) $(DISTCLEAN_FILES) $(PCH:.h=.h.gch) $(DEPS)
143         for d in $(DIRS); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" distclean || $(MAKE) -C "$$d" clean); fi ); done
144         for d in $(CHECK_DIRS) $(GTEST_DIR); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" $@ || $(MAKE) -C "$$d" clean); fi ); done
145         if [ "$(shell pwd -P)" = "$(abs_top_srcdir)" ] || \
146            [ "$(shell pwd)" = "$(abs_top_srcdir)" ]; then rm -f $(AUTOGENERATED_MAKEFILES) Makefile.include Makefile; fi