added: ticket #8540 - Enable visualizer when playing audio-only files via DVDPlayer...
[xbmc:xbmc-antiquated.git] / Makefile.include.in
1 AR=ar
2 ARFLAGS=crus
3 RM=rm -rf
4 SHELL=/bin/bash
5 ARCH=@ARCH@
6 abs_top_srcdir=@abs_top_srcdir@
7 prefix=@prefix@
8 CXX=@CXX@
9 CC=@CC@
10 CXXFLAGS+=@CXXFLAGS@
11 CXXFLAGS+=@DEBUG_FLAGS@
12 CFLAGS+=@CFLAGS@
13 CFLAGS+=@DEBUG_FLAGS@
14 INCLUDES+=@INCLUDES@
15 DEFINES+= \
16         -D_LINUX \
17         -D_FILE_DEFINED \
18         -D_REENTRANT \
19         -D_LARGEFILE64_SOURCE \
20         -D_FILE_OFFSET_BITS=64 \
21         -DINSTALL_PATH="\"@prefix@/share/xbmc\"" \
22         @SDL_DEFINES@ \
23         @ARCH_DEFINES@ \
24         @DEFS@ \
25
26 ifeq ($(findstring osx,$(ARCH)), osx)
27         export MACOSX_DEPLOYMENT_TARGET=10.4
28 endif
29
30 ifeq ($(ARCH), powerpc-osx)
31         BUNDLE1_O=-lbundle1.o
32 endif
33
34 .cpp.o:
35         @rm -f ${<:.cpp=.o}
36         $(CXX) -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.cpp=.o}
37         @cp $*.d $*.P; \
38           sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
39               -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
40           rm -f $*.d
41
42 .cc.o:
43         @rm -f ${<:.cc=.o}
44         $(CXX) -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.cc=.o}
45         @cp $*.d $*.P; \
46           sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
47               -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
48           rm -f $*.d
49
50 .c.o:
51         @rm -f ${<:.c=.o}
52         $(CC) -MD -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.c=.o}
53         @cp $*.d $*.P; \
54           sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
55               -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
56           rm -f $*.d
57
58 .C.o:
59         @rm -f ${<:.C=.o}
60         $(CC) -MD -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.C=.o}
61         @cp $*.d $*.P; \
62           sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
63               -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
64           rm -f $*.d
65
66 .S.o:
67         rm -f ${<:.S=.o}
68         $(CC) -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.S=.o}
69
70 %.h.gch : %.h
71         $(CXX) -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@
72
73 .m.o:
74         @rm -f ${<:.m=.o}
75         $(CXX) -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.m=.o}
76         @cp $*.d $*.P; \
77           sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
78               -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
79           rm -f $*.d
80
81 .mm.o:
82         @rm -f ${<:.mm=.o}
83         $(CXX) -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.mm=.o}
84         @cp $*.d $*.P; \
85           sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
86               -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
87           rm -f $*.d
88
89 OBJS+=$(filter %.o,$(SRCS:.cpp=.o))
90 OBJS+=$(filter %.o,$(SRCS:.c=.o))
91 OBJS+=$(filter %.o,$(SRCS:.S=.o))
92 OBJS+=$(filter %.o,$(SRCS:.mm=.o))
93 OBJS+=$(filter %.o,$(SRCS:.m=.o))
94
95 .PHONY : lib pch clean distclean distclean_evil
96
97 $(LIB): $(OBJS)
98         $(AR) $(ARFLAGS) $(LIB) $(OBJS)
99
100 pch: $(PCH:.h=.h.gch)
101         for d in $(DIRS); do (cd "$$d"; $(MAKE) pch ); done
102
103 clean: 
104         $(RM) $(OBJS) *.o $(LIB) $(SLIB) $(CLEAN_FILES) $(PCH:.h=.h.gch) $(OBJS:.o=.P)
105         for d in $(DIRS); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" clean); fi ); done
106
107 distclean:
108         $(RM) $(OBJS) *.o $(LIB) $(SLIB) $(STATICLIB) $(CLEAN_FILES) $(DISTCLEAN_FILES) $(PCH:.h=.h.gch) $(OBJS:.o=.P)
109         for d in $(DIRS); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" distclean || $(MAKE) -C "$$d" clean); fi ); done
110         if [ "$(shell pwd -P)" = "$(abs_top_srcdir)" ] || \
111            [ "$(shell pwd)" = "$(abs_top_srcdir)" ]; then rm -f $(AUTOGENERATED_MAKEFILES) Makefile.include Makefile; fi