Fixed: Also check for the day prior to the epoch to account for timezone issues when...
[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 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 DEFINES+= \
36         -D_LINUX \
37         -D_FILE_DEFINED \
38         -D__STDC_CONSTANT_MACROS \
39         -DBIN_INSTALL_PATH="\"$(libdir)/xbmc\"" \
40         -DINSTALL_PATH="\"$(datarootdir)/xbmc\"" \
41         @SDL_DEFINES@ \
42         @ARCH_DEFINES@ \
43         @DEFS@ \
44
45 ifeq ($(findstring osx,$(ARCH)), osx)
46         export MACOSX_DEPLOYMENT_TARGET=10.4
47 endif
48
49 ifeq ($(ARCH), powerpc-osx)
50         BUNDLE1_O=-lbundle1.o
51 endif
52
53 .cpp.o:
54         @rm -f ${<:.cpp=.o}
55         $(CXX) -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.cpp=.o}
56         @cp $*.d $*.P; \
57           sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
58               -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
59           rm -f $*.d
60
61 .cc.o:
62         @rm -f ${<:.cc=.o}
63         $(CXX) -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.cc=.o}
64         @cp $*.d $*.P; \
65           sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
66               -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
67           rm -f $*.d
68
69 .c.o:
70         @rm -f ${<:.c=.o}
71         $(CC) -MD -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.c=.o}
72         @cp $*.d $*.P; \
73           sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
74               -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
75           rm -f $*.d
76
77 .C.o:
78         @rm -f ${<:.C=.o}
79         $(CC) -MD -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.C=.o}
80         @cp $*.d $*.P; \
81           sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
82               -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
83           rm -f $*.d
84
85 .S.o:
86         rm -f ${<:.S=.o}
87         $(CC) -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.S=.o}
88
89 %.h.gch : %.h
90         $(CXX) -c $(CFLAGS) $(DEFINES) $(INCLUDES) $< -o $@
91
92 .m.o:
93         @rm -f ${<:.m=.o}
94         $(CXX) -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.m=.o}
95         @cp $*.d $*.P; \
96           sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
97               -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
98           rm -f $*.d
99
100 .mm.o:
101         @rm -f ${<:.mm=.o}
102         $(CXX) -MD -c $(CXXFLAGS) $(DEFINES) $(INCLUDES) $< -o ${<:.mm=.o}
103         @cp $*.d $*.P; \
104           sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
105               -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
106           rm -f $*.d
107
108 OBJS+=$(filter %.o,$(SRCS:.cpp=.o))
109 OBJS+=$(filter %.o,$(SRCS:.c=.o))
110 OBJS+=$(filter %.o,$(SRCS:.S=.o))
111 OBJS+=$(filter %.o,$(SRCS:.mm=.o))
112 OBJS+=$(filter %.o,$(SRCS:.m=.o))
113
114 .PHONY : lib pch clean distclean distclean_evil
115
116 $(LIB): $(OBJS)
117         $(AR) $(ARFLAGS) $(LIB) $(OBJS)
118
119 pch: $(PCH:.h=.h.gch)
120         for d in $(DIRS); do (cd "$$d"; $(MAKE) pch ); done
121
122 clean: 
123         $(RM) $(OBJS) *.o $(LIB) $(SLIB) $(CLEAN_FILES) $(PCH:.h=.h.gch) $(OBJS:.o=.P)
124         for d in $(DIRS); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" clean); fi ); done
125
126 distclean:
127         $(RM) $(OBJS) *.o $(LIB) $(SLIB) $(STATICLIB) $(CLEAN_FILES) $(DISTCLEAN_FILES) $(PCH:.h=.h.gch) $(OBJS:.o=.P)
128         for d in $(DIRS); do (if test -f "$$d/Makefile"; then ($(MAKE) -C "$$d" distclean || $(MAKE) -C "$$d" clean); fi ); done
129         if [ "$(shell pwd -P)" = "$(abs_top_srcdir)" ] || \
130            [ "$(shell pwd)" = "$(abs_top_srcdir)" ]; then rm -f $(AUTOGENERATED_MAKEFILES) Makefile.include Makefile; fi